Your Policy Is Secretly a Harness: The Decision Geometry of Agent Interfaces
“Language model agents are post-trained and deployed through a harness, the prompts, tools, and control logic that present a task to the model and execute its outputs.”
A trained policy never leaves its harness behind
Opening
Harnesses get revised constantly, and they get judged by watching how an already trained model performs under the new version — a practice that quietly assumes whatever the model learned under one harness carries over to the next. When teams pick a harness they usually run one fixed model through each candidate and keep the one with the higher score, and that single number silently blends two different things: what a harness offers, and how well that model uses it. This paper shows that a post-trained policy still carries the preferences of the harness it was trained under, so one comparison can lead you to the wrong conclusion about both sides.
What the paper does
The authors ask what a policy learns from its harness and what survives when the harness changes. Under KL-regularized control they show that the log odds of an optimal policy recover how strongly its harness favors each action over the others, which means the trained policy carries the harness’s preferences inside it. They then split deployed return into two terms: the ceiling of the harness, the best return it offers, minus the mismatch of the policy, the return lost to its own suboptimal decisions. Training changes only the mismatch; changing the harness moves both terms at once, so comparing harnesses with a fixed model mixes what each harness offers with how well that model uses it. Experiments on MiniWoB++ show the direct cost: post-training makes a model’s preferences specific to its training harness. On coding-agent harnesses at Terminal-Bench Lite, ceiling minus mismatch estimated with a stronger model as a stand-in for the optimum reproduces the accuracy ranking, while either term alone does not.
Findings
-
A post-trained policy keeps the preferences of the harness it was trained under. (so a trained policy carries the preferences of its harness)
-
Deployed return is the harness’s ceiling minus the policy’s mismatch, and changing the harness moves both terms at once. (Deployed return then equals the ceiling of the harness, the best return it offers, minus the mismatch of the policy, the return lost to its own suboptimal decisions)
-
Reversing only the order of the observation fields, with every optimal decision left unchanged, drops a trained model’s success from 85.0% to 19.2% on MiniWoB++. (Reversing the order of the observation fields leaves every optimal decision unchanged yet lowers a trained model’s success from 85.0% to 19.2%)
Caveat
The limitation the authors state is methodological rather than a weakness of their own result: comparing two harnesses with a fixed model mixes what each harness offers with how well that model uses it, so a single comparison score cannot separate the two terms. That is exactly why they propose estimating ceiling and mismatch before concluding which harness is stronger. A higher score alone is not enough to claim a better harness, because what moved may only be how well the particular model in the test happens to use it. The other side matters too: every new harness that a fixed-model comparison rejects, yet that raises the ceiling, outperforms the original agent after further training under it.
What this means for 5ac
This is a direct warning for model routing. Model A running well on a skill does not mean model B will run that skill well, because the prompts and tool descriptions of the skill have become preferences inside model A. On a self-hosted stack that swaps models through a router, every model change and every skill patch needs a re-test instead of an assumption of compatibility. Each skill change and each model swap is already recorded on the Kanban card, so when a card’s result moves by itself, the record shows whether the change lives in the model or in the harness. The ceiling-minus-mismatch split also gives a cheap way to estimate ahead of time: before locking a new model into a lane, run a stronger model as a proxy to estimate the ceiling, then compare it with the real result of the intended model. When the gap between the two terms is large, the problem is the policy, not the harness, and the work to do is repair the policy first.
Source
- Your Policy Is Secretly a Harness: The Decision Geometry of Agent Interfaces — https://arxiv.org/abs/2610.37255