30 Sep 2026

The harness is not enough.

Almost every agent today is a frozen model running inside a harness, which is the code and prompts that decide how the model gets used. Whatever the agent picks up from its work is kept as text, in notes and skill files, and read back into its context on every task.

We think this is a point-in-time fix. It made sense while the best models were closed and nobody outside the labs could train them, but it relies on people working out by hand how a model should remember and learn. Vision went through the same thing, when hand-designed filters gave way to ones a CNN learned for itself. Open models have now caught up far enough for an agent’s experience to go into its weights instead, and we expect that kind of continual learning to take over most of what harnesses do today.

Why the harness gets the credit

Harness engineering has hugely grown in popularity throughout 2026, with many people touting the harness as being more important than the model.

Greg Brockman@gdbthe model alone is no longer the product22 May 2026Open on X

When you look at results such as Prime Agent’s performance on ARC-AGI-3, it’s easy to understand why so much attention has been placed on the harness.

Prime Intellect@PrimeIntellectPrime Agent is a general-purpose coding harness On ARC-AGI-3, it scores 95.5%, surpassing the human-expert baseline, but the gain is not benchmark-specific. We see major improvements across models when compared to their proprietary harnesses:Chart titled ARC-AGI-3 test-time compute scaling: score against output tokens per game on a log scale. Prime Agent with Opus 5 climbs to 95.5%, just above the 95.4% human baseline, with Sol at 78.3%, Terra at 25.7% and GLM 5.2 at 8.6%. The proprietary harnesses stay under 40%.5 Aug 2026Open on X

In a world where the state-of-the-art models behave like a genius with amnesia, harness engineering is the lowest hanging fruit to provide genuine statefulness, learning from experience, and skill acquisition, whilst still being able to leverage all of the power of in-context learning of the most powerful closed-source foundation models.

The limits of textual memory

If we compare an agent to a person, then our current agents behave like Leonard Shelby from Memento, continually scribbling down experience onto endless notepads (would need to be very finely printed tattoos), and hoping they didn’t forget anything important.

Leonard Shelby sits shirtless at a table reading his notes, his arms and chest covered in tattooed reminders

Leonard Shelby in Memento (2000). He can only remember the last few minutes, so everything else lives on a Polaroid, a note, or his own skin. Still: Newmarket Films.

If we had to proactively write down everything we needed to remember, and explain every future skill purely in textual form, then we would also suck at remembering and learning things. It’s no surprise that our brains do not store things as a collection of word documents, and it’s no surprise that these harnesses are notoriously brittle and unreliable.

A point-in-time solution

With this in mind, harnesses such as openclaw, hermes-agent, prime-agent, claude code, opencode, and codex are just as much of a “point in time” solution as hand-crafted vision filters were in the 2000s.

Sobel, across. Nine numbers Irwin Sobel chose in 1968 so that brightness changing from left to right, a vertical edge, lights up.

Hand designed edge detectors, line detectors and bag-of-words predictions gave way to end-to-end learned filters with the advent of CNNs. The implicitly learned filters were far superior to anything that a human could design.

Filter 44 of the 64 in ResNet-18's first layer: 147 numbers, every one set by training to suit the layers above it. Nobody chose them, and none matches a filter drawn by hand.

Human designed harnesses will give way to continual parametric learning in much the same way.

To be clear about what a harness is, it isn’t just the notes. OpenClaw, Hermes-Agent, Prime Agent and the rest decide when the model gets called, what goes into its context, which tools it can reach, when to compact, when to spin up a sub-agent, and how to check the result. The model is one component inside that system, and today most of what makes the system good is the orchestration around it. That is why the harness gets the credit, and to be fair, right now it deserves it.

But every one of those decisions is a human guess about how a model should be used, written down in code and prompts. That is exactly what a Sobel filter was: a human guess about which pixel patterns matter, written down as nine numbers. The guesses were reasonable, and they were still beaten the moment the pixels could be learned from.

