A language model on its own takes text in and produces text out. An agent harness is the software that wraps the model so it can act: calling tools, reading results, and deciding what to do next until a task is done.
What a Harness Provides
- The agent loop: send context to the model, run any tool calls it requests, feed results back, repeat.
- Tools: functions the model can call — reading files, running commands, searching, calling APIs.
- Context management: deciding what goes into each request as the conversation grows.
- Permissions: which actions need approval and which are forbidden.
- Sandboxing: isolating the agent's actions from things it shouldn't touch.
- Memory and state: persisting information across steps and sessions.
- Observability: logging every step for debugging and audit.
Why It Matters
The same model can perform very differently in different harnesses. Tool design, context handling and error recovery often matter as much as model choice.
Examples
Coding agents, research agents, customer-service agents and computer-use agents are all a model plus a harness tuned to their task.
Build or Buy
Agent SDKs and frameworks provide ready-made harnesses; simple agents can be a few dozen lines of code around a model API. Start simple and add complexity only when needed.