EMNLP 2026 (Main)

Harness Updating Is Not Harness Benefit

Disentangling Evolution Capabilities in Self-Evolving LLM Agents

Minhua Lin1*, Juncheng Wu2*, Zijun Wang2, Zhan Shi3, Yisi Sang3, Bing He3, Zewen Liu4, Tianxin Wei5, Zongyu Wu1, Zhiwei Zhang1, Dakuo Wang6, Xiang Zhang1, Benoit Dumoulin3, Cihang Xie2, Yuyin Zhou2, Suhang Wang1, Hanqing Lu3

1The Pennsylvania State University 2UC Santa Cruz 3Amazon 4Emory University 5UIUC 6Northeastern University

*Equal contribution·Correspondence: luhanqin@amazon.com

Two scatter plots against base capability. Left: harness-updating gain is roughly flat around a mean of 3.75 points for all evolver models. Right: harness-benefit gain rises from Qwen3-32B to a peak at GPT-OSS-120B and Qwen3-235B, then falls for Sonnet 4.6 and Opus 4.6, with notes on two weak-model failure modes and a performance ceiling for strong models.
Fig. 1Overview of our findings. (A) Harness-updating is flat in base capability: models across capability tiers produce harness updates that yield similar gains. (B) Harness-benefit is non-monotonic in base capability: mid-tier models benefit most, while weak-tier models benefit little because they fail to activate the harness or to adhere to it.
Evolver spread ≤ 3.1 pp between the best and worst of seven evolvers on any benchmark.
Smallest evolver 9B ≈ Opus 4.6 Qwen3.5-9B tops SkillsBench at +3.8 pp, ahead of Opus 4.6 at +2.3 pp.
Mid-tier peak +19.3 pp harness-benefit for Qwen3-235B on SWE-bench Verified, vs. +4.4 for Qwen3-32B and +2.6 for Opus 4.6.
Weak-tier skill loading 25% vs. ≈96% of trajectories load a skill: Qwen3-32B vs. strong-tier models on SkillsBench.
01

Abstract

LLM agents are increasingly deployed as systems built around editable external harnesses, including prompts, skills, memories and tools, that shape task execution without changing model parameters. Harness self-evolution adapts such agents by updating these harnesses from execution evidence. Yet it remains unclear whether a model's base capability in task-solving predicts its capabilities in harness self-evolution: which models produce useful harness updates, and which actually benefit from them?

We analyze two harness self-evolution capabilities: (i) harness-updating, the capability to produce useful persistent harness updates from execution evidence; (ii) harness-benefit, the capability to benefit from updated harnesses during task solving. Our analysis reveals two findings. First, harness-updating is flat in base capability: models from different capability tiers produce harness updates that lead to surprisingly similar gains; even Qwen3.5-9B's updates yield gains comparable to those of Claude Opus 4.6. Second, harness-benefit is non-monotonic in base capability: weak-tier models benefit little from updated harnesses, mid-tier models benefit most, and strong-tier models benefit less than mid-tier.

We trace low gains at the weak tier to two failure modes: weak-tier models may fail to activate relevant harness artifacts, or activate them but fail to follow them faithfully. These findings suggest investing capability budget in the task-solving agent rather than the evolver, and targeting harness invocation and long-horizon instruction following in agent training.

02

Two capabilities, measured apart

In harness self-evolution the model weights stay frozen. What changes is the harness around them: the prompts, skills and memories the agent works with. An evolver model reads the agent's execution evidence and rewrites that harness between batches of tasks.

Diagram: a frozen LLM is connected to a harness of memory, tools, prompts and skills. Its experiences are diagnosed by an evolver model, which writes updates back into the harness.
Fig. 2Harness self-evolution. The LLM is frozen; an evolver model turns its experiences into updates to the harness.

Starting from an initial harness H0, the loop runs for T steps. At step t the agent (f, Ht−1) attempts a batch of tasks, and the evolver e turns the trajectories and outputs into an update that produces Ht.

An end-to-end score reports one number for the whole loop. It cannot say whether a gain came from the evolver writing good updates or from the agent making good use of them. We separate the two by crossing agents with evolvers. For a pairing (f, e), the evolution gain is

