AI Models Compared on the Same Tasks
Every model we tested, job by job. The full tables are on the comparison page, and the routing page picks a model for each job.
Each job, each model, with no help
Each grid shows how every model scored on each job, with no tip and no skill. There is one grid per test method. The grids are never mixed, because each test method gives the model different tools.
A darker shade is a higher score, and the score is printed too. A solid ring marks the best score in a row. A dashed ring marks a score too close to call against it. Each row reads one run, and the rest are under “Other runs”.
- 0 to 19%
- 20 to 39%
- 40 to 59%
- 60 to 79%
- 80 to 100%
Via API
| Job | Claude Haiku 4.5 | GPT-5 mini | Gemini 3.1 Flash Lite | GPT-5.4 mini |
|---|---|---|---|---|
Accessibility audit
Harder tasks, each model at its own tier, 2026-09-18
Different tiers are not ranked against each other.Other runs (2)
| in another run | 58.7% tier 1 | 40.0% tier 2 | not run |
| Code review Wider run, three ways, 2026-09-06 | not run | 70.0% tier 1 best | 57.5% tier 1 too close to call | not run |
On-page audit
First run, with and without the skill, 2026-08-30Other runs (1)
| 23.9% tier 1 too close to call | 44.9% tier 1 too close to call | 48.8% tier 1 best | not run |
Skill authoring
First run, with and without the skill, 2026-08-30Other runs (1)
| 61.8% tier 1 | 73.2% tier 1 too close to call | 87.3% tier 1 best | not run |
Spec writing
First run, with and without the skill, 2026-08-30Other runs (1)
| 99.5% tier 1 best | 94.5% tier 1 | 99.1% tier 1 too close to call | not run |
| Link graph and metadata parity audit Not run this way | not run | not run | not run | not run |
| Corpus integrity and correction Not run this way | not run | not run | not run | not run |
| Traffic drop triage Not run this way | not run | not run | not run | not run |
Getting clean JSON back
Harder tasks, tier 2, 2026-09-19
No model managed this on its own.Other runs (1)
| in another run | 0.0% tier 2 | 0.0% tier 2 | not run |
Getting the length right
Harder tasks, tier 2, 2026-09-19Other runs (2)
| in another run | 5.0% tier 2 best | 3.7% tier 2 too close to call | in another run |
| Questions about recent events Main run, tip by tip, 2026-08-17 Same tasks, also from: API twin for the Codex run, 2026-09-07 | 85.6% tier 1 best | 48.6% tier 1 | 3.3% tier 1 | 27.5% tier 1 same tasks, another run |
| Better step-by-step answers Main run, tip by tip, 2026-08-17 | 30.0% tier 1 too close to call | 16.0% tier 1 | 40.0% tier 1 best | not run |
In Claude Code
| Job | Claude Haiku 4.5 | Claude Fable 5 | Claude Fable 5.1 | Claude Opus 5 | Claude Opus 5.5 | Claude Sonnet 5 |
|---|---|---|---|---|---|---|
Accessibility audit
Harder tasks, each model at its own tier, 2026-09-18
Same tasks, also from: Harder tasks, Claude Opus 5.5 at its own tier, 2026-09-26
Different tiers are not ranked against each other.Other runs (6)
| 44.8% tier 1 | in another run | 89.4% tier 3 too close to call | 56.1% tier 3 | 92.8% tier 3 best same tasks, another run | 43.3% tier 2 |
| Code review Wider run, three ways, 2026-09-06 Same tasks, also from: Opus 5.5 series, wider run, three ways, 2026-09-26 Same tasks, also from: Fable 5, wider run, three ways, 2026-09-19 | 58.3% tier 1 | 85.8% tier 1 too close to call same tasks, another run | 89.0% tier 1 too close to call | 93.5% tier 1 best | 85.4% tier 1 too close to call same tasks, another run | 74.9% tier 1 too close to call |
On-page audit
Wider run, three ways, 2026-09-06
Same tasks, also from: Opus 5.5 series, wider run, three ways, 2026-09-26
Same tasks, also from: Fable 5, wider run, three ways, 2026-09-19Other runs (3)
| 23.1% tier 1 | 93.2% tier 1 too close to call same tasks, another run | 97.2% tier 1 best | 88.1% tier 1 too close to call | 93.3% tier 1 too close to call same tasks, another run | 53.0% tier 1 |
Skill authoring
Wider run, three ways, 2026-09-06
Same tasks, also from: Opus 5.5 series, wider run, three ways, 2026-09-26
Same tasks, also from: Fable 5, wider run, three ways, 2026-09-19Other runs (3)
| 67.3% tier 1 | 100.0% tier 1 best same tasks, another run | 100.0% tier 1 best | 100.0% tier 1 best | 99.8% tier 1 too close to call same tasks, another run | 100.0% tier 1 best |
Spec writing
Wider run, three ways, 2026-09-06
Same tasks, also from: Opus 5.5 series, wider run, three ways, 2026-09-26
Same tasks, also from: Fable 5, wider run, three ways, 2026-09-19Other runs (3)
| 99.2% tier 1 too close to call | 95.9% tier 1 same tasks, another run | 97.9% tier 1 too close to call | 92.3% tier 1 | 99.5% tier 1 best same tasks, another run | 96.2% tier 1 |
| Link graph and metadata parity audit Workflow run, five times each, 2026-09-10 No range was published, so none is marked as close. | not run * | not run | 100.0% tier 1 best | 92.9% tier 1 | not run | 73.7% tier 1 |
| Corpus integrity and correction Workflow run, five times each, 2026-09-10 No range was published, so none is marked as close. | not run * | not run | 71.7% tier 1 | 75.8% tier 1 best | not run | 64.2% tier 1 |
| Traffic drop triage Workflow run, five times each, 2026-09-10 No range was published, so none is marked as close. | not run * | not run | 100.0% tier 1 best | 100.0% tier 1 best | not run | 80.0% tier 1 |
Getting clean JSON back
Harder tasks, tier 2, 2026-09-19
Same tasks, also from: Claude Opus 5.5, tier 2, 2026-09-25
No model managed this on its own.Other runs (3)
| 0.0% tier 2 | in another run | 0.0% tier 2 | 0.0% tier 2 | 0.0% tier 2 same tasks, another run | 0.0% tier 2 |
Getting the length right
Harder tasks, tier 2, 2026-09-19
Same tasks, also from: Claude Opus 5.5, tier 2, 2026-09-25Other runs (3)
| 4.2% tier 2 best | in another run | 0.3% tier 2 too close to call | 0.3% tier 2 too close to call | 0.3% tier 2 too close to call same tasks, another run | 1.4% tier 2 too close to call |
Questions about recent events
Main run, 2026-09-03Other runs (2)
| 96.7% tier 1 best | 87.8% tier 1 too close to call | 92.2% tier 1 too close to call | 80.3% tier 1 too close to call | in another run | 93.3% tier 1 too close to call |
Better step-by-step answers
Main run, 2026-09-03
Same tasks, also from: Claude Opus 5.5, asked each task five times, 2026-09-28Other runs (1)
| 20.0% tier 1 too close to call | 40.0% tier 1 best | 40.0% tier 1 best | 40.0% tier 1 best | 40.0% tier 1 best same tasks, another run | 40.0% tier 1 best |
- * Claude Haiku 4.5 on Link graph and metadata parity audit, Corpus integrity and correction and Traffic drop triage. Before we buy a single run we check that a session can only read the files we put in front of it. That check never came back the way it has to, on any of the 3 tries we had written down beforehand, so we bought no runs at all. This is us declining to measure, and it says nothing about the model.
In Codex
| Job | GPT-5.4 mini | GPT-5.6 Luna | GPT-5.6 Terra | GPT-6 Luna | GPT-6 Sol |
|---|---|---|---|---|---|
| Accessibility audit Not run this way | not run | not run | not run | not run | not run |
| Code review Not run this way | not run | not run | not run | not run | not run |
| On-page audit Not run this way | not run | not run | not run | not run | not run |
| Skill authoring Not run this way | not run | not run | not run | not run | not run |
| Spec writing Not run this way | not run | not run | not run | not run | not run |
| Link graph and metadata parity audit Not run this way | not run | not run | not run | not run | not run |
| Corpus integrity and correction Not run this way | not run | not run | not run | not run | not run |
| Traffic drop triage Not run this way | not run | not run | not run | not run | not run |
| Getting clean JSON back Codex run, tip by tip, 2026-10-03 No model managed this on its own. | 0.0% tier 1 | 0.0% tier 1 | 0.0% tier 1 | 0.0% tier 1 | 0.0% tier 1 |
Getting the length right
Codex run, tip by tip, 2026-10-03
No range was published, so none is marked as close.Other runs (1)
| 20.6% tier 1 | 57.7% tier 1 | 62.4% tier 1 best | 51.0% tier 1 | withheld * |
Questions about recent events
Codex run, tip by tip, 2026-10-03
One model on this run, so none is marked.Other runs (1)
| withheld * | withheld * | 30.0% tier 1 | withheld * | withheld * |
| Better step-by-step answers Codex run, tip by tip, 2026-10-03 No range was published, so none is marked as close. | 30.0% tier 1 | 30.0% tier 1 | 30.0% tier 1 | 30.0% tier 1 | 40.0% tier 1 best |
- * GPT-6 Sol on Getting the length right. Incomplete coverage at retry exhaustion; 1 registered units have no valid record. Resume only within registered retry policy.
- * GPT-5.4 mini on Questions about recent events. Model no longer served to this account after 38 of 60 units; two retries refused.
- * GPT-5.6 Luna on Questions about recent events. 6 units exhausted the single C8 retry after policy-blocked built-in tool attempts; no completed tool or MCP hit. Full one-pass coverage not reached.
- * GPT-6 Luna on Questions about recent events. Incomplete coverage at retry exhaustion; 9 registered units have no valid record. Resume only within registered retry policy.
- * GPT-6 Sol on Questions about recent events. Incomplete coverage at retry exhaustion; 15 registered units have no valid record. Resume only within registered retry policy.
Every model, and what tested it
Every count here comes from the saved test results. A model is listed because a test produced a result for it, not because one was planned.
| Model | Instruments | Versions | Task sets measured | Page |
|---|---|---|---|---|
| Claude Haiku 4.5 | tested via API; tested in Claude Code | 1 | 20 | Claude Haiku 4.5 |
| GPT-5 mini | tested via API | 1 | 16 | GPT-5 mini |
| Gemini 3.1 Flash Lite | tested via API | 1 | 16 | Gemini 3.1 Flash Lite |
| Claude Fable 5 | tested in Claude Code | 2 Claude Fable 5 and Claude Fable 5.1 | 17 | Claude Fable 5 |
| Claude Fable 5.1 | tested in Claude Code | 2 Claude Fable 5 and Claude Fable 5.1 | 17 | Claude Fable 5.1 |
| Claude Opus 5 | tested in Claude Code | 1 | 17 | Claude Opus 5 |
| Claude Opus 5.5 | tested in Claude Code | 1 | 17 | Claude Opus 5.5 |
| Claude Sonnet 5 | tested in Claude Code | 1 | 17 | Claude Sonnet 5 |
| GPT-5.4 mini | tested via API; tested in Codex | 1 | 12 | GPT-5.4 mini |
| GPT-5.6 Luna | tested in Codex | 1 | 11 | GPT-5.6 Luna |
| GPT-5.6 Terra | tested in Codex | 1 | 12 | GPT-5.6 Terra |
| GPT-6 Luna | tested in Codex | 1 | 11 | GPT-6 Luna |
| GPT-6 Sol | tested in Codex | 1 | 10 | GPT-6 Sol |
A model line with more than one served version renders as a series: each version keeps its own row on every table, and the per-task-set shifts between them are published on the comparison page and on each version’s own page. Versions are never collapsed into one row.