Can LLMs Improve Their Own Harness? A Controlled Study on ARC-AGI-3
Organizations: Amazon∗ · Technische Universität Dresden · Universität Hannover · TIB – Leibniz Information Centre for Science and Technology and University Library
Abstract
A generally intelligent system acquires new skills efficiently without requiring humans to redesign its software scaffold for every new task. Yet language models rarely act alone. A harness is a symbolic program that orchestrates calls to the model, handling perception, memory, tool use, recovery, and inference allocation on the model's behalf. ARC-AGI-3 is an interactive benchmark in which agents must explore unfamiliar environments, figure out their goals on the fly, and keep learning as they go. On it, human-steered systems already report ceiling scores across the public games, so we know effective designs exist. We ask whether frontier models can build and improve such a harness on their own. Through a fixed coding bootstrap, each model constructs a complete task harness, acts through that harness on five development games, and revises the entire codebase twice. Every version is evaluated on twenty games that never influence adaptation. We measure task performance with Relative Human Action Efficiency (RHAE), which combines level completion with action efficiency relative to human baselines, and record dollar-denominated inference cost as a practical resource measure. Across 27 lineages, harness performance ranges from zero to near-ceiling scores. Two revisions raise mean held-out RHAE by only 2.80 points (95% interval [-1.44,7.35]). Development gains overstate held-out improvement, and reductions in inference cost can come at the expense of task performance. Human-steered systems demonstrate further headroom. These findings reveal a gap between autonomous harness construction and reliable adaptation under this two-revision protocol: even strong task performance does not ensure that subsequent revisions generalize or preserve existing capabilities.
Figures & tables
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Model profile | Reasoning effort | Context | Max output |
|---|---|---|---|
| GPT-6 Astra | high | 1.05M | 64K |
| GPT-5.6 Sol | high | 1.05M | 120K |
| GPT-5.6 Terra | high | 1.05M | 120K |
| GPT-5.6 Luna | high | 1.05M | 120K |
| Claude Fable 5 | high | 1.00M | 120K |
| Claude Opus 5 | high | 1.00M | 120K |
| Work | Editable artifact and schedule | Final evidence | Main protocol difference |
|---|---|---|---|
| STOP | One optimizer function over 1–4 recursive depths | Fresh optimization tasks | Restricted to an optimizer-function artifact. |
| ADAS | Code-defined agent functions under archive-guided search | All discovered ARC agents on held-out test; five evaluations per agent | Searches agent functions; our study tracks prescribed revisions of complete interactive harnesses. |
| AFlow / GEPA | Workflows or prompts under budgeted search | Validation-selected candidate on test | Constrained artifact and selection over many candidates. |
| SICA / DGM | Complete coding-agent codebase with archive-guided evolution | Same-benchmark selection plus transfer | Whole-code evolution with variable lineages and update counts. |
| Meta-Harness / AHE | Executable harness source under multi-iteration score-and-trace search | Best or final frozen harness | Seeded candidate search with selected-harness outcomes. |
| RRSI ( Xia et al., 2026 ) | Harness source; 20–40 rounds with regularized proposals and acceptance | Evolved harness on held-out tasks and OOD benchmarks | Tests a selection intervention under multi-candidate search, rather than every prescribed descendant. |
| OpenAI | ||||
|---|---|---|---|---|
| RHAE / cost (USD/game) | ||||
| Condition | Rep. | Initial | Revision 1 | Revision 2 |
| GPT-6 Astra high | 1 | 97.14/11.90 | 93.77/10.86 | 97.55/10.24 |
| 2 | 58.03/8.58 | 80.76/12.53 | 92.62/11.96 | |
| 3 | 93.59/18.77 | 93.23/11.87 | 92.94/12.92 | |
| GPT-5.6 Sol xhigh | 1 | 43.95/31.39 | 18.49/4.89 | 21.99/7.18 |
| Condition | Initial | Revision 2 | Change |
|---|---|---|---|
| Sol high | 26.15 | 28.58 | +2.43 |
| Sol xhigh | 41.98 | 41.94 | -0.05 |
| Opus high | 11.71 | 15.43 | +3.72 |
| Opus xhigh | 31.27 | 39.95 | +8.68 |
| Deployment policy | RHAE | Gain | USD/game | ||
|---|---|---|---|---|---|
| Retain | 24.54 | 0.00 | 10.30 | 0/0/27 | 27/0/0 |
| Deploy | 27.34 | +2.80 | 7.57 | 15/12/0 | 0/0/27 |
| Select by development RHAE | 29.06 | +4.53 | 9.15 | 13/5/9 | 9/6/12 |
| Held-out oracle | 30.66 | +6.13 | 9.80 | 18/0/9 | 9/8/10 |
| Snapshot | Mean USD/game | Median USD/game |
|---|---|---|
| Initial | 10.30 | 9.18 |
| Revision 1 | 7.15 | 6.26 |
| Revision 2 | 7.57 | 7.18 |
| Transition | Pareto gain | Score /cost | Cheaper/ RHAE | Worse both | Tie/cost | Tie/cost |
|---|---|---|---|---|---|---|
| 6 | 9 | 9 | 2 | 0 | 1 | |
| 6 | 6 | 8 | 7 | 0 | 0 | |
| 9 | 6 | 9 | 3 | 0 | 0 |
| Component | Initial | Revision 1 | Revision 2 | Total |
|---|---|---|---|---|
| Coding loop, 27 scored | 607.92 | 371.78 | 372.64 | 1,352.34 |
| Smoke qualification, 27 planned | 408.02 | 111.11 | 127.72 | 646.84 |
| Fresh selected-game attempts, 27 scored | 6,749.95 | 4,712.60 | 4,667.55 | 16,130.09 |
| List-price-equivalent total | 7,765.89 | 5,195.49 | 5,167.90 | 18,129.27 |
| Improve | Regress | Indeterminate | Pareto gain | |
| 0 | 15 | 12 | 0 | 9 |
| 1 | 11 | 8 | 8 | 7 |
| 5 | 9 | 3 | 15 | 5 |
| Evaluation | RHAE | Actions | Levels completed | Complete games |
|---|---|---|---|---|
| 0 | 53.56 | 8,492 | 102 | 8 |
| 1 | 46.86 | 8,509 | 94 | 6 |
| 2 | 43.38 | 9,382 | 90 | 6 |
| 3 | 48.21 | 9,389 | 92 | 7 |
| 4 | 45.32 | 8,515 | 91 | 6 |
| 5 | 55.37 | 8,459 | 104 | 8 |
| Stage | RHAE | Complete games | Levels completed | Actions |
|---|---|---|---|---|
| Initial | 24.54 | 73/540 (13.5%) | 34.5% | 259.6 |
| Revision 1 | 25.87 | 83/540 (15.4%) | 36.4% | 292.0 |
| Revision 2 | 27.34 | 94/540 (17.4%) | 37.1% | 273.6 |
| Game | Split | RHAE | Complete | Levels | Actions |
|---|---|---|---|---|---|
| bp35 | dev | +3.43 | +3.7 | +5.3 | +46.5 |
| ft09 | dev | -0.45 | +11.1 | -2.5 | -2.1 |
| r11l | dev | +18.83 | +14.8 | +17.9 | +22.1 |
| tr87 | dev | +8.11 | +7.4 | +11.1 | +22.8 |
| vc33 | dev | +12.19 | +11.1 | +13.2 | +76.1 |
| ar25 | heldout | -1.29 | +3.7 | -4.2 | -80.7 |
| Condition | Initial harness family | P/E/R | P/E/R |
|---|---|---|---|
| Astra high | Persistent Python workers with policy reuse | 0/0/3 | 0/1/2 |
| Sol high | Direct multimodal batched planner | 0/0/3 | 0/3/0 |
| Terra high | Compact visual/text planner | 0/0/3 | 0/2/1 |
| Luna high | Direct model controller | 0/2/1 | 0/2/1 |
| Fable high | Strategist, executor, and replay system | 1/0/2 | 1/0/2 |
| Opus high | Layered world-model/planner hybrids | 0/0/3 | 0/0/3 |
| Condition | Replicate | ||
|---|---|---|---|
| Astra high | 1 | R | R |
| Astra high | 2 | R | R |
| Astra high | 3 | R | E |
| Sol high | 1 | R | E |
| Sol high | 2 | R | E |
| Sol high | 3 | R | E |
| Code group | Central question | Observable indicators |
|---|---|---|
| Evidence access | Does the updater inspect item-specific support before editing? | Feedback summaries, traces, logs, score breakdowns, errors, and reproducers ( Evid ). |
| Diagnosis | Does it connect cited evidence to a mechanism and prediction? | Pre-edit symptoms, localized mechanisms, predictions, counterfactuals, and boundary conditions ( Diag ). |
| Diagnostic probing | Does evidence discriminate among hypotheses? | Targeted inspection, stated alternatives, refutable expectations, and result-governed narrowing ( Probe ). |
| Plan and alignment | Are targets, actions, criteria, and retained edits linked? | Enacted plans, eligible-feedback coverage, and final-edit alignment ( Plan , Cov , Align ). |
| Change control | Does it contain risk and protect the incumbent? | Executable scope, fallbacks, baseline checks, comparison, narrowing, rollback, and no-change decisions ( Scope , Protect ). |
| Verification | Does it test the retained change and remain runnable? | Reproducers, targeted and regression tests, smoke repair, requalification, and proximal results ( Verify , Result ). |
| Code | Exact | |||
|---|---|---|---|---|
| Evid | 54 | 1.00 | – | – |
| Diag | 30 | .67 | .35 | .38 |
| Probe | 53 | .85 | .66 | .67 |
| Plan | 27 | .85 | .70 | .70 |
| Cov | 54 | 1.00 | – | – |
| Align | 54 | 1.00 | – | – |
| Code | Contrast/counts | Interpretation | ||
|---|---|---|---|---|
| Scope containment | 54 | .96 | Scoped minus broad, interval , . | |
| Post-result adaptation | 54 | .84 | Further-action minus handoff, interval , . |
| Control | Verified result |
|---|---|
| Frozen source | All 81 original snapshot fingerprints and file counts match, covering 1,985 files. |
| Evaluated identity | All 2,025 selected evaluations match the corresponding snapshot, runtime model-profile fingerprint, environment fingerprint, and configured output cap. |
| Prompts and bounds | Each rendered prompt is constant across replicates within each of nine conditions; all 27 lineages share one resource-limit profile. |
| Hosted validation | All 81 validations are complete, cover 25 games, agree with recorded scores, match snapshot identity, and use the same trace identity as local validation. |
| Coding preservation | All 54 blinded packets match their manifests; their labels and rationales are unchanged from the hash-verified frozen coding passes and consensus. |
LLM Agent Harnesses
LLM agent harnesses are the software and runtime systems that organize an agent’s tools, context, state, execution, and safeguards.
See all 387 papers