Home/Guides/Was that the model, or was it the harne…
Guide · 5 min read

Was that the model, or was it the harness?

Agent benchmarks measure two things and report one number. Separating them changes what you should buy.

Quick answer

An agent's score is the product of the model's reasoning and the harness's scaffolding — retries, tool access, context management, verification — and a single number cannot tell you which contributed what. That matters because the two have completely different price tags: harness improvements are engineering you can do, model improvement…

An agent solves 62% of the tasks in a benchmark. A different agent solves 71%. The obvious conclusion is that the second one uses a better model.

Sometimes true. Often not — and the difference decides where your next month of effort should go.

Two systems, one number

Every agent result is the output of two things working together:

A benchmark score is their product, and multiplication is lossy in a specific way: you cannot recover the factors from the result. A strong model in a thin harness and a weaker model in a well-built one can land on the same number, and the two situations call for opposite responses.

Why the harness contributes more than expected

Consider what a good harness does on a task the model gets wrong on the first try. It notices the test failed. It feeds the error back with enough context to be actionable. It tries a different approach rather than the same one. It verifies before reporting success.

Each of those is scaffolding, not intelligence, and together they convert a class of first-attempt failures into eventual successes. On multi-step tasks — where the chance of getting every step right first time is small — that recovery loop can account for a large share of the total.

Which means a meaningful part of what looks like model capability is error recovery you could have engineered yourself.

Separating them

The experiment is simple and rarely run. Vary one thing at a time.

Hold the model, vary the harness. Same model, four configurations: no retries; retries; retries plus tool access; retries plus tools plus a verification step. The spread across those four is your harness contribution, in your codebase, on your tasks.

Hold the harness, vary the model. Your best configuration, three models. That spread is the model contribution — and it is usually smaller than the first, which surprises people who have been buying their way up the tier list.

One number worth collecting while you are there: how often does the harness recover from a model mistake? A high recovery rate means your scaffolding is doing real work and a model upgrade will disappoint. A low one means the model is failing in ways your harness cannot catch, and better scaffolding is the cheaper fix.

Reading published scores

A public agent benchmark reports a pair — this model, in that harness — and only names one of them. Reproducing the score in your own setup can move it substantially in either direction, because your tools, retry policy and context management are not theirs.

Treat published numbers as evidence that a combination can reach a level under conditions you do not share. Your own two-axis test, on your own tasks, is worth more than any leaderboard, and it takes an afternoon.

What to do with the answer

If most of your gap is harness: it is engineering, you own it, and it compounds across every model you use afterwards. Better verification, better error feedback, better context management.

If most of it is model: the upgrade is worth buying, and you will get it without touching your code.

Guessing which one you are in is expensive in both directions — paying for capability you cannot use, or engineering around a limit the next release removes.

Frequently asked questions

Why does the distinction matter commercially?
Because they cost differently. If most of your gain came from scaffolding — retries, better tools, verification — that is engineering you own and can improve. If it came from the model, it is a subscription and you improve it by paying more. Teams routinely buy the second when the first was the constraint.
How do I isolate the harness contribution?
Hold the model constant and vary the scaffolding: same model with and without retries, with and without tool access, with and without a verification step. The delta is the harness. Then hold the harness constant and swap models for the other half.
Do public agent benchmarks control for this?
Rarely in a way you can use. A published score comes from a specific harness with specific tools and retry behaviour, and swapping in your own setup can move the result substantially in either direction. Treat published numbers as an upper bound achieved under conditions you probably do not share.

Related skill

Claude Code skill

Benchmarking AI Agents Beyond Models

Separates harness contribution from model contribution when evaluating AI agent performance, so that benchmark scores a…

Turn this guide into a skill your agent can run

Stop re-explaining the same workflow. Loreto packages it as a Claude Code skill from any source.