What is an AI harness? And why you should care (a lot).

Ronni Holmvig Strøm · 2026-08-02

A car engine is a feat of engineering, and on its own it moves nothing. Set it on the garage floor and it will sit there, idling to no purpose. It needs a chassis to live in, a transmission to turn its power into motion, wheels to meet the road, a steering column so that force arrives where the

A car engine is a feat of engineering, and on its own it moves nothing. Set it on the garage floor and it will sit there, idling to no purpose. It needs a chassis to live in, a transmission to turn its power into motion, wheels to meet the road, a steering column so that force arrives where the driver wants it. The engine supplies the power. Everything else supplies the car. We have spent years admiring the engine and calling it the automobile.

For most of the last couple of years, the question "how good is this AI?" collapsed into a question about the (large language) model. We compared parameter counts, benchmark scores, context lengths, the pedigree of the lab. The model was the machine, and everything around it was plumbing. That habit is now getting in the way of understanding where capability actually comes from, because the same model, wrapped in two different pieces of software, will behave like two different workers. One finishes a week-long refactor. The other loses the thread after twenty minutes and cheerfully reports that it is done.

The software doing the wrapping has a name that practitioners settled on in early 2026: the harness. The shorthand that spread with it is deceptively simple. An agent is a model plus a harness, and if you are not the model, you are the harness. The formula looks like an accounting trick until you sit with what it implies. Half of what we call an "agent" is not the neural network at all. It is ordinary, deterministic code, and it turns out to carry a surprising share of the intelligence we attribute to the whole.

The Model Is Only Half the Agent

A language model, on its own, does very little. It takes text in and produces text out. It has no memory between calls, no loop, no hands. It can express the intent to run a command, but it cannot run it. Ask it to build an application and it will describe one. Ask it to fix a failing test and it will guess at the fix, with no way to run the test and see.

Everything that turns that stateless text-predictor into something that acts belongs to the harness. Vivek Trivedy of LangChain defines it as every piece of code, configuration, and execution logic that is not the model itself: the system prompt, the tools and their descriptions, the sandbox the tools run in, the orchestration logic that spawns subagents and routes work, and the middleware that quietly manages what the model sees. The cleanest way to draw the line is to ask what the model cannot do unaided. It cannot hold durable state, execute code, reach real-time knowledge, or set up an environment to work in. Each of those absences is filled by a harness feature, deliberately designed.

The pattern is older than the name. A model alternating between reasoning and acting in a loop was formalized in the ReAct framework in 2023. The ability of a model to call external tools at all was demonstrated in Toolformer the same year. What changed in 2026 was that the scaffolding around the model grew elaborate enough, and consequential enough, to deserve a discipline of its own.

What the Harness Actually Holds

The most foundational primitive is the least glamorous one: a filesystem. It sounds like an afterthought until you notice how much it unlocks. A filesystem gives the agent a workspace to read and write, a place to offload information that no longer fits in the context window, and a way to persist work that outlasts a single session. Add git on top and the agent can version its own work, roll back a bad change, and hand a clean history to whatever comes next. Much of the recent progress in long-running agents is really progress in teaching a model to treat the disk, rather than its context window, as the seat of memory.

On top of storage sits execution. Rather than force a builder to hand-craft a tool for every possible action, modern harnesses ship a general-purpose one: a bash shell and the ability to write and run code. The model can then invent its own tools on the fly instead of waiting for a human to anticipate them. That execution has to happen somewhere safe, which is the job of the sandbox: an isolated environment where code can run, dependencies can install, and a mistake stays contained. Good sandboxes come pre-stocked with the boring essentials (language runtimes, test runners, a browser), so the agent can not only act but check its own work.

Then there is the harder, quieter problem of keeping the model coherent as a task drags on. Models degrade as their context window fills, a phenomenon practitioners now call context rot, and a harness spends much of its effort fighting it. Compaction summarizes and offloads the transcript before the window overflows. Large tool outputs get trimmed to their head and tail, with the full text parked on disk in case it is needed. Instructions that would otherwise flood the context on startup are disclosed progressively, only when relevant. None of this is reasoning. All of it changes how well the reasoning holds up.

A Worked Example: Engineers Working in Shifts