2026-08-23
The Harness Is Not the Factory
An agent harness turns a model into a worker. It does not turn that worker into a software-delivery system.
The harness gives the model somewhere to work
A model can produce an answer. A harness gives it an environment where that answer can become action. It supplies operating instructions, exposes tools, keeps the work moving through a loop, and translates between the model and the surrounding software. That is the basic mechanism behind the agents now writing code, searching systems, editing files, and sending results back through the interface where the request began.
The distinction matters because the model is not the whole agent. The model reasons about the next move. The harness decides which moves are possible, what context arrives, how tool calls execute, what state survives, and when another turn can happen. Change the harness around the same model and you can get a completely different worker.
That is also why model comparisons explain less than buyers think. A stronger engine can help, but the engine still inherits the environment around it. If the harness provides vague instructions, broad permissions, weak context, and no durable record, more intelligence mostly produces a more capable improviser.
The loop is where chat becomes agency
A chat response ends when the model returns text. An agentic loop can inspect that result, call a tool, observe what happened, and choose another move. It may search again because the first result was thin. It may run a test, read the failure, change the implementation, and run the test again. The harness holds that sequence together.
Tools turn intent into consequences. A file tool can change a repository. A shell can run a build. A browser can retrieve current information. The harness describes those capabilities and mediates access to them, while the model chooses among the available moves. That combination is powerful precisely because the path does not have to be scripted in advance.
But an open loop is not proof. The model can decide that its own work looks complete while missing the requirement that matters. It can select a friendly test, misunderstand a tool result, or keep spending attempts without improving the answer. Agency lets the worker navigate. It does not guarantee that the destination, boundaries, or finish line are correct.
Own the harness and the model becomes replaceable
A harness can create distance between your operating system and any one model provider. If it presents a stable set of tools, context, and controls, the engine underneath can change without forcing the entire workflow to change with it. Different tasks can take different routes. A cheap model can handle a narrow transformation. A harder planning problem can earn a stronger model and a larger budget.
That flexibility is real leverage. Your sessions, extensions, policies, and working interfaces can remain yours while model capabilities and prices move underneath them. You can evaluate engines under your conditions instead of reorganizing the company around whichever application currently has the best demo.
Still, portability by itself is not an operating advantage. Swapping models inside an unmeasured loop gives you choice, not control. The durable value appears when routing rules, budgets, failure history, and acceptance evidence also belong to the system. Otherwise someone still has to shop for a model, watch every run, and decide by feel whether the output is good enough.
The factory starts where the harness stops
Professional delivery needs more than a capable worker. It needs a way to turn an objective into bounded work, assemble the right context, grant the minimum authority, inspect the result outside the builder's chosen conditions, and carry production feedback into the next plan. Those stages may use harnessed agents, but no single agent should own all of them.
The builder cannot be the only judge. A factory puts acceptance gates outside its control: type checks, tests, policy rules, runtime evidence, security boundaries, and human decisions where consequences demand them. When a run fails, the lesson changes the specification, retrieval route, permission, test, or routing rule. The correction becomes machinery instead of advice pasted into tomorrow's prompt.
This is the uncomfortable organizational change. Once repeatable implementation, checking, and coordination live in governed machinery, fewer people are needed to perform those transfers by hand. Human judgment moves to choosing the destination, setting standards, and owning consequences. That does not protect every current role. It makes the remaining decisions more consequential.
Ask what survives the model
If you are evaluating an agent, start with the harness. Ask what instructions it receives, which tools it can call, how permissions are bounded, what state persists, and whether you can change the model without rebuilding the workflow. Those questions reveal whether you are buying a flexible worker or renting a polished interface.
Then keep going. Ask who defines done, where independent proof runs, how failures alter later work, and whether the system can route tasks without a person repacking every request. That is where the conversation moves from agent capability to factory design.
A harness is essential machinery. It gives intelligence hands, memory, and a route through work. Just do not confuse the machine that equips one worker with the system that decides what gets built, proves it holds, and learns after it ships. The harness creates the agent. The factory makes the agent dependable enough to run the business.
In response to What Is a Harness? by Earendil.