ایجنتهای هوش مصنوعی و کدهای قدیمی
خلاصهٔ کاملتر
نویسنده، ادی اوسمانی، میگه فرق کدبیسهای قدیمی (brownfield) با پروژههای تازه اینه که خیلی از قوانین و محدودیتهای واقعی سیستم تو خود کد نوشته نشدن؛ دانششون دست آدمهاست. اگه یه ایجنت هوش مصنوعی رو بدون نظارت ول کنی تو همچین کدی، ممکنه چیزی تحویل بده که ظاهرا کار میکنه ولی معماری و تستهاش شکنندهست.
پیشنهاد اصلی نویسنده تقسیم کد به سه منطقهست: سبز یعنی بخشهایی با تست خوب که ایجنت میتونه آزادانه توشون کار کنه، زرد یعنی کیفیت متوسط که اول باید براش تست نوشت، و قرمز یعنی بخشهای حساس مثل احراز هویت، صورتحساب و دسترسیها که هر تغییری توشون باید با نظارت مستقیم آدم انجام بشه. این نقشه رو باید آدم بکشه، نه خود ایجنت، چون ایجنت اگه ول باشه معمولا میره سراغ همون فایلی که اسمش جذابتره.
یه نکته دیگه اینه که هرچی ایجنت از کد یاد میگیره، مثلا چطور یه فلو کار میکنه، باید یهجایی ثبت بشه، نه اینکه فقط تو تاریخچه چت بمونه و بعد از جمعوجور شدن کانتکست از بین بره. برای بخشهای زرد و قرمز، نویسنده پیشنهاد میده یه پاس جداگانه فقط برای تحقیق بذاری و ازش یه یادداشت کوتاه با لینک به فایل، ایشو و تست بگیری.
قبل از هر تغییری هم باید «تستهای مشخصکننده» (characterization tests) نوشت که رفتار فعلی سیستم رو، حتی بخشهای زشتش رو، ثبت کنن؛ وگرنه ایجنت ممکنه رفتاری که کسبوکار روش حساب میکنه رو به اسم «تعمیر» عوض کنه. نویسنده همچنین میگه یه مهاجرت باید کامل انجام بشه، یعنی مسیر قدیمی رو هم پاک کنی، وگرنه ایجنتهای بعدی با دو تا الگوی متناقض تو کد گیج میشن.
به عنوان نمونههای واقعی، نویسنده به پورت شدن Bun از Zig به Rust تو ۵۰ ورکفلو ظرف ۱۱ روز، انتقال ۳.۷ میلیون خط کد Stripe به TypeScript، و بازنویسی اپ Shop شاپیفای از React Native به Swift و Kotlin ظرف ۱۲ هفته اشاره میکنه؛ تو همهشون یه چیز مشترکه: واحد کوچیک تغییر، تست از قبل آماده، و آدمی که هر تغییر رو مرور میکنه.
نکات کلیدی:
- کد رو به سه منطقه سبز (تست خوب)، زرد (کیفیت متوسط) و قرمز (حساس مثل auth و billing) تقسیم کن
- قبل از هر تغییر تو بخشهای قدیمی، تستهای مشخصکننده رفتار فعلی رو بنویس
- تحقیق ایجنت رو تو یه یادداشت ثبت کن، نه فقط تو تاریخچه چت
- مهاجرت رو کامل انجام بده، یعنی مسیر قدیمی رو هم حذف کن نه اینکه فقط مسیر جدید رو اضافه کنی
- Asana با همین روش یه بکلاگ چندساله رو تو دو هفته و حدود ۱۲ هزار دلار جمع کرد




