چیتشیت
بنچمارکهای ایجنت: از SWE-bench تا OSWorld
Agent Benchmarks: SWE-bench to OSWorld
بنچمارک را انتخاب کنید، با تستهای مناسب گیت بگذارید، آلودگی دادهها را بررسی کنید و اجراها را بر پایهی مخرجهای برابر مقایسه نمایید.
فهرست مطالب
- مقایسهی پهلوبهپهلوی بنچمارکهای تکایجنتی
- مقایسهی پهلوبهپهلوی بنچمارکهای چندایج smash
- چه زمانی از X استفاده کنیم
- گیت SWE-bench: دستور run_task
- پایپلاین Harness Bench
- اجرای درسها و پروژه
- سنجههای بستر آزمایشی ساده در پایتون
- پیشفرضهای CLI
- عیبیابی
- اعداد کلیدی برای بهخاطرسپردن
- چکلیست راستیآزمایی ادعاها
مقایسهی پهلوبهپهلوی بنچمارکهای تکایجنتی
مقایسه| فاکتور | SWE-bench | GAIA | WebArena | OSWorld |
|---|---|---|---|---|
| آزمونها | پچ کردن کد | استفاده از ابزار همهمنظوره | وظایف وب، افق زمانی بلند | وظایف رایانهای واقعی |
| حجم | 2,294 ایشو، 12 مخزن پایتون | 466 سؤال، 300 مورد خصوصی | 812 وظیفه، 4 برنامه | 369 وظیفه، 3 سیستمعامل |
| ورودی ایجنت | کدبیس در کامیت پیش از اصلاح + ایشو | سؤال. وب، چندحالته | برنامههای خودمیزبان + ابزارهای کمکی | اسکرینشاتهای 1920×1080 |
| ارزیاب | تستهای FAIL_TO_PASS و PASS_TO_PASS | ذکر نشده | مبتنی بر اجرا، APIهای gym | ذکر نشده |
| بهترین در زمان انتشار | SWE-agent با 12.5٪ | GPT-4 با پلاگینها 15٪ | ایجنت GPT-4 با 14.41٪ | بهترین مدل 12.24٪ |
| انسان | ذکر نشده | 92٪ | 78.24٪ | 72.36٪ |
| دام اصلی | آلودگی دادهها | اشتباه گرفتن با بنچمارکهای کد | نسخههای پینشدهی قدیمی برنامهها | انطباق بصری در رابط کاربری |
مقایسهی پهلوبهپهلوی بنچمارکهای چندایج smash
مقایسه| فاکتور | MARBLE | COMMA | MedAgentBoard | SWE-bench Pro |
|---|---|---|---|---|
| سنجهها | توپولوژیهای ستارهای، زنجیرهای، درختی و گرافی | اطلاعات نامتقارن چندحالته | 4 دستهبندی وظایف پزشکی | بدون آلودگی، تاریخهای قطع بعدی |
| امتیازدهی | شاخصهای کلیدی عملکرد بر پایهی مایلاستون، پیشرفت نسبی | همکاری ایجنت با ایجنت | چندایج smash در برابر تکLLM و در برابر مبتنی بر قاعده | 1865 مسئله، 41 مخزن |
| تیتر اصلی | گراف برای پژوهش بهترین است | مدلهای پیشرو در برابر تصادفی چالش دارند | چندایج smash همیشه برتر نیست | حدود 23٪ روی Pro در برابر +70٪ روی Verified |
| درس آموخته | برنامهریزی شناختی حدود 3٪ میافزاید | پیش از ادعا کردن اندازه بگیرید | بسیاری از سیستمها بیشازحد مهندسی شدهاند | Verified بهتنهایی شواهد محسوب نمیشود |
چه زمانی از X استفاده کنیم
نکتهها- SWE-bench Verified: ایجنت کد. همیشه امتیازات Verified را گزارش کنید.
- SWE-bench Pro: ارزیابی واقعی آلودگی دادهها. Pro آزمون گیت فعلی است.
- GAIA: ایجنت همهمنظوره. از بخش خصوصی تابلوی امتیازات استفاده کنید.
- AgentBench: مقایسه میان چند محیط در 8 محیط مختلف.
- WebArena Verified: ایجنت وب. برای ارزیابی مداوم آن را خودمیزبان اجرا کنید.
- OSWorld: ایجنت دسکتاپ. آن را در ناوگانی از ماشینهای مجازی اجرا کنید.
- MARBLE: زمانی که توپولوژیهای هماهنگی را به شکلی کاملاً برابر مقایسه میکنید.
- AgentArch: وقتی باید تکتک لایههای یک استک سازمانی را توجیه کنید.
- ارزیابیهای سفارشی: جریانهای کاری محصول شما. مسیرهای کامل اجرای مرجع را برای 20 وظیفهی برتر ثبت کنید.
گیت SWE-bench: دستور run_task
گامبهگام- بستر آزمایشیکپی کردن
state_before. شمارش چکهای موفق FAIL_TO_PASS و PASS_TO_PASS. - ایجنتاِعمال پچ روی نسخهای کپیشده از وضعیت.
- بستر آزمایشیشمارش دوبارهی چکهای موفق روی وضعیت جدید.
- گیت اصلاحهمهی تستهای FAIL_TO_PASS باید پس از پچ پاس شوند.
- گیت بدون پسرفتمقدار
ptp_brokeباید صفر باشد. - نتیجه
resolvedفقط زمانی درست است که هر دو گیت پاس شوند. - گزارشنرخ حل برابر است با وظایف حلشده تقسیم بر کل وظایف.
پایپلاین Harness Bench
معماریاجرای درسها و پروژه
دستورها| دستور | عملکرد |
|---|---|
python3 code/main.py | اجرای بستر آزمایشی سادهی درسهای 14.19، 14.20 و 16.24 |
python3 scripts/project_test.py harness-bench --init /tmp/harness-bench-work | ساخت میز کار یادگیرنده |
python3 scripts/project_test.py harness-bench --stage 1 --path /tmp/harness-bench-work --strict | نمرهدهی به یک مرحله |
python3 scripts/project_test.py harness-bench --all --solution --strict | نمرهدهی به راهحل مرجع |
go run . --budget 2 --out /tmp/orchard-budget.json | بازپخش Orchard با 2 فراخوانی برای هر خطمشی |
go run . --cases <cases.json> --endpoint <url> --model <model> | فراخوانی یک مدل زندهی chat-completions |
--key-env <VAR> | نامگذاری متغیر محیطی حاوی کلید |
سنجههای بستر آزمایشی ساده در پایتون
کدpython
resolved = (ftp_post == len(task.fail_to_pass)) and (ptp_broke == 0)
score = steps + modalities + tools # سطح GAIA: کمتر مساوی 2 برابر 1، کمتر مساوی 5 برابر 2، در غیر این صورت 3
efficiency = steps / task.gold_steps # کارایی مسیر، 1.0 حالت ایدئال است
delta = r["accuracy_seen"] - r["accuracy_held"]
contam_flag = "*" if delta > 0.1 else " " # دقت روی مجموعهی ارزیابی پنهان، معیار مرجع است
vs_random = r["accuracy_held"] - rand_baseline # خط مبنا 0.15
r = run_bench(sys, n_seen=40, n_held=160, seed=17)
پیشفرضهای CLI
پیشفرضها| تنظیم | پیشفرض | نکته |
|---|---|---|
--cases | fixtures/orchard-cases.json | آرایهی JSON از موارد |
--recording | fixtures/orchard-recording.json | وقتی --endpoint تنظیم شده باشد نادیده گرفته میشود |
--budget | 4 | فراخوانیهای مدل به ازای هر خطمشی، حداکثر 10000 |
--timeout | 30s | مهلت زمانی هر خطمشی، حداکثر 5 دقیقه |
--temperature | 0 | دمای نمونهبرداری HTTP |
--max-tokens | 128 | سقف توکن خروجی HTTP |
Case limit | 1000 | فایلها به یک مبیبایت محدود هستند |
HTTP request cap | ten seconds | بازهدایتها و اندپوینتهای پرسمان رد میشوند |
عیبیابی
عیبیابیتابع
CasesخطایErrConflictمیدهد- علت
- دو مورد شناسهی یکسان دارند
- راهحل
- به هر مورد یک شناسهی یکتا بدهید
تابع
Casesروی یک پاسخ معتبر خطا میدهد- علت
- اشتباه املایی در کلید
Expected - راهحل
- کلید را اصلاح کنید. فیلدهای ناشناخته رد میشوند
تابع
LeaderboardخطایErrConflictمیدهد- علت
- چکیدهی مجموعهداده، چکیدهی مدل یا بودجه متفاوت است
- راهحل
- همهی خطمشیها را با یک پیکربندی دوباره اجرا کنید
پاسخ
15 minدر برابر15 minutesرد میشود- علت
- قرارداد پاسخ دقیق
- راهحل
- حالتهای گوناگون را در قراردادی جداگانه تعریف کنید
وضعیت
budget-exhaustedاست- علت
- تلاش مجدد بودجه را مصرف کرده است
- راهحل
- موارد بعدی در
Totalباقی میمانند. سقف--budgetرا افزایش دهید
خطای
recording exhausted for requested prompt- علت
- پرامپت وجود ندارد یا آرایه خالی شده است
- راهحل
- پرامپت دقیق خطمشی را به
responsesاضافه کنید
امتیاز 50٪ در SWE-bench روی +SWE-bench به 35٪ افت میکند
- علت
- نشت راهحل در متن ایشو
- راهحل
- امتیازهای Verified و +SWE-bench را گزارش دهید
اختلاف بالاتر از 0.1، علامت پرچم
*- علت
- وظایف دیدهشده امتیاز بالاتری نسبت به وظایف پنهان میگیرند
- راهحل
- فقط دقت مجموعهی پنهان را نقلقول کنید
اعداد کلیدی برای بهخاطرسپردن
مفهومها- +SWE-bench
- در 32.67٪ از پچهای موفق نشت راهحل رخ داده است. 31.08٪ تستهای ضعیفی داشتند.
- تاریخ قطع
- بیش از 94٪ ایشوهای SWE-bench پیش از تاریخ قطع اغلب مدلها بودهاند.
- OSWorld-Human
- برترین ایجنتها 1.4 تا 2.7 برابر گامهای بیشتری نسبت به انسان طی میکنند.
- OSWorld-G
- شامل 564 نمونهی فقط انطباق بصری. انطباق را از برنامهریزی تفکیک میکند.
- دستاورد تیمهای ایجنتی
- 30 تا 40 نمره اختلاف روی SWE-bench Pro.
- مالیات هماهنگی
- فراتر از حدود 4 ایجنت در توپولوژی گرافی نمایان میشود.
- بازپخش Orchard
- خط مبنا 1/3 در 3 فراخوانی، تلاش مجدد در خطا 2/3 در 4، شواهد 3/3 در 3.
- اندازهگیرینشده
- هزینه، امنیت در برابر نفوذ، دامنهی کاری شما و بدترین 1٪ موارد نادر.
چکلیست راستیآزمایی ادعاها
پرسش و پاسخ- کدام بنچمارک و بخش؟
- شکاف میان Verified و Pro بسیار است. عدد بهدستآمده از بخش نادرست فاقد ارزش است.
- بررسی آلودگی دادهها؟
- آیا بنچمارک پس از تاریخ قطع آموزش منتشر شده است؟ اگر نه، با احتیاط برخورد کنید.
- کدام خط مبنا؟
- تکLLM، تصادفی و کارهای قبلی چندایج smash؛ نه یک نسخهی تنظیمنشده از همان سیستم.
- معناداری آماری؟
- تعداد N آزمون، p-value و یک بازهی اطمینان. تکاجراها گمراهکنندهاند.
- هزینه شفاف است؟
- توکنها به ازای هر وظیفه و زمان واقعی. مقادیر P50/P75/P95 را گزارش کنید، نه فقط یک عدد.
- مستندات قابلمقایسه؟
- یکسان بودن SHA-256 مجموعهداده، SHA-256 پیکربندی مدل و بودجهی فراخوانی.
- تلاش مجدد در پاسخ غلط؟
- خیر. تلاشهای مجدد در صورت خطا هرگز نباید پاسخ مورد انتظار را وارسی کنند.