AI & Automation Data Engineering

The Agent Is the Model Plus the Harness

When an AI agent fails, the reflex is to reach for a better model. It is almost never the model. The capability lives in the harness you build around it, and that is the half you own.

· 5 min read · Syed Aamir

We are all renting the same handful of models now. Most of the people building with AI are working inside Claude Code or Codex, pulling from the same weights, and the results are all over the place. One person ships a working feature by lunch. The next spends the afternoon watching the agent rebuild things that already exist, and hand back something confidently broken.

When it goes wrong, the reflex is always the same: blame the model, reach for a newer one, a bigger one, the one that topped a benchmark last week. I did this for months, and it almost never helped, because the model was almost never the thing in my way. What was in my way was everything around the model: the setup I had built badly, or, more often, the piece of it I had not built yet.

The model is the half you rent

An agent is a model plus a harness. The model is the reasoning engine you rent, the trained weights everyone pulls from the same few providers. The harness is everything else: the code and rules that decide how the model gets used, the tools it can reach, what it is allowed to do, how it checks itself, and what it does when it fails.

That split tells you where your leverage actually is. The model is rented, and you own it no more than your competitor does: the same one is an API call away for them, and it improves on a schedule none of you control. The harness is the opposite. It is the half you build, the half you keep, the half nobody else has a copy of. The capability you are chasing does not live in the half you rent. It lives in the half you build.

Same model, thirteen points up the leaderboard

Earlier this year the team at LangChain took a coding agent from outside the top thirty to the top five on a hard agent benchmark, a jump of about thirteen points, without changing the model once. The weights stayed the same the whole way. Everything that moved was the harness: the tools, the prompts, the loop it ran in.

A big part of that jump came from verification. They got the agent to re-read its own work and confirm it before it was allowed to call itself done. The model did not get any smarter. The gains came from the harness, and verification carried a large share of them.

It is not a one-off, either. The people who study these benchmarks keep finding the same pattern: the harness can swing a score more than the model does, sometimes by enough to flip which of two agents ranks higher. The part everyone argues about is the part that matters least.

The strap that made mine reliable

I found the same thing in my own work, at a much smaller scale.

When I started leaning on a coding agent for real, the problem was never that it was dumb. It was that it lied to me about being finished. It would tell me the work was done, sound completely sure, and hand me something that did not run. I would have shipped it more than once if I had taken it at its word.

What fixed that was not a better model. It was a rule I put around it: it does not get to call anything done until it has shown me the check passed. Not told me. Shown me. The build ran, the page rendered, the thing does what it claimed, and I can see the proof for myself. Until then it is not finished, however sure it sounds.

Right now I enforce that by hand, the way you would with anyone whose work you are still learning to trust. The next step is to stop leaning on my own discipline and wire it in. Both Claude Code and Codex now give you hooks for exactly this: code that runs the moment the agent tries to call itself done, so the check happens on its own instead of depending on me to remember it. The first time it slips past a check, you don’t just fix the output, you add the hook that makes that same slip impossible next time. That is not model work. It is a strap you add to the harness, and it holds whether or not you are paying attention.

A better model is not an edge

A better model, when it lands, lifts everyone at once. Your agent gets better, and so does your competitor’s, by the same amount, for the same monthly fee. That is not an edge. An edge is something the people you compete with do not also have, and a model upgrade is something they get on the same day you do.

The harness is the only part that is actually yours. The checks you wrote, the tools you gave it, the failures you already taught it to avoid: none of that ships in the next release, and none of it is an API call away for anyone else. A smarter model is something you buy. A harness is something you own.

So which half are you working on?

The next time your agent hands you something wrong, notice which way you move. If it reaches for the model list, you are shopping the rented half, the half that was never going to be your advantage. The other move is slower, and it is the one that compounds: ask what strap was missing, and add it.

You are not waiting for a smarter model. You are building the harness around the one you already rent. The model is what everyone has. The harness is what you make of it.