مهندسی ایجنتیک همون کارهاییه که نمیکردیم
خلاصهٔ کاملتر
مت برونل تو پستش یه قیاس جالب میسازه: همونطور که دنیای کریپتو داره مالیهٔ مدرن رو از صفر دوباره کشف میکنه، هیجان این روزها دربارهٔ «مهندسی ایجنتیک» هم در واقع کشف دوبارهٔ کارهاییه که خیلی وقته باید انجام میدادیم. به گفتهٔ او وقتی برای سپردن کار به یه ایجنت، جزئیات و نیازمندیها رو تو ایشوتراکر مینویسی تا ایجنت بتونه اونجا سؤال بپرسه و وضعیت رو بهروز کنه، داری فقط مهندسی نرمافزار معمولی انجام میدی.
نمونههای دیگهای که نویسنده میشمره هم همین شکلیان: داکاسترینگ روی متدها، پولریکوئستهای توضیحدار، مستنداتی که بهروز نگه داشته میشن، تستهای بامعنی، لینت خودکار و قراردادهای کدنویسی مشترک، طراحی و بازخورد گرفتن قبل از پیادهسازی، و گفتوگو تو کانالهای باز و قابلجستوجو بهجای دایرکت. نویسنده میگه خوشحاله که مردم حالا برای انجام این کارها ذوق دارن، ولی حیفش میاد که لازم بوده ایجنتها بیان تا این اتفاق بیفته.
برای اینکه بگه مرز خودکارسازی کجاست، سراغ مفهوم «متیس» از کتاب Seeing Like a State نوشتهٔ جیمز سی. اسکات میره: دانشی که فقط با تمرین طولانی روی کارهای مشابه ولی هیچوقت کاملاً یکسان به دست میاد و همیشه به موقعیت خاص گره خورده. نحو زبان برنامهنویسی یه قرارداد خوشتعریفه و قانونمند کردنش راحته، ولی خیلی از اصول مهندسی آزادترن و قاعدهٔ نوشتهشده هیچوقت جای قضاوت رو نمیگیره — هرچند به گفتهٔ نویسنده یه سیستم خشک نوشتهشده هم از هیچی بهتره.
جمعبندی نویسنده اینه: اگه مهندسی ایجنتیک همون مهندسی معمولیه با رباتها، پس هر چیزی که مهندسی رو سخت میکنه، مهندسی ایجنتیک رو خیلی سختتر میکنه، چون ایجنت اون متیس رو نداره که مثل آدم موقعیت رو مدیریت کنه. پیشنهادش اینه که اگه کار با ایجنتها براتون سخته، اول ببینید مهندسی معمولی هم تو شرکتتون سخت هست یا نه؛ چسبوندن هوش مصنوعی به یه سیستم ناکارآمد چیزی رو درست نمیکنه. از ۱۹۷۵ میدونیم اضافهکردن آدم به پروژهٔ عقبافتاده عقبترش میکنه و اضافهکردن یه آدم قلابی هم بهتر نیست.
نکات کلیدی:
- بیشتر «ترفندهای» مهندسی ایجنتیک، همون کارهای پایهای مهندسی نرمافزارن که زیر فشار زمان حذف میشدن
- ایشوتراکر، مستندات، تست، لینت و طراحی قبل از پیادهسازی حالا بهخاطر ایجنتها جدی گرفته میشن
- ایجنتها «متیس» یا همون دانش موقعیتی رو ندارن و قاعدهٔ نوشتهشده جای قضاوت انسانی رو نمیگیره
- هر چیزی که مهندسی معمولی رو سخت کنه، کار با ایجنتها رو خیلی سختتر میکنه
- هوش مصنوعی یه سازمان یا کدبیس ناکارآمد رو درست نمیکنه




