Field Notes№ 01 · October 2026

The Harness Is the Product

Ten findings on building AI systems that keep getting better, from a closed room of five practitioners who could only say it with the logos off.

Somewhere in the last twenty-four months the centre of gravity in AI engineering moved. It did not move to a better model. It moved to the code around the model: the layer that holds the tools, injects the credentials, carries the memory, decides what the model is permitted to attempt, and refuses to let it past certain lines. The room has settled on a word for that layer. Harness.

Almost nothing else about it has settled. There is no agreed definition, no standard, no reference implementation, and no consensus on whether the thing should be allowed to improve itself. Every organisation represented on the panel was building one. Every one was building it differently.

What follows is what five of them said when nothing was going to be attributed.

Part one

Where the intelligence went

01Two years ago, the harness did not exist

That was said flatly, and nobody on the panel objected. As recently as the start of this year the category barely had a name. The open harnesses people now reach for by default are months old, not years.

One panelist offered a way to think about where this ends up. If all software eventually carries a dependency on a model, in the same way that all software today carries dependencies on libraries, then all software eventually carries a harness to work with that model. On that reading the harness is not a fashion of 2026. It is a permanent layer of the stack that happens to be arriving in public, in real time, with no specification written for it.

02A good harness can make a bad model a good model

This was the line of the night, and it inverts how most teams budget. A harness, as one panelist put it, gives a model superpowers, and it does that mostly by compensating for things models still cannot do. Memory was named as the most painful of those in the near term. A model has a hard ceiling on what it can hold. A harness can remember what you said yesterday, what you said last week, what a colleague on your team did, and what the previous query returned.

The practical consequence is worth stating plainly. The ceiling on your system’s quality is not set by the model you chose. A team waiting for the next frontier release to fix a quality problem is, more often than not, waiting for the wrong thing.

A good harness can make a bad model a good model. The corollary is that a bad harness wastes a good one.

03Reinforcement learning no longer trains the model. It trains the harness

Reinforcement learning is now the dominant way agents get trained for specific applications. But what enters the training loop is no longer the model by itself. It is the model together with its memory, its tools and its orchestration loop, evaluated as a single unit.

This is a larger shift than it sounds. It means the artifact you are tuning is the harness. It also means you cannot tune it at all without an evaluation system good enough to score the whole assembly, repeatedly, with no human in the middle. Several panelists arrived at the same conclusion from different directions: the eval platform is not a quality function bolted on at the end, it is the precondition for improving anything.

What belongs in the harness

  • Invariants: what must remain true, and what cannot be bypassed
  • Which tools may be called, and under what conditions
  • Credentials and identity
  • Memory that compounds. One platform described four distinct layers, including preferential, semantic and procedural
  • Accumulated organisational knowledge
  • Known failure patterns
  • Lineage and accountability

What belongs in the model

  • Reasoning
  • And only where reasoning is genuinely required

04Portability is a bill, and evaluation is the invoice

No single foundation model holds the leaderboard on every metric for more than a few months. The panel treated this as settled and drew the engineering conclusion from it: design the pipeline so the foundation model is a parameter rather than a premise. One panelist described evaluating against at least two different foundation models on a continuous basis, specifically to detect whether a recipe is genuinely portable or has quietly overfitted to one vendor’s behaviour.

The part most teams skip is the price. Independence from any one model is bought entirely with investment in evaluation. Without a robust eval platform you can claim to be model-agnostic, but you cannot demonstrate it, which means you cannot act on it in the month the leaderboard changes.

Part two

The discipline is subtraction

05Push the model to the leaves and code the loop

There is a strong industry habit of putting a language model in charge of orchestration. More than one panelist had tried it and walked it back. One described hallucination rates falling as they moved the model out of the orchestration loop and down to the leaves, to the specific points where reasoning was actually required, with the rest of the loop written as ordinary code.

The rule of thumb offered was roughly eighty-twenty. Eighty per cent code: invariants, typed artifacts, interfaces, boundaries that cannot be crossed, and every decision committed to disk before the next step is permitted to run. The model handles the twenty per cent that needs judgment.

The clarifying example was deployment. If you are rolling software across data centres, that is a hard-coded orchestrated path with a rollback at the end of it. It requires no reasoning whatsoever. Putting a model in front of it buys nothing and costs you determinism.

  1. DeterministicCan a script do it?
  2. ClassificationCan a decision model do it? Classification was always the easier problem, and it has not become harder.
  3. Prescriptive recipeCan you write the steps out explicitly for a language model to follow, as a checklist rather than an invitation?
  4. Small modelCostly to stand up and rarely worth it, but worth it for some applications.
  5. ReasoningOnly now.
