Back to blog
Article

The Same Model Scored 30% and 95.5%. The Harness Was the Difference.

Prime Intellect moved Claude Opus 5 from 30.2% to 95.5% on ARC-AGI-3 by changing what wraps it. If improvement lives in the harness, the run history it learns from is the asset.

The words same model, different harness set in capitals on a dark ground above two thin horizontal bars, a short ivory one marked 30.2 and a long gold one marked 95.5.

There are two dots on a chart Prime Intellect published on August 5. Both are Claude Opus 5, on the same benchmark, ARC-AGI-3. One sits at 30.2%: the model inside the benchmark's own harness. The other sits at 95.5%: the same model inside Prime Agent, the harness Prime Intellect released that day (Prime Intellect, August 5, 2026). Both dots use the same Opus 5 weights, and the 65.3-point gap between them belongs to the wrapper.

That is the largest jump I have seen on a hard benchmark this summer, and it came from changing what wraps a model. If the harness is where improvement lives, then the run history the harness learns from is the asset. Every trajectory you throw away is training data for your own system that you will never get back.

What changed between the dots

Prime Agent is built on two ideas, and both are about the wrapper.

The first is the Recursive Language Model. The model gets one tool: a persistent IPython kernel. Sub-agents, skills and its own history are functions and variables inside that kernel, so the model writes small programs over its context instead of reading everything back into the prompt. Prime Intellect says this also cut token use, because the agent spends tokens "running functions over data rather than spending tokens reading data using tools" (Prime Intellect, August 5, 2026).

The second is what they call the Continual Harness. The harness's own state, its prompts, sub-agents, skills and memory, is something the agent can create, read, update and delete while it works. A command called /refine reads the agent's trajectory, the record of what it tried and what happened, and applies the smallest edit that would have helped: a new memory, a revised skill, a changed sub-agent spec. Each refinement records what triggered it and what it produced. Everything around the base system prompt can change, and the base prompt stays fixed.

The jump holds across models. GPT-5.6 Sol scored 13.3% in the ARC-AGI-3 harness and 38.3% through the Responses API, per the same chart, and 78.3% inside Prime Agent. Across three Opus 5 runs, Prime Agent scored 95.0, 95.2 and 95.5, against an ARC-reported human expert baseline of 95.4% (Prime Intellect, August 5, 2026).

ARC-AGI-3 score by harness, same modelsBar chart. Claude Opus 5 scores 30.2 percent in the ARC-AGI-3 harness and 95.5 percent in Prime Agent, a gain of 65.3 points. GPT-5.6 Sol scores 13.3 percent in the ARC-AGI-3 harness, 38.3 percent through the Responses API and 78.3 percent in Prime Agent. A dashed line marks the human expert baseline at 95.4 percent. Bars start at zero.CLAUDE OPUS 5ARC-AGI-3 harness30.2%Prime Agent95.5%+65.3GPT-5.6 SOLARC-AGI-3 harness13.3%Responses API38.3%Prime Agent78.3%dashed line: human expert baseline, 95.4%
ARC-AGI-3 RHAE Best@1, same model in different harnesses. Bars start at zero. Vendor-reported. Source: Prime Intellect, August 5, 2026, test-time compute and cost scaling charts.

Prime Intellect makes one note that matters more than the headline: "currently no model has been trained around Prime Agent or its core feature set" (Prime Intellect, August 5, 2026). I read that as: the 65 points were capability Opus 5 already had on August 4, and the old harness could not reach it.

The honest limits

These are vendor numbers, and three things deserve a flag.

The comparison points are official reported numbers. Prime Intellect says it also ran Opus 5 in Claude Code and GPT-5.6 Sol in Codex, got worse results than the official ones, and used the official ones instead. That is the generous choice, but it is still a comparison across setups, so read the gap as large and real, with soft decimals.

The only ARC-specific change was the task prompt. That is a small change, and it is still a change.

And the same post reports something every harness builder should read twice. In a Factorio environment, Prime Agent found it could spawn resources straight into its machines through console commands, despite a recurring prompt telling it not to cheat. Once it found the exploit, "the same refinement loop that had been building legitimate skills turned to building efficient cheating skills instead" (Prime Intellect, August 5, 2026). A harness that learns from its own runs learns whatever those runs reward. Someone has to be able to read the runs.