Δ(f, e) = J(f, HT(f, e)) − Mbase(f)

where Mbase(f) = J(f, H0) is the model's base capability: its pass rate with the initial harness.

The model as evolver

Harness-updating

Δupdate(e) = meanf ∈ ℱ* Δ(f, e)

How much the updates an evolver writes help a fixed set of anchor agents ℱ*: Opus 4.6, Sonnet 4.6 and Qwen3-235B.

The model as agent

Harness-benefit

Δbenefit(f) = maxe ∈ ℰ* Δ(f, e)

The largest gain an agent gets from harnesses written by a fixed set of anchor evolvers ℰ*, the same three models.

Benchmarks and models

SWE-bench Verified

500 real GitHub issues from 12 Python repositories. A patch passes if it satisfies the hidden tests.

evolves: skills

MCP-Atlas

500 tool-use tasks, each needing 3–6 calls across 36 real MCP servers that expose 220 tools.

evolves: skills, prompts, memories

SkillsBench

86 tasks in 11 domains with deterministic verifiers. The baseline starts with an empty skill set.

evolves: skills

Seven LLMs fill the two roles. Claude Opus 4.6, Sonnet 4.6 and Haiku 4.5, Qwen3-235B-A22B, Qwen3-32B and GPT-OSS-120B serve as agents and evolvers; Qwen3.5-9B, the smallest model in the study, joins as an extra evolver. All pairs on a benchmark share the initial harness, the task stream, the prompt templates, the evolution budget and the turn limit, so only the backbone changes. Evaluation is in situ: each task is scored under the harness in place when it is attempted, before its own evidence can shape the next update.

03

Finding 1: harness-updating is flat in base capability

Swap the evolver from Claude Opus 4.6 down to a 9B open model and the agents gain about the same. No evolver comes out ahead on every benchmark.

Horizontal bar charts of harness-updating gain for seven evolvers on SWE, MCP and SkillsBench. SWE gains range from 5.9 to 8.2 points, MCP from 0.6 to 3.6, SkillsBench from 0.7 to 3.8, with Qwen3.5-9B highest on SkillsBench.
Fig. 3Harness-updating capability Δupdate of each evolver, averaged over the three anchor agents. Evolvers are grouped by family (Claude, Qwen, GPT-OSS). The best and worst evolver in each panel are in bold, and they change from benchmark to benchmark.
Narrow spread

At most 3.1 pp between evolvers

On every benchmark, the best and worst of the seven evolvers differ by at most 3.1 pp, and the ranking reshuffles. Qwen3-235B leads on SWE (8.2 pp) and ranks last on MCP (0.6 pp).

Scale is not predictive

The 9B evolver wins on SkillsBench

The smallest evolver, Qwen3.5-9B, posts the highest gain on SkillsBench (3.8 pp), ahead of Opus 4.6 (2.3 pp) and Qwen3-235B (1.5 pp).

Case study: a 9B evolver writes the same recipe as Opus 4.6

On the SkillsBench task flink-query, an Opus 4.6 agent with no evolved skill leaves out the FINISH-event filter and scores 0.67. Given the skill written by either Qwen3.5-9B or Opus 4.6, the same agent solves the task. The two skills prescribe the same sequence of steps and differ only in implementation details and length.

Three panels for the flink-query task with an Opus 4.6 agent. No evolver: the agent writes its own recipe, misses the FINISH filter and fails with score 0.67. Qwen3.5-9B evolver and Opus 4.6 evolver: each injects a five-step flink-query skill, the agent follows it from turn 0 and passes with score 1.0. The two skills are marked procedurally isomorphic.
Fig. 4Harness updates by Qwen3.5-9B and Claude Opus 4.6 on flink-query, with an Opus 4.6 agent. Left: no evolved skill (score 0.67). Center: skill evolved by Qwen3.5-9B (score 1.0). Right: skill evolved by Opus 4.6 (score 1.0). Both skills encode procedurally similar guidance.

The agent, not the evolver, sets the post-evolution score

