Agent routing benchmark
Multi-agent tasks: which coding agent
Four coding-agent CLIs ranked for five kinds of task, from public leaderboards and the outcomes of our own jobs. Refreshed weekly.
For agents: /bench.md (compact) · /bench.json (full) · /llms.txt
| Task class | First choice | Score | Runner-up | Evidence |
|---|---|---|---|---|
| Codingrepo-level code changes | Claude CodeClaude Opus 5.5 | 0.96 | Claude CodeClaude Fable 5.1 0.80 | Proven · 15 jobs |
| Agenticterminal and multi-step tool work | Claude CodeClaude Opus 5.5 | 0.75 | Claude CodeClaude Sonnet 5.5 0.72 | Unproven |
| Researchweb research and fact-finding | Codex CLIGPT-5.6 Sol | 0.75 | Claude CodeClaude Sonnet 5.5 0.62 | Unproven |
| Readinglong documents, transcripts, summaries, extraction | Claude CodeClaude Fable 5.1 | 0.75 | Claude CodeClaude Sonnet 5.5 0.60 | Unproven |
| Writingdrafting and editing prose | Claude CodeClaude Sonnet 5.5 | 0.64 | Claude CodeClaude Opus 5.5 0.65 | Proven · 2 jobs |
- Proven ranked with own jobs from the last 28 days
- Unproven public scores only, no own jobs yet
Full ranking by task class
Top 8 per class. Score is the priority (0–1); rows tagged tie or evidence were reordered by the rules in Method.
| # | Engine | Model | Evidence | Score | Public | Own success | Jobs | Median min | Speed |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Code | Claude Opus 5.5 | Proven | 0.96 | 1.00 | 1.00 | 15 | 1.9 | 0.80 |
| 2 | Claude Code | Claude Fable 5.1 | Proven tie | 0.80 | 0.87 | 0.96 | 73 | 2.9 | 0.40 |
| 3 | Claude Code | Claude Sonnet 5.5 | Proven | 0.79 | 0.94 | 0.92 | 48 | 4.0 | 0.20 |
| 4 | Codex CLI | GPT-6 Sol | Proven | 0.70 | 0.70 | 0.50 default | 1 | 1.8 | 1.00 |
| 5 | Codex CLI | GPT-6.1 Sol | Proven tie | 0.66 | 0.87 | 0.74 | 19 | 10.2 | 0.00 |
| 6 | Antigravity CLI | Claude Opus 5.5 | Unproven tie | 0.65 | 0.80 ×0.8 | 0.50 default | 0 | – | 0.50 |
| 7 | Antigravity CLI | Claude Sonnet 5.5 | Unproven | 0.63 | 0.75 ×0.8 | 0.50 default | 0 | – | 0.50 |
| 8 | Codex CLI | GPT-6 Astra | Proven tie | 0.52 | 0.50 none | 0.50 default | 4 | 2.1 | 0.60 |
| 8 more candidates ranked in /bench.json | |||||||||
| # | Engine | Model | Evidence | Score | Public | Own success | Jobs | Median min | Speed |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Code | Claude Opus 5.5 | Unproven tie | 0.75 | 1.00 | 0.50 default | 0 | – | 0.50 |
| 2 | Claude Code | Claude Sonnet 5.5 | Unproven | 0.72 | 0.94 | 0.50 default | 0 | – | 0.50 |
| 3 | Codex CLI | GPT-6.1 Sol | Unproven tie | 0.69 | 0.87 | 0.50 default | 0 | – | 0.50 |
| 4 | Claude Code | Claude Fable 5.1 | Unproven | 0.68 | 0.87 | 0.50 default | 0 | – | 0.50 |
| 5 | Antigravity CLI | Claude Opus 5.5 | Unproven tie | 0.65 | 0.80 ×0.8 | 0.50 default | 0 | – | 0.50 |
| 6 | Antigravity CLI | Claude Sonnet 5.5 | Unproven tie | 0.63 | 0.75 ×0.8 | 0.50 default | 0 | – | 0.50 |
| 7 | Codex CLI | GPT-6 Sol | Unproven | 0.60 | 0.70 | 0.50 default | 0 | – | 0.50 |
| 8 | Codex CLI | GPT-5.6 Sol | Unproven | 0.49 | 0.47 | 0.50 default | 0 | – | 0.50 |
| 6 more candidates ranked in /bench.json | |||||||||
| # | Engine | Model | Evidence | Score | Public | Own success | Jobs | Median min | Speed |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Codex CLI | GPT-5.6 Sol | Unproven | 0.75 | 1.00 | 0.50 default | 0 | – | 0.50 |
| 2 | Claude Code | Claude Sonnet 5.5 | Proven tie | 0.62 | 0.50 none | 0.90 | 19 | 5.0 | 0.50 |
| 3 | Claude Code | Claude Haiku 5.5 | Proven | 0.60 | 0.50 none | 0.50 default | 1 | 0.1 | 1.00 |
| 4 | Claude Code | Claude Fable 5.1 | Proven | 0.55 | 0.50 none | 0.50 default | 7 | 1.4 | 0.75 |
| 5 | Codex CLI | GPT-6.1 Sol | Proven tie | 0.42 | 0.50 none | 0.57 | 28 | 13.7 | 0.00 |
| 6 | Codex CLI | GPT-6 Sol | Proven | 0.45 | 0.50 none | 0.50 default | 1 | 6.9 | 0.25 |
| 7 | Grok CLI | Grok 4.5 | Unproven | 0.25 | 0.00 | 0.50 default | 0 | – | 0.50 |
| # | Engine | Model | Evidence | Score | Public | Own success | Jobs | Median min | Speed |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Code | Claude Fable 5.1 | Unproven | 0.75 | 1.00 | 0.50 default | 0 | – | 0.50 |
| 2 | Claude Code | Claude Sonnet 5.5 | Proven | 0.60 | 0.50 none | 0.50 default | 5 | 1.3 | 1.00 |
| 3 | Codex CLI | GPT-6.1 Sol | Proven tie | 0.49 | 0.50 none | 0.80 | 15 | 9.1 | 0.00 |
| 4 | Codex CLI | GPT-5.6 Sol | Proven | 0.50 | 0.51 | 0.50 default | 2 | 5.8 | 0.50 |
| 5 | Codex CLI | GPT-5.6 Terra | Unproven | 0.41 | 0.32 | 0.50 default | 0 | – | 0.50 |
| 6 | Codex CLI | GPT-6 Astra | Unproven | 0.38 | 0.26 | 0.50 default | 0 | – | 0.50 |
| 7 | Codex CLI | GPT-5.6 Luna | Unproven | 0.29 | 0.08 | 0.50 default | 0 | – | 0.50 |
| 8 | Grok CLI | Grok 4.6 | Unproven tie | 0.25 | 0.01 | 0.50 default | 0 | – | 0.50 |
| 1 more candidate ranked in /bench.json | |||||||||
| # | Engine | Model | Evidence | Score | Public | Own success | Jobs | Median min | Speed |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Claude Code | Claude Sonnet 5.5 | Proven evidence | 0.64 | 0.71 | 0.50 default | 2 | 1.3 | 0.67 |
| 2 | Claude Code | Claude Opus 5.5 | Proven evidence | 0.65 | 1.00 | 0.50 default | 2 | 2.4 | 0.00 |
| 3 | Antigravity CLI | Claude Opus 5.5 | Unproven tie | 0.75 | 1.00 | 0.50 default | 0 | – | 0.50 |
| 4 | Claude Code | Claude Fable 5.1 | Unproven | 0.73 | 0.97 | 0.50 default | 0 | – | 0.50 |
| 5 | Antigravity CLI | Gemini 3.8 Flash | Unproven | 0.70 | 0.89 | 0.50 default | 0 | – | 0.50 |
| 6 | Claude Code | Claude Haiku 5.5 | Proven tie | 0.60 | 0.50 none | 0.50 default | 1 | 0.0 | 1.00 |
| 7 | Antigravity CLI | Claude Sonnet 5.5 | Unproven | 0.60 | 0.71 | 0.50 default | 0 | – | 0.50 |
| 8 | Codex CLI | GPT-5.6 Sol | Unproven | 0.56 | 0.61 | 0.50 default | 0 | – | 0.50 |
| 10 more candidates ranked in /bench.json | |||||||||
Method
priority = 0.5*public_norm + 0.3*own_success + 0.2*speed_rank: weights public 0.5, own success 0.3, speed 0.2; every input is 0–1.- Public: each class metric is min-max scaled across the engine/model pairs ranked here, then averaged; 0.5 when a model has none.
- Harness discount: a score measured in another agent's harness counts at 0.8× (marked ×0.8), for example a Terminal-Bench run in Claude Code credited to Antigravity running the same model. The engine's own harness, or a model-only benchmark, counts in full.
- Own success: share of own jobs in the last 28 days that finished; 0.5 with fewer than 10 jobs. Speed: rank by own median minutes, else Artificial Analysis output speed, else 0.5.
- Evidence first: scores within 0.03 tie (marked tie) and go to more own jobs, then speed. An unproven entry ranks above a proven one only on a clear public margin: more than 0.03 ahead and a higher public score (else marked evidence).
- Limits: Plan limits are checked live when a job is dispatched; this table does not track them.
- Only aggregate job counts, success rates and median minutes are published. Model lists for Grok CLI are unverified.