We don’t think the harness disappears. In the version we’re working towards it is still there and still maintained, but its job changes. Rather than being the system, it becomes the scaffolding around a model that learns at test time: deciding which experience is worth training on, running the update, and checking that it worked. Kind of like how a CNN still needs a training pipeline of data loaders and optimisers, but nobody would call the pipeline the vision system. The model is the system, and the scaffolding exists to keep it learning.

session 1
today
context at the start of every taskthe task2 notes and skill files re-read
learning
choosetraincheckcontext at the start of every taskthe tasknothing re-read
After session 1. Today the weights, the square, never change, so the harness around them carries 2 notes and skill files, all re-read before every task. With learning, 2 of the 64 weights have changed, in blue, and nothing is re-read.

Why not continual learning already

So why don’t we have continual learning already? Don’t ChatGPT and Claude Code “learn” about you when you use them? The short answer is no they don’t. They store textual files about you, which must then be re-read every time you engage with the model. The reason for these hacks is simple: a lack of compute. Maintaining a separate LoRA adapter for each of the billion+ users of ChatGPT would require an insane amount of extra compute, and OpenAI is already rumoured to be operating at a loss. Keeping one frozen network, and then batching together thousands of user requests into a single forward pass is much more economically feasible than having each user engage with their own personally evolving model, with its own unique set of weights continually updating based on all interactions with said user.

usersfrozen weights
Weights kept
1 model
Forward passes for a round of 12 requests
1

How ChatGPT and Claude serve a billion people: every request lands on the same frozen weights, so thousands go through in one forward pass, and nothing is learned about anyone.

What changed

In-harness learning made sense in early 2026, as the closed-source foundational models were all substantially better than the open source alternatives, and so parametric learning wasn’t really an option if you wanted to leverage the best models. Things have now changed though. Much smaller open source models are catching up, and for the first time, this has opened the door to fully personalized continual learning, with a model that you own.

Open models also change the compute problem we described for ChatGPT. By OpenAI’s count, about 1.2 billion people use ChatGPT every week, roughly 15% of the world’s population, and one company serves all of them. It’s also trying to give every one of them something useful at the lowest price it can, so of course it batches their requests through one frozen model and saves money wherever possible. At that scale, a model per user is out of the question, and even a LoRA adapter per user costs too much.

Those limits come from one company trying to serve so much of the world at once, rather than from anything in the maths, and they don’t carry over when many companies and individuals each run models on compute they own. A company running its own agent needs one model that learns from that agent’s work, and on an open model that can be a LoRA adapter, which is cheap to train and can be served next to the base model at little extra cost. So if you own your compute, there’s no reason to inherit the restrictive view that comes with those limits, where everything your agent learns has to live in its harness and its context, and weight updates are left out of the picture.

What we’re working on

For now we’re focused on a company’s own agent, where the aim is to keep the harness it already runs and train the model inside it on that agent’s work. The agent should then get better and cheaper to run the more it’s used. The hard problems here are still mostly open. Deciding what’s worth training on is one of them, since most of what an agent sees is routine, and training on its own mistakes would only bake them in. Every update risks breaking something that already worked, which continual learning research calls catastrophic forgetting. There’s also no good way yet to measure how much an agent improves from experience, whether it keeps notes or updates its weights. We’ve been building a benchmark, Continual-ARC, that puts both through the same work.

Alongside its public stream of puzzles, Continual-ARC keeps a private set of 50 new ones that nobody outside unify has seen. If you’ve built a harness that you think gets better with experience, send us its code. We’ll run it on the private set ourselves, and the result goes on the leaderboard marked verified. Submit yours now.

Further out, we’d like the learning to happen while the agent works, rather than in rounds between deployments, and to get more personal, with each team and eventually each user having a model that keeps changing with them. We’ll share the first results from training models this way in a post of their own.