Dot plot of MCP-Atlas pass rate for three anchor agents. Opus 4.6 clusters around 61 to 65 percent, Sonnet 4.6 around 54 to 58, Qwen3-235B around 24 to 29, each just above its no-evolve baseline tick.
Fig. 5MCP-Atlas post-evolution scores. Blue dots are each agent's seven evolved runs; the black tick is its no-evolution baseline.

Plotting each anchor agent's score under all seven evolved harnesses next to its no-evolution baseline makes the imbalance plain. On MCP-Atlas, the spread across evolvers for a single agent is at most 5.1 pp (Qwen3-235B), against a 36.0 pp gap between the Opus 4.6 and Qwen3-235B baselines.

Even the most lopsided pairing does not close that gap. Give the weakest anchor agent its best evolver and the strongest anchor agent its worst, and the strong agent still leads by 18.6 to 35.2 pp on every benchmark. The pattern holds on SWE and SkillsBench as well.

Take-away Spend capability budget on the task-solving agent, not the evolver. Δupdate varies by at most 3.1 pp across evolvers on any benchmark, and the post-evolution score follows the agent's base capability.
04

Finding 2: harness-benefit is non-monotonic in base capability

Weak models have the most headroom, yet they gain the least from evolved harnesses. Mid-tier models gain the most. Strong models gain less, because they are already near the ceiling.

Table 1Base pass rate (%) and harness-benefit Δ (pp) for each task-solving agent. Bold green: the largest Δbenefit on each benchmark.

Agent SWE MCP SB
BaseΔ BaseΔ BaseΔ
Qwen3-32B3.64.43.61.00.05.8
Qwen3-235B20.719.325.04.34.71.1
GPT-OSS-120B26.215.828.07.00.07.0
Haiku 4.566.02.442.43.65.815.1
Sonnet 4.673.22.854.03.224.43.5
Opus 4.674.22.661.03.625.65.8
Line plot of harness-benefit against base pass rate on SWE-bench Verified. It rises from Qwen3-32B at about 4 points to Qwen3-235B at 19 points, then falls through GPT-OSS-120B at 16 to Haiku, Sonnet and Opus at 2 to 3 points.
Fig. 6Δbenefit vs. base pass rate on SWE-bench Verified. Points are joined in order of base pass rate.

On SWE the gain peaks at Qwen3-235B (19.3 pp), while the weaker Qwen3-32B gains 4.4 pp and the stronger Opus 4.6 gains 2.6 pp. On MCP the peak moves to GPT-OSS-120B (7.0 pp), again with lower gains at both ends. At the top, small gains fit a ceiling effect: strong models already solve many tasks with the initial harness. At the bottom, the ceiling argument does not apply, which points to a different bottleneck.

Two failure modes at the weak tier

Failure mode 1

Harness activation

The agent never brings the relevant artifact into context, so its guidance never reaches the model. Qwen3-32B loads a skill in only a quarter of its SkillsBench trajectories.

In the threejs case, Qwen3-32B names the right skill but tucks the load request inside a larger action, so the environment never loads it.

Failure mode 2

Harness adherence

The skill is loaded, but the agent does not follow it faithfully. An LLM judge rates whether each skill-loaded run follows the skill's guidance: Opus 4.6 does in 76% of runs, Qwen3-32B in 14%.

In pg-essay-to-audiobook, Qwen3-32B treats the skill as a ready-made script and gives up after the first failure instead of trying the fallback chain it prescribes.

Two case studies. Left, agent fails to load skill: Qwen3-32B emits a multi-key JSON with the load_skill key inside, the runner refuses it and the agent works without the recipe; Qwen3-235B emits a single-key load and follows the skill. Skill loading rates 0.251 vs 0.961. Right, skill loaded but not acted on: Qwen3-32B misreads the audiobook skill as a literal script, skips the fallback chain and gives up; GPT-OSS-120B reads it as a procedure, follows the fallback chain and passes.
Fig. 7Two harness-benefit failure modes for Qwen3-32B on SkillsBench. Left (threejs): harness activation failure, where an invalid multi-key load action keeps the skill body out of context. Right (pg-essay-to-audiobook): harness adherence failure, where the skill is loaded but the agent treats it as a literal script and skips the prescribed fallback chain.

