glossary//agent-harness
agent harness
An agent harness is the execution scaffold around a language model: the tool-calling loop, the context plumbing, the sandboxing, the permissions, and the gates that decide what runs next.
The harness is not the model and not the prompt. It is the layer around both: the code that decides which agent runs, which model tier it gets, which files it may read, which artifact it must produce, which gate checks the result, and what happens when that gate fails. Swap the model underneath and every one of those decisions stays in place. That separation is why the term exists.
But two nearby terms get folded into it, and they shouldn't. Harness engineering is the practice of building and reshaping a harness, not the harness itself. A multi-agent pipeline is what you get when several harnessed runs are wired into a sequence; the harness is what any one run sits inside.
A worked example
The harness is the product describes one, called the Bureau: a task registry, isolated run directories, specialist personas, model routing by role, human checkpoints, and gates that something other than a model has to clear. It is not a wrapper around a chat window. It is a workflow engine.
The problem it was built against is worth stating plainly, because it is what a missing harness looks like. Without one, a person is the harness: holding the whole context in their head, deciding which answer counted, remembering what the last reviewer said, re-checking whether "fixed" meant fixed. Nothing on disk is authoritative. Nothing outside one person's attention enforces the workflow.
What sits at the harness layer
Because the harness runs below the agents, it can observe things they cannot. An agent cannot see its own token spend. A hook fires at the harness layer, receives the finished transcript as a file path, and reads what the orchestrator has no access to. That partition is the subject of agent run cost attribution.
The harness also decides how much it decides. One design injects context up front, guessing what the model will need before it has read the prompt. The other hands the model tools and lets it retrieve on demand, after it has seen the request, which is the argument in give the model the tools, not the context. The line that essay lands on is the shortest description of good harness design in the set: the harness stopped guessing.