چیت‌شیت

موردکاوی‌های چندایجنت و مزارع ارزیابی

Multi-Agent Case Studies and Eval Farms

سه سیستم مرجع 2026، پروژه‌ی پایانی تیم نرم‌افزاری و مزرعه‌ی ارزیابی فنس‌شده با قابلیت ادامه‌ی کار در Go.

  • ۱۲ بخش
  • ۲ درس مرتبط
  • کد و دستورها عیناً از دوره‌ی اصلی
فهرست مطالب
  1. سه مورد مرجع
  2. الگوهای رایج
  3. نگاشت طراحی به یک مورد
  4. مراحل ساخت تیم نرم‌افزاری
  5. معماری مزرعه‌ی ارزیابی
  6. دستورات مزرعه‌ی ارزیابی
  7. قراردادهای مزرعه‌ی ارزیابی
  8. قوانین اجاره و رسید
  9. مقادیر پیش‌فرض و محدودیت‌ها
  10. حالت‌های شکست
  11. اعداد کلیدی برای حفظ کردن
  12. پرسش‌ها

سه مورد مرجع

مقایسه
عاملAnthropic ResearchMetaGPT / ChatDevOpenClaw / Moltbook
توپولوژیسرپرست-کارگرتجزیه‌ی وظایف بر اساس نقش با SOPبستر بر پایه‌ی جمعیت آماری کلان
نتیجه‌ی کلیدی+90.2٪ نسبت به تک‌ایجنت Opus 4MacNet: بیش از 1000 ایجنت از طریق DAGهاحدود 2.3 میلیون حساب ایجنت ظرف چند روز
سیگنال هزینه15 برابر توکن به‌ازای هر پرسمانبودجه‌بندی به‌ازای هر نقشقیمت‌گذاری به‌ازای هر تعامل
الگوی مناسب الگوبرداریساب‌ایجنت‌های بافتار تازهدست‌به‌دست‌کردن دست‌سازه‌های ساختاریافتهمدل تهدید تزریق پرامپت
اعتبارسنجینقش صریح مدل اعتبارسنجمهندس تضمین کیفیت (QA)اعتبارسنج‌های درون‌شبکه‌ای
فریم‌ورکClaude Agent SDK یا LangGraphCrewAI یا MetaGPTبستر سفارشی + MCP + A2A
مناسب برایوظایف پژوهشی و دانشیزنجیره‌های ابزار مهندسیمحصولات اجتماعی مبتنی بر اثر شبکه‌ای

الگوهای رایج

مفهوم‌ها
هماهنگ‌کننده + کارگران
هر مورد شامل یک سرپرست یا اثر شبکه‌ای است.
قراردادهای دست‌به‌دست‌کردن وظایف
دست‌سازه‌ها میان نقش‌ها از یک اسکیما پیروی می‌کنند.
اعتبارسنجی
در هر مورد یک نقش تراز اول است.
مقیاس‌پذیری
توپولوژی + بستر، نه فقط افزایش ایجنت‌ها.
مقیاس‌بندی تلاش
حالت ساده شامل 1 ایجنت با 3 تا 10 فراخوانی ابزار است؛ حالت پیچیده بیش از 10 ساب‌ایجنت دارد.
استقرار رنگین‌کمانی
نگه‌داشتن نسخه‌های قدیمی محیط اجرا برای ایجنت‌های در حال پردازش.
تزریق پرامپت
با پروفایل‌های ایجنت و پیام‌های بین ایجنت‌ها مثل ورودی غیرقابل‌اعتماد رفتار کنید.

نگاشت طراحی به یک مورد

کد
python
def map_to_case(d: Design) -> str:
    if d.task_type == "population" or d.user_facing_network:
        return "openclaw_moltbook"
    if d.task_type == "engineering" or d.roles_distinct:
        return "metagpt_chatdev"
    return "anthropic_research"  # پژوهش و حالت پیش‌فرض
print_case(case_key)             # الگوها، فریم‌ورک، ارجاع
print_landscape()                # ردیف‌های FRAMEWORK_LANDSCAPE

