کیفیت و benchmark
AiraCode چطور ادعاهای کیفیت رو با fixtureهای task قابل replay ثابت میکنه.
benchmarkهای AiraCode روی مخزنهای موقتِ کوچیک اجرا میشن، نه prompt خالی. هر fixture یک مخزن میسازه، CLI رو اجرا میکنه، رفتار رو با بررسیهای deterministic راستیآزمایی میکنه، و فایلهای تغییرکرده، اندازهٔ diff، مصرف توکن، هزینه و زمان اجرا رو audit میکنه.
Fixtureها
invoice: منطق مالی و تست.page: state رابط کاربری و مدیریت ورودی.dashboard: بارگذاری داده و aggregation.cache: انقضا و invalidation کش.api: مسیر backend و رفتار contract.cli: parsing فلگ و argument.subagent: delegation اجباری با audit روی eventهای parent/child.
فرمانها
گیت آفلاین
پریست آفلاین fixtureها، audit محدوده و بودجهها رو با یک مسیر oracle چک میکنه و نباید اعتبار مدل خرج کنه.
pnpm --filter @airachat/airacode bench:agents:offline
گیت زندهٔ AiraCode
AIRA_BENCH_BIN=aira \ AIRA_BENCH_MODEL=aira-code \ pnpm --filter @airachat/airacode bench:agents:aira
مسیر پیشفرض کاربر
این گیت مسیر معمول aira -p رو بدون اجبارِ یک toolset خاص چک میکنه.
pnpm --filter @airachat/airacode bench:agents:aira-default
اجراهای مقایسه
پریستهای مقایسه برای هر agent از همون fixtureها و verifierها استفاده میکنن. رقیبهای در دسترسنبودن جدا از failureهای واقعی طبقهبندی میشن.
AIRA_BENCH_BIN=aira \ AIRA_BENCH_MODEL=aira-code \ pnpm --filter @airachat/airacode bench:agents:compare
بودجهها
harness میتونه حداکثر توکن هر task، کل توکن، هزینه، فایلهای تغییرکرده، خطوط diff و حداقل score رو الزامی کنه.
node apps/airacode/scripts/agent-bench.mjs \ --agents aira-default \ --budget-agents aira-default \ --tasks invoice,cache,cli,api,page,dashboard \ --max-turns 12 \ --max-tokens-per-task 30000 \ --max-total-tokens 100000 \ --max-cost-usd 1 \ --max-changed-files 3 \ --max-diff-lines 300 \ --min-score 95
Replay نتایج موجود
نتایج JSON ذخیرهشده رو میشه با بودجههای سختتر و بدون فراخوانی دوبارهٔ مدل، replay کرد.
node apps/airacode/scripts/agent-bench.mjs \ --from-results /tmp/airacode-agent-bench-current.json \ --budget-agents aira \ --max-tokens-per-task 30000 \ --max-total-tokens 100000 \ --max-changed-files 3 \ --max-diff-lines 300 \ --min-score 95
بستههای شواهد
وقتی یک مسیر خروجی داده بشه، harness شواهدی مثل patch diff، لیست فایلهای تغییرکرده، خروجی verifier، خروجی نهایی agent و summary JSON رو هم مینویسه. وقتی CI به یک مکان artifact ثابت نیاز داره از --evidence-dir <path>استفاده کن.
گیت regression نسبت به baseline
نتایج فعلی رو با یک فایل نتیجهٔ کاملِ قبلی یا JSON leaderboard مقایسه کن تا از regressionهای پنهان جلوگیری بشه.
node apps/airacode/scripts/agent-bench.mjs \ --from-results /tmp/airacode-agent-bench-current.json \ --baseline-results /tmp/airacode-agent-bench-baseline-leaderboard.json \ --baseline-agents aira \ --max-token-regression-ratio 1.10 \ --max-speed-regression-ratio 1.25 \ --min-score-delta -5 \ --min-pass-rate-delta 0