متا چطور اپ Forum رو با ایجنتهای هوش مصنوعی ساخت
خلاصهٔ کاملتر
تیم مهندسی متا تو این مقاله تعریف میکنه که اپ جدید Forum (یه اپ مستقل برای گروههای فیسبوک) چطور توسط یه تیم کوچیک و با کمک ایجنت هوش مصنوعی از صفر ساخته شد. ایده این بود که ایجنت یه عضو واقعی از فرایند مهندسی باشه، نه فقط یه ابزار تایپ سریعتر. معیار موفقیتشون هم حجم کد نبود. فقط تغییراتی حساب میشد که بیلد بشن، تستها رو پاس کنن و code review رو هم با موفقیت بگذرونن.
نویسندهها دو مدل رو مقایسه میکنن. تو human-in-the-loop مهندس هر قدم رو خودش جلو میبره و AI فقط کمک میکنه، مثلاً یه تابع رو کامل میکنه. تو human-on-the-loop ایجنت خودش چرخه رو میچرخونه (برنامهریزی، پیادهسازی، بیلد، تست، اصلاح) و مهندس هدف رو تعیین میکنه، کار رو زیر نظر داره و آخرش تأیید میکنه. به گفتهی متا این هدفیه که دنبالشن و هنوز همهی مراحل خودکار نشده.
متا میگه کامپایل شدن خط پایان نیست. یه کار وقتی تموم حساب میشه که تستهای خودکار و بررسیهای بصری پاس بشن. برای همین وضعیت بیلد، unit testها و تطبیق UI با spec مستقیم داخل حلقهی ایجنت گذاشته شد. نتیجه pull requestهایی بود که با test plan و ویدیوی ضبطشدهی تست آمادهی بررسی بودن. یه سری navigation agent هم ساختن که دقیقاً مثل کاربر با اپ کار میکنن و regressionها رو گزارش میدن.
برای مدیریت ایجنت پنج تا جزء دارن: Rules (دستورهای دائمی پروژه که وقتی ایجنت یه اشتباه رو بیشتر از دو بار تکرار کنه اضافه میشن)، Skills (قراردادهای تیم به شکل مراحل قابل اجرا)، Agents، Commands (زنجیرهی skillها و agentها برای کارهایی مثل بازتولید باگ تا ساخت PR) و Hooks (تریگرهای خودکار مثل اجرای linter بعد از هر نوبت ایجنت).
به گفتهی متا بزرگترین بهبود از تغییر کد و ابزارها اومد، نه پرامپت. کد رو ساده و ماژولار نگه داشتن چون ایجنت از الگوهای کدی که میخونه یاد میگیره. مشکل اصلیشون این بود که ایجنت گم میشد که الان کجای اپه. پس بهش ابزار دادن تا view hierarchy زنده رو از شبیهساز بخونه و المانهای روی صفحه رو ببینه، و ویرایشهای اشتباه خیلی کم شد. یه build flavor جدا هم ساختن، یعنی یه اپ sandbox که کد prototype کلاً از بیلد production حذف میشه، پس نمیتونه اپ اصلی رو کرش بده.
ایجنت با سناریوهای stress test (اسکرول تند، ناوبری سریع، لود مکرر مدیا) یه مشکل حافظه پیدا کرد، بازتولیدش کرد و فیکسش رو تأیید کرد. این فیکس مصرف حافظه و page faultها رو تقریباً نصف کرد. متا میگه Forum تو هشت هفته به همسطحی با امکانات اصلی Facebook Groups رسید. بعد از لانچ هم ایجنتها بازخورد کاربرها رو بررسی میکنن و ریشهی مشکل رو برای مهندسها خلاصه میکنن.
نکات کلیدی:
- Forum تو هشت هفته به امکانات اصلی Facebook Groups رسید.
- معیار تموم شدن کار پاس شدن تستهای خودکار و بررسی بصریه، نه فقط کامپایل.
- اگه ایجنت یه اشتباه رو بیشتر از دو بار تکرار کنه، اصلاحش به Rules دائمی پروژه اضافه میشه.
- دادن ابزار برای خوندن view hierarchy زنده، ویرایشهای اشتباه ایجنت رو بهشدت کم کرد.
- stress test خودکار یه مشکل حافظه رو قبل از لانچ پیدا کرد و مصرف حافظه رو تقریباً نصف کرد.
- کد prototype تو یه build flavor جدا میمونه و اصلاً وارد بیلد production نمیشه.