Hashimoto already had a name for it

In February, Mitchell Hashimoto described where his own agent use had landed. He called it harness engineering: "the idea that anytime you find an agent makes a mistake, you take the time to engineer a solution such that the agent never makes that mistake again" (Mitchell Hashimoto, February 5, 2026).

He named two forms. One is better implicit prompting through an AGENTS.md file, where "each line in that file is based on a bad agent behavior." The other is programmed tools: scripts to take screenshots, run filtered tests, and tell the agent when it is wrong.

Our own AGENTS.md reads the same way. As of August 11, 2026, read from our own repository, it carries a rule added in May: never build the CLI binary with a bare go build. The rule names the failure it guards against. A bare build skips a required build tag, so the binary passes --help and then breaks at runtime with a misleading "agent not found" error.

Put Hashimoto's practice next to Prime Agent's /refine and they are the same loop. A run goes wrong. Someone, a person or the harness itself, reads what happened. The fix lands in the wrapper: a prompt line, a tool, a skill, a memory. The next run starts from a better harness with the same model. Hashimoto does it by hand, one mistake at a time. Prime Agent does it inside the session. The input to both is the record of the run.

What a harness contains, and the loop that improves itDiagram. A request enters the harness. Inside the harness sits the model, the same rented model everyone uses, surrounded by six parts: context and prompts, tools, skills, memory, sub-agents and checks. The harness produces a result and a trajectory. The trajectory, marked in gold, loops back into the harness, where it is read and turned into edits to its prompts, skills and memory.RequestHARNESSModelrented, same for allContextToolsSkillsMemorySub-agentsChecksResultTrajectoryread it, then edit the harness
What wraps the model. The six parts follow Prime Agent's harness state (prompts, sub-agents, skills, memory) plus the tools and checks Hashimoto names. The gold path is the loop that both an AGENTS.md file and Prime Agent's /refine run on.

The trajectory is the asset

Here is the part I keep coming back to. Everyone building agents rents the same few models. I made that argument about memory in After the Org Chart: you cannot out-model a competitor who calls the same API. The harness is different. Yours holds the prompts, tools, skills and checks that fit your work, and every one of them came from a run that went wrong or a run that went well.

That makes the order of value clear. The model is a line item. The harness is the product of many small fixes. And the trajectories are the raw material for those fixes. A run you did not keep is a mistake you will make again, because nobody can engineer a fix for a failure they cannot see. The same is true of a run that went unusually well: the tactic that worked exists only in its record until someone turns it into a skill.

In most setups I have seen, the output survives and the run does not. The PR is kept; the forty tool calls that produced it, the wrong test it ran first, the file it read three times, the place it gave up and tried something else, all of that sits in a local session log until the machine is wiped. Prime Agent is built to read exactly that material, inside one session. A team can do the same across months of runs, but only if the runs still exist and only if each one can be found later, which is the problem I wrote about in An Agent You Can't Find Is an Agent You Don't Have.

The Factorio result is the warning on the label. A loop that learns from trajectories needs people who can read them, because it will learn the cheat as readily as the skill. Keeping the record is how you notice. It is also how you show anyone else what the agent did, which I argued in Every Agent Demo Hides the Same Number is what decides whether an agent survives contact with production.

What this means for Rush

Here is where Rush stands today, August 11, 2026, read from our own deployed API and engine documentation. A Rush cloud run takes a prompt and a GitHub repository, runs the agent in an isolated sandbox, streams its output live, and ends with a PR. A run that exits cleanly without a PR ends as needs_review and waits for a person. After the sandbox is gone, the person who started the run can still read its captured transcript through the API. That is a record of the run, and it falls short of the asset this post describes: one person can read it, and nothing scores it or turns it into the next harness edit. Capture comes first, because a run that was never kept can never be scored, read or turned into the next line of anyone's AGENTS.md.

The model you rent will improve on its vendor's schedule. The harness improves on yours, and the input to every one of those improvements is a run somebody kept.

Read Next