مراحل ساخت تیم نرم‌افزاری

گام‌به‌گام
  1. تابلوی تسک‌هافایل JSONL حاوی پیام‌های تایپ‌شده؛ ایجنت‌ها عضو برچسب‌ها می‌شوند.
  2. معمارصادر کردن یک plan_request با یک DAG از زیروظایف و رابط‌ها.
  3. کدنویس‌هاهر کدام یک زیروظیفه را در یک برنچ حاصل از git worktree add تازه برمی‌دارند.
  4. هماهنگ‌کننده‌ی مرجمرج سه‌طرفه‌ی N برنچ به درون یک برنچ staging.
  5. بازبینمجاز به تأیید Diffهای نوشته‌شده توسط خود نیست؛ review_feedback را به کدنویس ارجاع می‌دهد.
  6. تستراجرای تست‌ها در یک ساندباکس ایزوله؛ خطاها به مسئول وظیفه بازگردانده می‌شوند.
  7. حسابدارییک اسپن به‌ازای هر پیام مرز میان نقش‌ها، شامل حجم داده و مدل.
  8. کالبدشکافیهیستوگرام شکست‌های تحویل وظیفه برای هر ایشوی ناموفق.

معماری مزرعه‌ی ارزیابی

معماری
InitFarmفرایند workercasesresultcases.jsonid, prompt, expected, responseپارتیشن‌بندیFNV-1a به شاردهاfarm.jsonتحت ledger.lockrunاستخر موازی، موج‌های محدودClaimShardقفل، بارگذاری، تصاحب، ذخیره‌ی پایدارWorkShardتطابق دقیق خارج از قفلCompleteShardبارگذاری مجدد، Submit تحت قفلReportپوشش و رسیدها

دستورات مزرعه‌ی ارزیابی

دستورها
دستورعملکرد
go build -o /tmp/eval-farm .ساخت باینری مرجع در solution
init --store DIR --input FILE --shards Nاتصال هش دیتاست و تعداد شاردها
run ... --shards N --workers Wراه‌اندازی موج‌های فرایندی محدود
worker --store DIR --worker-id NAMEتصاحب، ارزیابی و ثبت یک شارد
status --store DIRاعتبارسنجی و گزارش اسنپ‌شات
demo --input FILEچاپ اسنپ‌شات‌های کرش و بازیابی
--crash-after-claimخروج با کد 86 پس از تصاحب پایدار
--all --solution --strictنمره‌دهی مرجع با project_test.py

قراردادهای مزرعه‌ی ارزیابی

کار و کد
وظیفهکد
مرحله‌ی 1، شارد پایدار به‌ازای شناسهPartition(ids []string, shards int)
هش کردن شناسهh := fnv.New32a()
مرحله‌ی 2، فنس‌بندی اجارهAcquire(l, worker, now, ttl)
مرحله‌ی 3، پذیرش یک نتیجهSubmit(l, worker, version, now, result)
مرحله‌ی 4، استخر محدودParallel(ctx, ids, workers, run)
فیلدهای اجارهShard, Worker, Version, Until, Result, Done
خطاها`ErrInvalid`, `ErrConflict`, `ErrLimit`

قوانین اجاره و رسید

