Blog · · 4 min read

Agentic harness: why an AI workflow is not enough

AI agents are fast; the hard part is trusting what they hand back. An agentic harness frames AI agents and keeps a trail of everything, in any line of work.

AI agents are fast. They write code, summarise files, produce images. The question is no longer whether they can do the work. It is whether you can trust what they hand back, and at what cost.

I spent seventeen years in software engineering. When I started handing development work to agents, I ran into the same problems again and again.

On the left, an agent alone: a line looping between "fix", "break" and "fix again", ending in a doubtful "Done!". On the right, an agent in a harness: a straight line through three passed checks (tests, review, checks) ending in "Done, with evidence".
An agent alone goes in circles. In a harness, it moves from check to check.

What breaks when the agent works alone

None of these problems comes from a lack of intelligence in the model. They come from a lack of frame.

A workflow is not enough, it takes a harness

A workflow says in which order to do things. A harness makes it impossible to skip a step. The difference is simple: in a workflow, the order is an instruction the agent can forget; in a harness, it is written into the code that orchestrates the agents.

That is what I built for my own craft with Engineering Harness. Every task follows a path the agent cannot cut short:

  1. A specification first, split into small steps with their acceptance criteria. The scope is written down before any code is touched, and it does not grow without explicit approval.
  2. Tests before code. They must fail, and for the right reason.
  3. Another agent reviews those tests before a single line of production code is written.
  4. The code, just enough to make the tests pass.
  5. The code is broken on purpose to check that the tests notice.
  6. A review panel then looks at the result from several angles: the need, the tests, drift, bugs, and security when it matters.
The six steps of Engineering Harness from top to bottom: specification, tests first, test review by another agent, code, checks where the code is broken on purpose, review panel. Rejected tests go back to the tests step; a problem found by the reviewers sends the work back to the code. At the end: "Done, with evidence".
The Engineering Harness loop. Every way back has a budget: when it runs out, the flow stops and asks you to decide.

Every loop has a budget. When it runs out, the flow stops and asks me to decide, instead of going in circles at my expense.

Knowing what was done, and why

A harness does more than block shortcuts. It keeps a trail of everything that happened. When you hand work over, that may matter most of all: being able to go back to it.

Every piece of work leaves a folder in the repository: the agreed specification, where the work stands, and one file per story, meaning per task, with its tests, its evidence and the reviewers' verdicts. When the work closes, the decisions that must last are carried into the project's rules, which every later task has to respect. Weeks later, you can find what was done, why, and on what evidence. And because everything lives in files rather than in the memory of a conversation, a fresh session picks up exactly where the last one stopped.

Observability is built in. A profiler rebuilds every run from what the flow already writes, without asking the agents for a single extra turn. It shows the path taken, every loop of every story, what was sent back, the time spent and what each agent cost.

On the left, the trail left in the repository: spec.md for the agreed scope, status.md for where the work stands, one file per story with its tests, evidence and verdicts, and invariants.md for the decisions that last. On the right, the profiler: each story on its own line, split into steps, with a step that was sent back clearly marked, and the time, cost and loops of each step.
What the harness keeps: the trail of every story, and a profiler that reads it back.

Business checks are not just for developers

Software development is only one line of work among many. What matters in a harness is not unit tests: it is the checkpoints the work has to clear before it moves on.

For any line of work, the same questions come back:

A step where the AI works leads to a business check. If it passes, the work moves to the next step. If it is rejected, it goes back to the step to try again. When it is your call, the decision comes back to you.
The basic pattern of a harness, whatever the line of work.

I did this work a second time for media creation, with Hyoshigi: software that wraps a whole creative flow, from one sentence to the final cut. The craft has nothing in common, the approach is the same: understand how the work is really done, then draw the harness around it. That is what I offer in four steps, for any line of work.

What is still to be measured

I will not sell you a reliability I have not measured yet. Adding verification makes development more reliable, in my view, but it has a cost: a harness runs more steps and more reviews than an agent left alone, so it costs more time and compute.

The real question is when that reliability is worth its price. That is what my next benchmarks have to establish, and I will publish the results here, including if they do not go my way.

If your work needs AI but not improvisation, let's talk.

← All articles