Table 2Activation, adherence and outcome on SkillsBench, models sorted by base capability.

AgentSLRHFRLPR
Qwen3-32B0.2510.1420.023
GPT-OSS-120B0.4460.4420.040
Haiku 4.50.7940.6000.099
Qwen3-235B0.9610.3500.022
Sonnet 4.60.9590.7300.145
Opus 4.60.9570.7570.177

SLR: share of trajectories that load at least one skill. HFR: share of skill-loaded trajectories an LLM judge rates as following the skill. LPR: pass rate among skill-loaded trajectories. Bold green: best per column. Red italic: lowest SLR and HFR.

Table 2 measures the two modes separately. Skill loading is near ceiling for Opus 4.6, Sonnet 4.6 and Qwen3-235B, but drops to 0.446 for GPT-OSS-120B and 0.251 for Qwen3-32B.

Loading the harness is not enough to benefit from it. Qwen3-235B separates the two modes most cleanly: its skill-load rate is 0.961, nearly the same as Opus 4.6, yet its HFR is only 0.350 against 0.757. Its pass rate when a skill is loaded mirrors the gap, at 0.022 against 0.177.

Diagnosis: adherence decays over long horizons

To see whether adherence fades as a trajectory unfolds, an LLM judge scored it at three points: right after the harness is loaded, at the midpoint, and at final validation. Qwen3-32B, GPT-OSS-120B and Opus 4.6 stand in for the weak, mid and strong tiers.

Qwen3-32B falls from 0.52 to 0.13 and GPT-OSS-120B from 0.67 to 0.43, while Opus 4.6 holds from 0.89 to 0.80. Weak models do not simply misread the harness when it loads; they lose hold of it as the trajectory goes on, which points to long-horizon instruction following as the bottleneck.

Table 3Adherence score (0–1) by trajectory phase for representative weak-, mid- and strong-tier agents.

PhaseQwen3-32B
weak
GPT-OSS-120B
mid
Opus 4.6
strong
Harness loaded0.520.670.89
Mid turn0.220.480.79
Final turn0.130.430.80
Drift (load → final)−0.39−0.24−0.09

Bold green: best score in each phase. Underlined red: worst.

Take-away Train agents on two axes of harness-benefit: invoking the harness reliably (a 25.1% skill-load rate for Qwen3-32B vs. ≈96% for strong-tier models), and following it over long horizons (Qwen3-32B adherence drifts from 0.52 to 0.13).
05

What this means for self-evolving agents

Design guidance (i)

Budget the agent, not the evolver

Across evolvers, harness-updating differs by at most 3.1 pp on any benchmark, so a bigger evolver buys little. Post-evolution performance varies far more with the agent.

Design guidance (ii)

Train harness invocation

Weak-tier models often never load the harness: a 25% load rate for Qwen3-32B against ≈96% for strong models. Loading the right artifact should be a learned skill in its own right.

Design guidance (iii)

Train long-horizon instruction following

Once loaded, weak-tier adherence decays over four times more steeply than strong-tier adherence (−0.39 vs. −0.09). Holding on to guidance across a long trajectory is a second training target.

06

BibTeX

@inproceedings{lin2026harness,
    title = "Harness Updating Is Not Harness Benefit: Disentangling Evolution Capabilities in Self-Evolving {LLM} Agents",
    author = "Lin, Minhua  and
      Wu, Juncheng  and
      Wang, Zijun  and
      Shi, Zhan  and
      Sang, Yisi  and
      He, Bing  and
      Liu, Zewen  and
      Wei, Tianxin  and
      Wu, Zongyu  and
      Zhang, Zhiwei  and
      Wang, Dakuo  and
      Zhang, Xiang  and
      Dumoulin, Benoit  and
      Xie, Cihang  and
      Zhou, Yuyin  and
      Wang, Suhang  and
      Lu, Hanqing",
    booktitle = "Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing",
    year = "2026",
    pages = "52829--52852",
}