zeroshot: ایجنتهای کدنویسی رو توی یه گراف بازبینی بنداز
خلاصهٔ کاملتر
zeroshot یه ابزار خط فرمان (CLI) هست که کار ایجنتهای هوش مصنوعی رو از یه گراف کاری رد میکنه. گراف اینجا یعنی یه نقشه که میگه کدوم مرحله بعد از کدوم اجرا بشه و اگه چیزی رد شد، کجا برگرده. شعار تیم سازنده اینه: «پرامپتها پیشنهادن، گرافها اجباری». یعنی بهجای اینکه به ایجنت بگی «لطفاً تست بنویس»، خود موتور جلوی رد شدن کار بدون تأیید رو میگیره.
تو گراف پیشفرض یعنی software-change، یه worker تسک رو پیاده میکنه. بعد دو بازبین مستقل، یکی برای acceptance (یعنی آیا خواستهٔ تسک برآورده شده) و یکی برای کد، همزمان کار رو چک میکنن. اگه رد بشه، کار با بازخورد هر دو برمیگرده به همون worker و دوباره از هر دو بازبینی رد میشه. تعداد تلاشها محدوده و همهچی توی یه دفتر ثبت رویداد روی SQLite ذخیره میشه.
میتونی گراف خودت رو هم بسازی. مثلاً تو README اومده که تغییرات مربوط به auth، پرداخت یا migration رو قبل از بازبینی معمولی، اول از یه نقشهٔ blast-radius (یعنی اینکه این تغییر چه بخشهایی رو میتونه خراب کنه) و یه بازبینی امنیتی رد کنی. هر ایجنت میتونه مدل و harness خودش رو داشته باشه: Pi، Claude Code، Codex یا Copilot. این تنظیمات رو میشه به اسم یه profile ذخیره کرد و دوباره استفاده کرد.
یه قالب آماده به اسم auto-research هم هست که بهطور پیشفرض ده دور اجرا میشه. سه scout مسیرهای مختلف پیشنهاد میدن، یه researcher یکی رو انتخاب و اجرا میکنه و یه بازبین تازهنفس شواهد و درستی کار رو بررسی میکنه. هر دور معمولی پنج بار مدل رو اجرا میکنه.
برای تحویل کار هم چند حالت داری: بدون فلگ کار محلی میمونه، --push برنچ رو پوش میکنه، --pr یه pull request آماده میکنه و --ship تا CI و merge پیش میره. نویسندهها تأکید میکنن که پاس شدن یه اجرا فقط یعنی چکهایی که خودت تعریف کردی قبولش کردن. پس کیفیت نتیجه به بازبینها، تستها و محیطی که بهش میدی بستگی داره.
نکات کلیدی:
- zeroshot رایگان و با لایسنس MIT هست و به Node.js 18 یا بالاتر نیاز داره.
- با Pi، Claude Code، Codex و GitHub Copilot کار میکنه و هر مرحله میتونه مدل جدا داشته باشه.
- روی ۲۰ تسک ProgramBench، یه مدل کوچیک توی حلقهٔ بازبینی با میانهٔ ۵۸٪ هزینه به امتیاز یه مدل بزرگتر رسیده.
- اجراها محدود به تعداد تلاش مشخص هستن و رویدادها توی یه ledger روی SQLite ثبت میشن.
- میشه محلی، با ایمیج Docker روی سرور خودت، یا روی zeroshot Cloud اجراش کرد.




