Harness Learning: Training Small Models to Rewrite Code Around Frozen Solvers

Zhang, Liu, Wang, Tajwar, Arora, Salakhutdinov, Khashabi, Song, Zanette · 2026 · "Harness Learning Enables Generalizable Test-Time Adaptation"
arXiv:2609.35738 Interactive page

Adaptation lives in the program, not the weights

Step through one revision round. Toggle between training and test time.

What is a harness?

The executable program around a model: what it sees, which tools it uses, how outputs are checked. Same weights, different behavior.

Loose mapping to meta-learning

Hover a row. Code edits stand in for gradient steps (MAML, RL²).

Hover a row to see how the mapping works, and where it breaks.

Reasoning Gym setting

Qwen3.5-4B is both proposer and solver. Hover the 100 instances of one family.

Hover a cell.

Multi-hop QA setting

Qwen3-4B proposer, Qwen3-8B solver, RL straight from the base model.

Teacher data: harness structure

Hover the donut. Interpreter loops dominate the 432 teacher revisions.

Reward calculator

Reward = task score + 0.05·[parses] + 0.10·[applies] + 0.15·(fraction of trials completing)

GRPO: credit relative to siblings Illustrative

Eight sampled edits per context are scored and normalized within the group. Reward values here are made up for illustration.

Reported results

Numbers as stated in the episode. Pick a view.

Independent vs sequential revision Schematic

Counts not to scale. Sequential rounds also see feedback from the retained harness; independent proposals do not.

Claims through the critics' lenses Illustrative

A qualitative reading of the episode, not paper-reported scores. Hover a cell.

supportedcaveatednot shown
Hover a cell.

Harness updating ≠ harness benefit

A good edit the solver cannot use is worth nothing. Toggle the lens.

References