What an agent harness is
An agent harness is everything around the model call: the tools it may use, the text it gets back, the checks on what it claims, the window it works in, and the record of what it did.
The model is the part you did not write
A working agent is a model inside a program. Almost none of that program is the model, and almost all of it is yours.
Why this is the useful place to work
Prompt changes are the obvious lever and they run out. A better prompt cannot invent a tool that does not exist, cannot tell the model about a failing case the error message did not name, and cannot stop a model that has announced success while wrong.
The harness can do all three.
The experiment this makes possible
Because the harness is code, you can hold the model fixed and vary the harness. That is the only comparison in this subject that is actually clean: change the prompt and the model together and you cannot attribute the difference to either.
Every figure in this volume comes from that experiment. One scripted, deterministic model; six switchable layers; the same task run again with one layer removed.
The six layers, named once
| layer | what it decides | step |
|---|---|---|
| tool surface | what actions exist, and how easy they are to name correctly | 3 |
| error text | what the model learns from a failure | 4 |
| verifier | whether a claim of success is believed | 5 |
| context budget | what survives when the window fills | 6 |
| recovery | what happens when the same thing keeps happening | 7 |
| observability | whether you can reconstruct any of it afterward | 7 |
Part 2 takes one at a time. What each one buys is a measurement, not an argument, and it is deferred to Part 3 where the three tasks can be compared.
What to take from this step
- The harness is the part of an agent you wrote, and it is where the remaining leverage is once prompting runs out.
- Hold the model fixed and vary the harness. It is the only clean comparison available.
- Six layers, and none of them is about wording.