A bake-off is a real, dated, reproducible run where the only thing that changes is the model. Same task, same inputs, same prompt. We run one when we need to answer a specific question with money attached — is the cheap model good enough for this job, is our routing actually worth it, can this model be trusted with a number.
Each entry below opens to show what the run found and — the part that matters more — what it does not prove. Every figure is read from the same data file its detail page renders, so nothing here can drift from the run it describes.
Charter summary — can a model shorten the rules every agent session loads?
·6 models · 3 real charters · 24 summaries
0.0HIGH distortions per summary when a model ranks, a second model reviews and the text is pasted verbatim, against 3.0–4.7 when a model rewrites to a smaller budget
ExpandCollapse
The question
Coding agents load a short summary of a product charter (a ledger of settled decisions) at every session start. Can a model write it without dropping a condition an agent needs: by rewriting it, by only ranking decisions that are then pasted verbatim, or with a second model reviewing that ranking?
What it found
Rewriting to 3,000 characters: every summary carried 1–6 HIGH distortions, lines that would make an agent break a rule.
Ranking and pasting verbatim removed almost all of them, but only 14–19 decisions fit the 4,500-character budget and 8–13 critical ones were left out.
This run does not rank the 3 rankers. In this run, a review of Sonnet's ranking by a second model lowered missed critical decisions from 11.0 to 8.3 on average.
How we measured it
3 real charter ledgers, frozen once; the same prompt for every model, one attempt; a blind Claude judge audited each summary against its full ledger. All runs on flat-rate plans.
What it does not prove
One run per model per charter (3 per model); round 3 is one run per charter, so its change is suggestive, not proven. The judge is a Claude model grading Claude summaries. Round 2 had a larger budget than round 1. Charter contents are internal, so only scores are published.
Model vs model — can a different model do a job we already run?
·3 tests · latest: 3 models · 14 inputs
11/14best value in the latest test, among models run on every input — meta-models/Muse-Spark-Open-816B-A42B-promo at $1.99 per 1,000 calls, 2 fabrication flags
ExpandCollapse
The question
Several parts of this site, and our clients' bots, call a model for a fixed job. When a newer or cheaper model appears, from any provider, can it do that exact job as well as the model in use, for less?
What it found
Latest test: Meta's Muse Spark Open on eyesinai's four AI tasks.
Models in use when the test ran: claude-haiku-5-5 passed 10 of 12 inputs with 1 fabrication flag; claude-sonnet-5-5 passed 1 of 2 inputs with 0 fabrication flags.
Price alone says nothing about whether a model can do the job. Every entry lists fabrication flags next to cost, because a cheap model that invents facts is a failure, not a saving.
How we measured it
For each task, every model gets the same real inputs and prompt as the model in use. Judges from different providers grade each answer blind; an input passes when more than half of its gradings pass, and invented facts are counted separately.
What it does not prove
Each test covers one job with a small set of real inputs (14 in the latest). A result holds for that job and that prompt. It does not rank models in general, and the judges can be wrong.
Claude tiers — which support requests actually need Opus?
·8 request types · 360 graded answers · test tenant
$1.07per 1,000 requests on the measured map, 80% below Opus everywhere. The live map is $2.28, because deep analysis stays on Opus for now.
ExpandCollapse
The question
Switchyard can send each type of request to a different Claude model, which saves money only if the map from request type to model is right. The first map was written by hand. Which model does each request type actually need?
What it found
The hand-written map was wrong in both directions. It sent order status to Haiku 5.5, which passed 12 of 15, below the 95% bar. And it paid for a bigger model on 2 types where a cheaper one cleared it.
The measured map is 55% cheaper than the hand-written one, with every type at or above the bar. The live map is only 5% cheaper than the hand-written one so far: holding one type on Opus costs more than the other 7 picks combined.
Most of Haiku's misses were plain errors: a miscounted delivery window, broken word limits. The “summarize a ticket” cell rests on a single problem, missed the same way in every run.
How we measured it
5 hand-written problems per request type, 3 runs each, every model on the same problems. Claude Opus 5.5 graded each answer against a written expected answer. Costs are answer tokens at list price, with the judge excluded.
What it does not prove
A test tenant with a fictional company: this proves the method, not a client's bar. 15 graded answers per cell, so one miss falls below the 95% bar. The deep-analysis problems were well-defined calculations, which says nothing about open-ended analysis.
Thinking on or off — what does the Claude 5.5 default cost?
·3 models · 540 graded answers · test tenant
85·86 / 90·90 / 89·90passed out of 90 paired answers per model, lowest setting · default (Haiku 5.5 / Sonnet 5.5 / Opus 5.5)
ExpandCollapse
The question
The Claude 5.5 models think by default. We send each its lowest-thinking setting to save tokens and time. Does that lose answers?
What it found
The lowest setting lost at most 1 pass per model against the default; with 10–20 answers per cell, that may be chance.
On average, thinking at the default cost 1.2× to 1.8× as much, and it was slower at the median.
How we measured it
The same problems as the Claude tier bake-off, every model at both settings in one run, graded by Claude Opus 5.5 against written expected answers. Answer cost includes thinking tokens, at list price.
What it does not prove
One fictional test tenant with short, well-defined requests, 10–20 answers per cell. Tasks that need a long chain of reasoning could gain more from thinking.
Long context — does Haiku 5.5 hold up past its price jump?
·3 models · 80K and 201K-token prompts of real code
12×what a cached Haiku call cost over the line vs under it, on average, still about 4× less than Sonnet
ExpandCollapse
The question
Claude Haiku 5.5 costs 5× more per token above 100K input tokens. Under and over that line, does it still find what it is asked for, and what does a long prompt cost on each tier?
What it found
Retrieval held: Haiku found every looked-up value at both sizes.
Haiku did not give the right two-step sum 2 times (1 cut off at its output limit); Sonnet and Opus never missed it.
With prompt caching, the average further question cost at least 12× less than the average first call.
How we measured it
Real Python source from our own codebase as the prompt, exact-answer questions at several depths, graded by string match. Every model at its lowest-thinking setting, with prompt caching.
What it does not prove
Five questions per size and model, one run, simple by design. Costs are computed from token counts at list price, not read from a bill.
Claude tier × effort — does more effort fix more bugs?
·9 combinations · 24 tasks · 216 agent runs
23/24Claude Opus 5.5 at high effort passed the most
ExpandCollapse
The question
Claude Code lets you choose the model and the effort. On the same coding tasks as the coding-CLI bake-off, which combination of Haiku, Sonnet or Opus 5.5 and low, medium or high effort passes the hidden tests?
What it found
Inside one model, effort changed the pass count by at most 3; the best and worst model were 1.0 apart on average.
30 of 30 failed runs ended with the agent saying DONE.
How we measured it
The coding-CLI bake-off's 24 tasks and hidden tests, each combination as a Claude Code agent with a 25-minute limit. Costs are Claude Code's list-price figures, not a bill.
What it does not prove
One run per task and setting. Effort is passed to Claude Code but not reported back, so it is not verified. The agents could run plain pytest only.
Haiku 4.5 vs Haiku 5.5 — is the newer Haiku better at our own small jobs?
·5 jobs · 22 measures
88.3%of model picks rule-correct for Haiku 5.5, against 45% for 4.5 (60 calls each)
ExpandCollapse
The question
Our system runs several small, frequent jobs on Claude Haiku: picking a model, grading against a rubric, scoring answers, screening bot replies and labelling intent. Before moving them to Haiku 5.5, does it do each job at least as well as Haiku 4.5?
What it found
On the three grading jobs (rubric, bot screen, answer pass/fail), using the latest rubric run, the two were within 1.7 points of each other.
On rubric run 1, Haiku 5.5 was 8.3 points behind 4.5 (6 of its calls errored).
Haiku 4.5 came out ahead on five measures; the page shows them next to the others.
Every job was scored against something other than Haiku 4.5's own past answers, because those would favour 4.5 by construction.
How we measured it
Each job ran with its production prompt and parser on the same frozen inputs for both models, thinking off, each run under its own spending cap. Only aggregate scores are published; the raw log holds real requests and client answers.
What it does not prove
Small samples and mostly one run per job. The intent row measures agreement with a Sonnet 5 reference, and that reference matched production's logged labels on only 36% of rows, so it is not accuracy. No cost is measured on this page.
Coding CLIs — which agent can be trusted with a fix?
·4 agents · 24 tasks
22/24Codex passed the most, with the fewest false DONEs (2)
ExpandCollapse
The question
Four coding agents, the same 24 bug-fix and feature tasks, graded by hidden tests the agent never saw. Who passes, how fast, and how often does an agent say DONE when the tests fail?
What it found
Scores: Codex 22, Claude Sonnet 20, Z.ai GLM 17, Google Antigravity 13. Every agent said DONE on at least one task it had not solved; Google Antigravity did it 11 times.
All four passed all 6 easy pilot tasks. Easy benchmarks did not separate them; only the harder tasks did.
Most misses on the rebuilt real-world tasks were one missed edge case, often implied rather than stated, and the agent still reported success.
How we measured it
Each agent ran headless and sandboxed, one after another, with the same prompt and grader. A pass needs the hidden tests and the existing suite green on a clean copy of the work, inside a 25-minute limit.
What it does not prove
One run per task with no repeats, on 24 mostly-Python tasks, with agent versions as of 2026-10-03. A one-task gap between two agents is inside the noise.
Grounded turn — which models refuse when they should?
·8 models · 15 turns
6/8models matched the baseline exactly — including both we expected to fail
ExpandCollapse
The question
Answer a visitor from a website's own pages, or refuse. 6 of the 15 questions cannot be answered from the source, so a confident, factually-true answer on those rows is scored as a failure — the model cannot have grounded it.
What it found
openai/gpt-oss-120b matched the claude-sonnet-5 baseline on both axes across 2 runs, at $1.15 per 1,000 turns against $31.23 — a 27× saving.
The 2 models chosen as negative controls — the smallest and cheapest available, picked because we expected them to fail — scored perfectly on first contact. The fixture no longer separates an 8B model from a frontier one.
1 model answered questions it could not ground, and did so while stating the question was out of scope — a scorer matching refusal phrases instead of the decision would have passed it.
How we measured it
The grounding was frozen once — same pages, same order, same budget for every model — then only the model varied. Two independent confirmation runs; scores are mechanical and every apparent regression was re-read by hand.
What it does not prove
That these models are interchangeable in general. The set covers one corpus at one prompt, and six of eight scoring perfectly means it has hit its ceiling — it cannot rank the top of the field, only show that this particular job is easier than assumed. Nothing here tests prompt injection or conflicting sources.
0/1candidates disqualified — for inventing, misapplying, or failing the validator
ExpandCollapse
The question
Fill a 27-line construction budget from real drawings and a soil study, where inventing a number is worse than leaving the cell blank. Which models can be trusted with a figure that costs money if it is wrong?
What it found
The model that filled the MOST lines was the one we could least trust: its answer was refused by the engine’s own validator for bad arithmetic, while showing zero invented values and zero scope violations. Ranking by fill rate would have put it on top.
A "scope violation" — a real, correctly-measured figure applied to the wrong extent — is the dangerous failure. The citation is genuine, so every other check passes and only a domain expert catches it.
0 candidate answered nothing at all. Under the disqualification rule that is a clean sheet, which is exactly why a clean sheet cannot be read as a win.
How we measured it
A deterministic harness fills the budget from the same drawings for each model, then two independent checks run over the result: a citation check for invented quantities and a scope auditor for figures applied to the wrong extent. The engine validates the arithmetic separately.
What it does not prove
Nothing here shows a model can fill correctly when the data is good. The reference run itself could only defensibly fill 1 of 27 lines on most runs, because the drawings lack zone-level areas. Every agreement figure is capped by that ceiling.
Router — our measured routing vs OpenRouter auto-beta
·3 live chatbots · 57 turns
2.4×faster for the same answers — 1161ms against 2798ms average
ExpandCollapse
The question
For real chatbot turns on live client sites, does picking the model ourselves from measured benchmarks beat handing the choice to OpenRouter’s automatic router — on answer quality and on cost?
What it found
The two routers disagreed on the model for essentially every turn, yet quality held: 50 ties, 4 wins for our routing, 3 for auto-beta. Divergence in choice did not mean divergence in outcome.
The cost result has now gone BOTH ways across re-runs: our measured picks were 2.4× cheaper in July, then auto-beta moved down-market and came out 3.1× cheaper in the 2026-08 refresh ($0.01 ours vs $0.00391). A one-shot comparison would still be claiming whichever month it happened to run in.
What held through the flip: quality parity and the latency gap — measured routing answers from a small pinned pool instead of a marketplace hop, and for a live chatbot seconds of delay are a product defect.
How we measured it
Each turn is run through both routers with identical context, then both answers are scored blind by an LLM judge on a 1–5 scale. Cost is the real billed cost of the model each router actually chose.
What it does not prove
A sample this size (57 turns) is directional. It does not prove either router is permanently cheaper — the last two runs disagreed on exactly that — and with 50 of 57 diverged turns scoring level, nobody gets to claim a quality edge either. The durable finding is the method: re-run, publish the number you get, and route on measurement rather than on either month's screenshot.
Judge — can a cheaper model grade as well as a premier one?
·7 candidates · 16 probes
100%best clean agreement with the reference — Haiku 5.5 at $0.00106 against $0.05
ExpandCollapse
The question
We use an LLM to judge whether an assistant answered from site data or punted. That judge is an instrument, and running it on a premier model costs real money. Can a cheaper model do the grading without changing the verdict?
What it found
Cost and reliability are separate axes. The cheapest run was not the most trustworthy, and one candidate returned output the harness could not parse at all on a significant share of probes — an unusable judge is not a cheap judge.
Agreement percentage alone hides the shape of the disagreement: two judges can agree on the same total while flagging different probes, which is why the run records the specific disagreements rather than just the score.
The reference model is the expensive one on purpose. It defines the verdict; everything else is measured as distance from it.
How we measured it
Every candidate grades the same probe set with the same rubric and prompt, with only the model varying. Agreement is measured against a fixed premier-model reference, and unparseable responses are counted rather than discarded.
What it does not prove
16 probes on one task. The reference flagged a gap on every probe, so false alarms on a good answer were not tested. This says which judges track our reference on THIS grading job — it does not transfer to a different rubric, and it does not establish that the reference itself is correct. The judge is an instrument; this run calibrates it, it does not validate it.
The useful part of a bake-off is rarely the winner. It is the failure mode you didn't know to look for — a model that fills every cell and gets the arithmetic wrong, a judge that returns text nothing can parse, a router that picks differently every time and lands in the same place. Those are the findings that change what we ship.
So each run above is published with its ceiling attached. A bake-off on one task, with one reference, at one point in time, tells you about that task. We say so rather than letting a narrow result read as a general claim — and when a run is superseded by a fix, the old numbers stay visible, marked, rather than quietly disappearing.