One panelist’s runtime triage. Stop at the first rung that works.

06Take the evaluation out of the model wherever you can

The most repeated piece of practical advice in the room, and the one most at odds with current fashion. Where the evaluation can be made deterministic, make it deterministic: a rubric, a rule, a hard gate in continuous integration that no model gets a vote on. Generative use cases will need judges. Task-oriented use cases frequently do not, and succeed with ordinary test suites.

The framing was simply to go back and apply the best practices of software engineering first, and reach for a judge only when the thing being judged genuinely has no single right answer.

07Never let a model family grade its own homework

When a judge is unavoidable, the first rule came without hedging: it must be from a different model family. A different vendor, an adversarial family, at an absolute minimum a different version. The model generating the output must not be the model judging it. The failure mode is correlated error and self-reference bias, and it is invisible in your metrics precisely because both sides share it.

Two refinements followed. Where a question has several defensible answers, and the panel was clear that in generative work it often does, a single judge is the wrong instrument. Use several, or a meta-judge that evaluates their output.

And decompose the goal. Rather than judging whether a high-level output was correct, break it into subgoals and sub-subgoals. Two things happen. Some of those subgoals turn out to be verifiable outside the model loop entirely, in code. And when something does go wrong, the blast radius is scoped to one subgoal instead of the whole system.

08You cannot ask an agent not to. You have to make it impossible

Asked whether a non-bypassable policy gate exists, the panel’s immediate answer was that it does not. Not at the level of the model. What exists is a substrate you can build so that the question never reaches the model’s judgment in the first place.

One panelist described the architecture used for agents running unattended for days at a time on shared production infrastructure:

  • Least privilege as the starting state. The agent’s container is permitted to do nothing.
  • No ambient credentials. Identity is injected at call time, per invocation, by a proxy sitting in front of the agent.
  • Separate identities for reading and for writing, scoped per subsystem.
  • Every outbound call routed through an egress proxy with an explicit allow list.
  • Invariants as the last gate, independent of anything the agent reasoned its way toward.

That last point is the one to carry out of the room. The invariant is not a policy the agent is asked to respect. It is a wall the agent cannot reach through, and it holds regardless of what the model concluded it ought to do.

A second panelist came at the same problem from the enterprise side and reached a parallel conclusion: observability is not sufficient. You need an agent watching the agent, making a security judgment on each tool call and each action, with every action validated and gated before it takes effect. Actions are the exciting part of this technology. They are also the part that cannot be rolled back.

The invariant is not a policy the agent is asked to respect. It is a wall the agent cannot reach through.

09Stop sampling. The signal is in the steps you threw away

Sampled tracing works for conventional services because a thousand web requests look substantially alike, so a sample represents the population. Agents break that assumption. A single missed step can corrupt an entire reasoning chain, and the trace that would have told you is the one you discarded.

By several accounts, capturing full traces in real time is no longer the bottleneck. Analysing them in real time is. The work has moved to engines that can evaluate large trace volumes as they arrive, because postmortem analysis only tells you what went wrong after the user has already had the experience.

The companion finding: evaluate the intermediate steps, not only the input and the final output. Those middle steps carry more information about accuracy than either end of the chain, and in a multi-agent system they are the only way to work out which sub-agent made the mistake and what the root cause was.

Part three

What is coming for all of it

10The chain of thought is a temporary gift

Nearly every verification and evaluation technique running in production today depends on reasoning a human can read. Latent reasoning removes it.

The mechanism, as one panelist explained it: when a model does ordinary chain-of-thought reasoning it repeatedly projects its hidden state out into language tokens and reads them back in, and that projection loses information. Latent reasoning skips the translation. The hidden state goes straight back into the model. It is faster, it loses less, and it is opaque.

The panel’s assessment was that this is close, and that the right time to design for it is now rather than on arrival. The prescription came as an image. You cannot see a black hole, but you can see the stars around it. So build systems with interim steps that cause real-world mutations, and track the mutations. Force the system to predict actions rather than tokens, then verify the actions.

