Writing

thought

Do specialised agents really need a full harness?

First published on LinkedIn

Photo by James Case on Flickr, CC0 1.0

There are many agent harnesses now. OpenClaw and Nous Research’s Hermes Agent are the well-known ones, and newer entries keep arriving, like DeepSeek Harness and LangChain’s Deep Agents. A harness is the layer around the model. It decides what the model is allowed to see and what it is allowed to do. Every harness in that list is built for a general assistant, one that has to handle a request nobody wrote down in advance.

Most agents I build are not general. An FAQ agent answers questions about one product. A transaction agent creates an order. An analysis agent reads one document and fills in a form. Do they need a full harness, or is it overkill?

The harness itself is not optional. GPT-6 scores 62.7% on ARC-AGI-3 without one and 99.9% with one. So the question is not whether to have a harness. The question is how much of one.

What is inside a harness

A harness has four parts, and the same four are there whether the agent is general or narrow.

Tools are what the agent may call, and the rule for what it says when a tool returns nothing.

Memory is what the agent is allowed to see. That is a slice of the conversation, not the whole transcript.

Control flow decides which step runs next, and when the agent stops.

Evaluation is a set of real questions with known answers. It is the part that tells you whether the other three worked.

The difference between a general harness and a specialised one is the size of each part.

A full harness against the slice one agent needs. The four parts are the same either way.

A specialised agent needs a slice of each

An FAQ agent needs one retrieval tool. It sees the current question and the last few turns. It stops when the answer is not in the documents. Its evaluation set is about fifty real questions from the support inbox.

A transaction agent needs typed tools with an approval step. It sees the order being built and nothing else. It asks for a confirmation before anything is written. Its evaluation set is a replay of real orders.

An analysis agent needs read-only tools. It sees the document under analysis and nothing else. It stops when every field is filled. Each field is then checked against the page it came from.

All four parts are present every time. Only the size of each part changes. A general harness keeps each part wide because it does not know what is coming next. A specialised agent does know, and that knowledge is what lets you narrow it.

Where the effort belongs

A harness is how the right context reaches the model at the right time, and how you find out whether the answer was any good. The rest is packaging. I wrote about the first half of that in context engineering.

Build the smallest version of the four parts your agent needs. Adopt a general harness when the agent really is general. A large harness also looks complex on the first day. That cost is real. Time spent learning the framework is time not spent on the context and the evaluation set.