Skip to main content

The Harness Is Half the Model: Why Scaffolding Decides Performance

· 7 min read
CatalEx Engineering
The team building CatalEx
CatalEx Engineering · Published June 30, 2026 · 09:00 UTC

The most expensive misconception in applied AI is that performance lives in the model. Pick the best model, the thinking goes, and the rest is glue. So teams spend their attention on which model to call and treat everything around it — the tools, the loop, the context they assemble, the way they check the output — as plumbing.

The data says the opposite. The scaffolding around the model — what we'll call the harness — routinely moves results as much as swapping the model does, and sometimes more. The same weights, handed a better harness, become a different product. If you're deciding where to spend the next month of engineering, this is the argument for spending it on the harness.

What the harness actually is

The harness is everything between the user's intent and the model's tokens:

  • Tools the model can call, and how well their inputs and outputs are shaped
  • The loop — how many steps it gets, when it retries, when it stops
  • Context assembly — what you retrieve and put in the window, and what you leave out
  • Verification — the checks that decide whether an output is accepted or sent back for another pass
  • Memory — what persists across steps and sessions

None of that is the model. All of it decides what the model can accomplish.

Same model, very different results

The cleanest evidence comes from SWE-bench, a benchmark where an agent has to resolve real GitHub issues by editing a codebase until the project's tests pass. It's a good measuring stick precisely because the grader is objective — the tests either pass or they don't.

Watch what happens to the field's score over a couple of years, as both models and harnesses improved together:

SWE-bench Verified — resolved rate over time
2023 — retrieval baseline2024 — SWE-agent scaffold2024 — agentic harness2025 — frontier agents~1.4%~18%~49%~67%

Approximate resolved rates, SWE-bench / SWE-bench Verified. Sources: SWE-bench leaderboard; Yang et al., "SWE-agent" (2024); public vendor reports. Exact figures depend on model version and evaluation date.

A jump from roughly 1% to roughly 67% is not a story about weights getting 60x better. Model quality improved a great deal in that window — but a large share of the climb came from learning how to wrap the model: giving it a code-navigation tool instead of raw file dumps, letting it iterate against the test suite, managing what stayed in context. The harness matured alongside the model.

You can see the harness's contribution in isolation by holding the model fixed and changing only the scaffold. The pattern is consistent across published results: a capable model, asked to emit a patch in one shot, badly underperforms the same model given tools and a loop.

One fixed model, three harnesses (SWE-bench Verified, illustrative)
Single-shot patchBasic ReAct loopPurpose-built harness~5%~27%~49%

Representative of the gap reported between minimal and agentic scaffolds on a fixed model. Illustrative figures consistent with SWE-agent (2024) and vendor agent reports; the point is the shape, not the decimal.

Same weights. Roughly a 40-point spread. The harness is not glue around the performance — a large fraction of the performance is the harness.

Why this happens: a single forward pass has to be right the first time, with whatever context it was handed. A harness converts a one-shot guess into a process — look, act, observe, check, correct. That turns the model's real strength (reacting well to feedback) into task success, and it's exactly the strength a single shot never gets to use.

The harness compounds; the model resets

There's a second reason to invest in the harness, and it's about time, not just scores. Model choice is a decision you re-make every few months — a new frontier model ships and you re-evaluate. Every dollar of prompt-whispering tuned to one model's quirks partially evaporates at the next upgrade.

Harness investment does the opposite. A good code-navigation tool, a well-designed verification step, a context-assembly strategy that keeps the window clean — these carry forward onto the next model, and usually get better underneath it, because a stronger model uses a good tool more effectively. The harness is the part of your system that accrues value across model generations instead of being reset by them.

This also reframes the "which model" debate. On a mature harness, the gap between the top two or three frontier models is often smaller than the gap between a good and a mediocre harness on either of them. The model is a component you swap; the harness is the product you build.

So what should you actually build?

If the harness is where the leverage is, a few principles follow.

Make it model-agnostic. Treat the model as a replaceable component behind an interface. When the next model ships, you want to run your eval suite against it in an afternoon, not rewrite your prompts. The teams that move fastest on new models are the ones whose harness didn't hard-code the old one.

Invest in tools and their ergonomics, not just their existence. A tool whose output is a wall of unstructured text costs the model context and attention. The same tool returning a tight, structured result is worth more than a model upgrade. Shape tool I/O the way you'd shape an API for a junior engineer who reads fast but tires easily.

Build the verification step first, not last. The loop that lets a model check and correct its own work is the single highest-leverage piece of the harness — it converts a capable one-shot model into a reliable one. Everything we've written about loop engineering and evals is really about this component of the harness.

Manage context like a budget. More retrieved text is not more capability past a point; it's noise that buries the signal. A harness that puts the three right things in the window beats one that puts fourteen plausible ones.

At CatalEx this is the whole thesis of the product. The platform is a harness — tools, orchestration, memory, verification, model routing — built so that the model underneath is a component you can swap as the frontier moves, while the scaffolding that actually determines whether an agent works keeps compounding. Pick your model carefully. Then spend the real effort on everything around it, because that's where the performance was hiding all along.


Written by CatalEx Engineering. We build the AI operating layer for AI-native companies — one platform to build, deploy, and run AI agents in production. More at catalex.co.