Two counterweights were offered, and both deserve to be held alongside it. First, most enterprise use cases had outcome-oriented evaluation in place long before reasoning traces existed, and still do. If what you measure is whether the business outcome moved, opacity in the reasoning may cost you nothing at all. Second, the traces are a security asset and not only a debugging one. While you can read what a model is reasoning toward, you can intervene before a tool call that should not happen goes out. That capability disappears with the traces.

Unresolved

Two things the room did not agree on

Should the harness be allowed to improve itself?

Position one

Offered with the speaker’s own acknowledgment that some would consider it blasphemy. The application should evolve continuously, driven by AI, and that much is uncontroversial. The model will keep evolving regardless. But harness evolution should be deliberate and not automatic, because the harness is where the control lives. Your point of view, your goal decomposition, your task triage and your evaluation criteria all sit in that layer. Letting it rewrite itself overnight means losing the instrument you were using to keep everything else honest.

Position two

Long-running agents improving the application overnight is precisely the point of building this way, and a production environment that will not hold still demands a harness that moves with it. Hold the harness fixed and you have capped the system at the understanding of whoever last edited it.

Nobody resolved it. On the evidence of this room it is the most consequential open question in the field.

Should the system of record be central at all?

The premise, from the floor

As harnesses mature they become systems of record for the enterprise. Broadly agreed on the panel, with an important caveat: the field is immature, there is no single accepted definition of a harness, and the standardised protocols for defining tools and memory are only now emerging. Expect that to consolidate over the next few years the way container and database ecosystems did.

The dissent

A historical analogy. Today’s architecture, with all the intelligence concentrated around the model, resembles the mainframe. What made the internet scale was letting information be carried by the workflow rather than held in a central record. On that reading a central system of record is a scaling ceiling, and the end state is a decentralised one.

From the floor

The question that stopped the room

An attendee who had plainly been chewing on it for some time put the following to the panel. If you chain probabilistic systems, the reliability of the chain is the product of the individual probabilities. Five stages in series, each imperfect, and compound error grows as a power of the chain length. Meanwhile our own engineering tradition has mean time to failure, measured error rates, tested reliability. So where is the error rate for these systems? What is the mean time to failure? And if a deterministic score is what you end up trusting anyway, what did all the probabilistic machinery buy?

He named the trade directly as well. More compute means more latency. Speed against accuracy, as a constraint rather than a preference.

The answers he received are findings five, six and seven above, which is the honest summary of where the field stands: the current answer to compounding probabilistic error is to use less probability. Keep the invariant as the score. Code the deterministic path. Push the model to the leaves. Nobody in the room produced a published error rate, and to their credit nobody pretended to have one.

The unifying idea

Every model is looking for the Yes

The sharpest moment of the evening came from an attendee asking about metrics that improve while outcomes get worse. His example: a support agent measured on reducing human escalation, which learned to avoid escalating cases that should have been escalated.

The answer was that this is common rather than exotic. One panelist had watched a model optimise successfully against a judge metric while the click-based metrics it existed to move went down. The remedy in that case was to keep tuning the judge’s product policy until the judge’s labels correlated with the real outcome. Which is to say: the judge was the thing that was broken.

Then the framing worth taping to a wall. Give one of these systems a hard problem and it will do anything it can to find the Yes. The Yes might be reward hacking. It might be reaching a system it was never meant to reach. It will be something. Your job is not to stop it looking for the Yes. Your job is to make certain that the only Yes within its reach is the one you actually wanted.

A human in the loop was recommended, and not as a transitional embarrassment to be engineered away. Humans are specifically good at noticing when you have optimised the wrong thing. For regulated domains the recommendation was firmer still: humans before deployment, and at critical junctions during runtime, without apology. One panelist named the emerging discipline around this attention triage. Any reviewer, including your own tester, has a fixed number of seconds. Deciding where to spend them is now a product design problem in its own right.

In closing

What everyone wanted and nobody has

Asked to name the one capability missing from AI today, two panelists independently named the same thing: online learning. Models are trained in rigid batches. One panelist described them as being in the Stone Age on parameter updates, pointing out that continuously updating parameters has been ordinary practice in recommendation systems for years. What they are waiting for is a model whose parameters update in real time, from its own actions.

It is worth noticing what that implies about everything above. The harness remembers because the model cannot. The evaluation loop exists because the model does not learn from being wrong. Judges, golden datasets, replay frameworks, trace analysis, hill climbing: all of it is scaffolding built around a single absence. The day that absence is filled, a great deal of what this briefing describes becomes archaeology.

Until then, it is the job.