{"schema":"postcutoff/event@1","as_of":"2026-10-12T15:02:00+02:00","url":"https://postcutoff.com/e/2026-09-28-harness-learning-test-time-adaptation/","md":"https://postcutoff.com/e/2026-09-28-harness-learning-test-time-adaptation/index.md","disclosure":{"written_by":"AI agents (Claude Opus 5.5 in Claude Code)","editor":"Adam Bicz","policy":"https://postcutoff.com/about/"},"license":null,"id":"2026-09-28-harness-learning-test-time-adaptation","date":"2026-09-28","date_precision":"day","short_title":"Harness learning: a small model trained with RL learns to rewrite an agent's harness from execution feedback","deck":null,"takeaway":"At test time nothing is retrained: the proposer reads the execution report of each run on a new task and rewrites the code again.","category":"research","category_label":"Research","importance":2,"confidence":"high","status":{"key":"confirmed","labels":["Confirmed"]},"sources":[{"n":1,"title":"arXiv 2609.35738: Harness Learning Enables Generalizable Test-Time Adaptation","url":"https://arxiv.org/abs/2609.35738","type":"paper","group":"primary","domain":"arxiv.org"}],"official":1,"filed":"2026-10-12","updated":"2026-10-12","orgs":["Carnegie Mellon University","Johns Hopkins University"],"title":"Harness learning: a small model trained with RL learns to rewrite an agent's harness from execution feedback","summary":"A preprint by Alvin Zhang, Ruslan Salakhutdinov, Daniel Khashabi, Andrea Zanette and co-authors trains a \"proposer\" model to edit the harness (the program that organizes an agent's model calls and tool use) of a frozen \"solver\" model, using how the revised harness performs as the reward. At test time nothing is retrained: the proposer reads the execution report of each run on a new task and rewrites the code again. The skill transfers to task families and benchmarks it never saw in training.","key_facts":["Framing: meta-learning over executable programs, 'with harness revisions playing the role of weight updates in gradient-based adaptation'","Reasoning Gym: Qwen3.5-4B as both proposer and solver; supervised fine-tuning on revisions by a 35B teacher (Qwen3.6-35B-A3B), then RL; 21 task families unseen in training","On the 21 unseen families, RL raises the mean score of a single revision from 0.32 (base proposer) to 0.62, and the trained 4B proposer beats the 35B teacher on average","Multi-hop QA: Qwen3-4B proposer and Qwen3-8B solver, trained on HotpotQA only, transfers to MuSiQue and 2WikiMultihopQA","Sequential revision matters on MuSiQue: about 0.15 exact match for independent single revisions (only marginally above the seed harness) versus 0.27 after ten rounds","A proposer trained only on single revisions keeps improving harnesses over several rounds; training on whole revision sequences helps in some settings and not in others","Typical learned edits: answer validation with a retry, an extra retrieval hop, searching again when evidence is missing","Small open models and academic compute only (Johns Hopkins ARCH, Oak Ridge OLCF); no frontier model is trained or modified"],"key_numbers":[],"tags":["agents","harness","meta-learning","reinforcement-learning","test-time-adaptation","continual-learning"],"science":null,"body_md":"## What happened\n\nAn agent is a model plus a harness: the code that decides when the model is called, which tools it uses and how\ninformation flows between steps. Harnesses are normally written by engineers. This preprint (posted 28 Sept 2026)\ntrains a second model, the proposer, to write the edits instead. The proposer sees the task description, the current\nharness and a report of what happened when it ran, and outputs a code change. The revised harness is run, and its\ntask score is the reward for reinforcement learning. Only the proposer is trained; the solver model stays frozen.\n\nAt test time both models are frozen. Adaptation to a new task happens entirely by rewriting the harness over\nsuccessive rounds, without any weight update. The authors compare this to learning-to-learn methods where the\n\"update\" is a program edit instead of a gradient step.\n\n## Why it matters\n\nIt is a concrete, small-scale form of an agent improving how it works from its own experience, which is the same\nidea as the larger self-improvement results of 2026, but with open 4B–8B models and standard benchmarks, so others\ncan check it. The reported gains are on Reasoning Gym puzzles and multi-hop question answering; nothing here shows\nthe method working on long real-world tasks or with frontier models. The authors' affiliations (Carnegie Mellon and\nJohns Hopkins) are from their known positions and the acknowledgements; the PDF's first page does not list them.","disputed":[],"related":[{"id":"2026-09-14-google-dream-rsi","url":"https://postcutoff.com/e/2026-09-14-google-dream-rsi/","date":"2026-09-14","date_precision":"day","short_title":"Google's Dream-RSI","deck":"Discovery agents improve their own exploration strategy by 'dreaming' in a simulator built from past search logs (up to 162x fewer agent calls)","takeaway":"Dream-RSI turns an AI agent's accumulated discovery history into a replay simulator and uses it to test and refine exploration policies offline, without retraining the model. The authors call it recursive self-improvement at the strategy layer; a Fireship video framing it as a possible 'intelligence explosion' got about 2M views.","category":"research","category_label":"Research","importance":3,"confidence":"high","status":{"key":"confirmed","labels":["Confirmed"]},"sources":3,"official":1,"filed":"2026-10-09","updated":"2026-10-09","orgs":["Google","Google DeepMind","University of Maryland","University of Virginia"]}],"people":[],"posts":[],"videos":[],"models":[],"changes":[{"date":"2026-10-12","type":"filed","text":"Created (flagged by the site owner; no conjecture wording)"}],"provenance":{"agents":[{"model":"Claude Opus 5.5","maker":"Anthropic","tool":"Claude Code"}],"filed":"2026-10-12","run":null,"sources_read":null,"updated":"2026-10-12","human_review":null,"version":{"date":"2026-10-12"}},"gaps":[{"model_id":"gpt-6-astra","name":"GPT-6 Astra","cutoff":"2026-04","days_after":151,"in_training_data":false},{"model_id":"claude-opus-5-5","name":"Claude Opus 5.5","cutoff":"2026-06","days_after":90,"in_training_data":false},{"model_id":"gemini-3-8-flash","name":"Gemini 3.8 Flash","cutoff":"2026-03","days_after":181,"in_training_data":false},{"model_id":"grok-4-7","name":"Grok 4.7","cutoff":"2026-05","days_after":120,"in_training_data":false}],"short_url":null}