«قانون بروکس در عصر ایجنتها: چرا ۹ تا ایجنت هم کار رو سریعتر نمیکنه»
نویسنده: آرش لطیفی — موسس The DevArt
قانون معروف بروکس (افزودن نیرو به پروژه عقبافتاده، اون رو عقبتر میکنه) در ۲۰۲۶ و عصر ایجنتها چی میشه؟ تحلیل واقعی بر اساس بحثهای HN.
TL;DR — قانون بروکس از بین نرفته؛ فقط شکلش عوض شده: بهجای مدیریت آدمها، حالا باید ایجنتها رو مدیریت کنی، و «ایجنت اضافه به پروژهای با نیازمندیهای مبهم، جواب اشتباه رو سریعتر میده.»
قانون بروکس چیه و چرا هنوز مهمه
سال ۱۹۷۵ فردی بروکس توی کتاب The Mythical Man-Month نوشت: «افزودن نیروی انسانی به یک پروژه نرمافزاری عقبافتاده، اون رو عقبتر میکنه.» این رو از تجربه مدیریت پروژه IBM OS/360 درآورده بود.
مسئله سادهست: هر آدم جدید یه هزینه «هماهنگی» داره — باید آموزش ببینه، بفهمه چی happening، و بقیه هم وقتی رو صرف توضیح دادن بهش میکنن.
پست دیشب HN و جواب اصلی
دیشب (۲۷ اکتبر) مقالهای با عنوان The Mythical Man-Month in the Age of AI توی Hacker News ۲۳۴ امتیاز گرفت و بحث جالبی راه افتاد. نویسنده تعریف میکنه که ۴ نفر رو دید که سعی میکردن یه لپتاپ رو به مانیتور وصل کنن، و به شوخی گفت «تجربهام اینه که آدم اضافه کردن این کار رو سریعتر نمیکنه.»
نکته اصلی نویسنده اینه که قانون بروکس حذف نشده، فقط جهش کرده:
- کارهای ترتیبی (sequential) هنوز ترتیبین. «۹ تا ایجنت هم نمیتونه یه بچه رو توی یه ماه تحویل بده.»
- هزینه هماهنگی حذف نشده؛ فقط جابهجا شده: بهجای مدیریت آدم، حالا مدیریت ایجنت داری.
- یه کسی هنوز باید تعریف کنه «تمامشده» یعنی چی، کد رو ریویو کنه، توهم (hallucination) رو بگیره و تیکهها رو به هم بدوزه. اون یکی خودتی.
- ۹ تا ایجنت خودمختار رو بنداز رو یه کدبیس بدون orchestration شفاف، و اونها با خوشحالی کارهای هم رو بازنویسی میکنن، توی یه لوپ سریع.
فرمول ۲۰۲۶ نویسنده: «افزودن ایجنت به پروژهای با نیازمندیهای مبهم، جواب اشتباه رو سریعتر بهت میده.»
چیزی که کامنتهای HN اضافه کردن
بحث زیر پست واقعا آموزنده بود:
- یکی نوشت برای فریلنسر تکنفره، هزینه اصلی هنوز روی «هماهنگی و فهمیدن» نه تایپ کردنه: ایجنت تولید کد رو ارزون میکنه، ولی ریویو کردن، منسجم نگه داشتن طراحی و یادآوری اینکه چرا یه چیزی انجام شده، هنوز همون توجه رو میخواد. تسکهای کوچیک و محدود با تست خوب جواب میدن؛ تغییرات باز و چند-فایلی، بازبینی سختتری میسازن.
- یه نظر جالب دیگه: ایجنتها برای «کاوش فضای مسئله» عالی هستن — ریورس انجینیرing، بهینهسازی پرفورمنس، کارهای تکراری و پرتلاش. ولی این فضای خیلی کوچیکتری از چیزیه که برایش فروش میره.
- یه نفر هم برعکس گفت: وقتی نیازمندیها مبهمه، «جواب اشتباهِ سریع» حالا بهترین راه فهمیدن نیازمندی درسته — چون سریع میفهمی چی نمیخوای.
جدول: کجا ایجنت اضافه کن، کجا نکن
| موقعیت | ایجنت اضافه کن؟ | چرا | |---|---|---| | تسکهای مستقل و کوچیک با تست واضح | بله | هزینه هماهنگی تقریبا صفره | | کاوش مسئله، ریورس انجینیرing، بهینهسازی | بله، حتی بهصورت swarm | خطا ارزونه و trial-and-error مفیده | | کار ترتیبی (مهاجرت مرحلهای، دیباگ زنجیرهای) | نه بیشتر از یکی | موازی کردنش سرعت رو کم میکنه | | نیازمندی مبهم، طراحی کلی محصول | اول خودت تعریف کن | ایجنت سریع اشتباه میسازه | | ریویو و تصمیم نهایی | خودت | مسئولیت و درک، تفویضشدنی نیست |
چکلیست قبل از اضافه کردن ایجنت
- [ ] میتونی تو یه جمله تعریف کنی «تمام شده» یعنی چی؟
- [ ] هر ایجنت یه حوزه مالکیت مشخص داره (کدوم فایلها/ماژولها)؟
- [ ] نقطه ادغام (merge) و مرز بین ایجنتها شفافه؟
- [ ] تست یا معیار عینی برای قبول خروجی داری؟
- [ ] کار واقعا موازیپذیره، یا ترتیبیه؟
- [ ] کی خروجی نهایی رو ریویو میکنه؟ (جواب نباید «هیشکی» باشه)
برای فروشگاه و تیم کوچیک یعنی چی
اینجاست که این بحث برای کسبوکارهای ایرانی هم مفیده. اگه فکر میکنی «چند تا دستیار هوشمند» میذارم روی فروش، محتوا و پشتیبانی و کارها سریعتر میشه، یادت باشه قانون بروکس هنوز سر جاشه: هماهنگی و کیفیت خروجی، گلوگاهه، نه تعداد ایجنت. یه ایجنت با دستورالعمل شفاف و بازبینی روزانه، از ۵ تا ایجنت بدون orchestration بهتر جواب میده. همین منطق رو توی مقاله مهندسی نرمافزار و طبقه متوسط AI هم به شکل دیگهای دیدیم: ارزش انسانی به سمت داوری و طراحی کلی میره، نه تولید خام.
Q: قانون بروکس با ایجنتها هنوز درسته؟
درسته ولی جهش کرده. هزینه هماهنگی حذف نشده؛ از «مدیریت آدم» به «مدیریت ایجنت و ریویو خروجی» منتقل شده. بخش ترتیبی کارها هم هنوز موازیشدنی نیست.
Q: چند تا ایجنت همزمان منطقیه؟
به تعداد تسکهایی که واقعا مستقل هستن و مرز و تست شفاف دارن. اگه دو تا ایجنت باید روی یه فایل کار کنن، عملا داری هماهنگی میخری نه سرعت.
Q: از کجا شروع کنم بدون هدر دادن هزینه؟
اول یه تسک کوچیک و قابل تست رو به یه ایجنت بده، خروجی رو کامل ریویو کن، بعد فقط اگه ریویو سبک بود، تسکهای موازی اضافه کن.