کد
go
// تصاحب (Acquire): اجاره‌ی انجام‌شده یا فعال به معنی تداخل است
if l.Done || (l.Worker != "" && now < l.Until) {
l.Until = now + ttl
l.Version++
// ارسال (Submit): ابتدا بررسی مالک و نسخه
if l.Worker != worker || l.Version != version {
// اجاره‌ی انجام‌شده فقط نتیجه‌ی یکسان را دوباره می‌پذیرد
if l.Result == result {
// اولین تکمیل باید پیش از اتمام انقضا انجام شود
if now >= l.Until {

مقادیر پیش‌فرض و محدودیت‌ها

پیش‌فرض‌ها
تنظیمپیش‌فرضنکته
--shards4تعداد پارتیشن ثابت، در بازه‌ی 1..1024
--workers2فرایندهای هم‌زمان، در بازه‌ی 1..64
--lease-ms30000مدت‌زمان تصاحب
--now-ms-1استفاده از ساعت فیزیکی سیستم
--delay-ms0در بازه‌ی 0..60000
--storefarm-dataپوشه‌ی روی همان میزبان
Snapshot size4 MiBاسنپ‌شات کل دور اجرا
Result size1 MiBبزرگ‌ترین نتیجه‌ی پذیرفته‌شده

حالت‌های شکست

عیب‌یابی
  • خروج Worker با کد 86

    علت
    کرش عمدی پس از تصاحب
    راه‌حل
    اجرای مجدد دقیقاً در مرز انقضا
  • خروج Run با کد 1 و complete:false

    علت
    اجاره‌های باقی‌مانده هنوز مالک دارند
    راه‌حل
    اجرای مجدد دستور run پس از انقضا
  • خطای Fencing در Worker قدیمی

    علت
    جایگزین ابتدا commit شده است
    راه‌حل
    طبیعی است؛ اسنپ‌شات دست‌نخورده می‌ماند
  • خروج Run با کد 1 روی دیتاست تغییریافته

    علت
    هش دیتاست متفاوت است
    راه‌حل
    استفاده از یک محل ذخیره‌سازی دیگر
  • زیروظایف قابل پیاده‌سازی نیستند

    علت
    طرح بیش از حد مبهم است
    راه‌حل
    استفاده از قالب طرح با رابط‌های صریح
  • تأیید باگ توسط بازبین

    علت
    تأیید نادرست توسط بازبین
    راه‌حل
    آزمون ارزیابی باگ تزریق‌شده، بهینه‌سازی پرامپت
  • شیوع پرامپت ویروسی به ایجنت‌ها

    علت
    تزریق پرامپت در مقیاس وسیع
    راه‌حل
    ورودی غیرقابل‌اعتماد شمردن پیام‌های بین ایجنت‌ها
  • توهم زدن ایجنت‌های پژوهشی

    علت
    عدم وجود نقش صریح مدل اعتبارسنج
    راه‌حل
    افزودن مدل اعتبارسنج، با مصرف حدود 20-30٪ از توکن‌ها

اعداد کلیدی برای حفظ کردن

مفهوم‌ها
میزان مصرف توکن
توضیح‌دهنده‌ی 80٪ از واریانس BrowseComp.
MAST
نرخ شکست 41 تا 86.7٪ در سیستم‌های چندایجنت واقعی.
OpenClaw
247 هزار ستاره‌ی گیت‌هاب ظرف حدود 4 ماه.
ارزیابی پروژه‌ی پایانی
50 ایشوی SWE-bench Pro در برابر یک خط مبنای Sonnet 4.7.
شیوه‌نامه‌ی نمره‌دهی
25 برای pass@1، 20 برای سرعت، 20 برای کیفیت بازبینی، 20 برای توکن‌ها و 15 برای هماهنگی.
نمونه‌ی مزرعه
چهار رکورد امتیاز 3/4 کسب می‌کنند؛ دو موج، چهار فرایند را لانچ می‌کنند.

پرسش‌ها

پرسش و پاسخ
چرا پژوهش‌های چندایجنت برنده می‌شوند؟
هر ساب‌ایجنت یک پنجره‌ی بافتار تازه دریافت می‌کند.
کدام بنچمارک؟
SWE-bench Pro؛ نسخه‌ی Verified آلوده شده است.
پروژه‌ی پایانی چه چیزی را می‌سنجد؟
این‌که آیا چندایجنت به‌ازای هر دلار به‌صرفه‌تر است یا خیر، نه فقط صرفاً کار کردن آن.
آیا یک Worker درست اما دیرهنگام می‌تواند بازنویسی کند؟
خیر؛ old/v1 زمانی که new/v2 شارد را تمام کرده باشد با شکست روبه‌رو می‌شود.
آیا بازیابی در زمان 109 اجاره را تصاحب می‌کند؟
خیر؛ یک اجرای معلق را گزارش می‌دهد و با کد 1 خارج می‌شود.