Don't train the model, evolve the harness

Akshay ยท tweet ยท 2026-04-06 Reader ๐Ÿ–ฅ๏ธ

Agent HarnessAgentic LoopContext EngineeringEvalsMulti-Agent OrchestrationRecursive Self-ImprovementRiding Model Improvements
For a model you don't control โ€” a frozen, rented commodity whose weights you can't change โ€” the reliable leverage on agent performance lives in the harness (the code that feeds the model context, runs its tool calls, and decides when a run ends), not in the weights: a benchmark score conflates model and harness, so most apparent 'model failures' are harness failures (often mundane output-plumbing, not reasoning), and the disciplined way to capture that leverage is an automated fitness-selection loop that adds one mechanism at a time and keeps it only when it clearly beats the current best โ€” a process that compounds until the harness runs out of tricks and the residual misses are genuine capability gaps.

practical ยท argumentative thread (with an appended expository deep-dive) โ€” The thread proper is argumentative: a thesis ('don't train, evolve the harness') defended by one worked example and three ablation-style findings. The quoted article is expository/taxonomic โ€” it defines the harness, enumerates 12 components and 7 design decisions, and asserts rather than argues. Prescriptive intent throughout (what to invest in, where to look when an agent fails), so practical.

Structure

PartRole
The thesis and the worked caseStates 'don't train the model, evolve the harness' and grounds it in the Hugging Face experiment: a frozen open model at 0% on a hard legal-agent benchmark, driven to Sonnet-4.6 parity at ~7x lower cost per task by an automated loop that rewrote only the code around it.
Diagnosis โ€” what the 0% was really measuringShows the model did the legal analysis correctly but misfiled the deliverable (wrong name, scratch folder, or never written); the judge only grades files saved in the exact place under the exact name. So the 0% measured the harness, not legal reasoning.
The mechanism โ€” automate the harness searchHand-tuning the harness is slow and model-specific, so they automated it: a Claude proposer adds exactly one mechanism per iteration; an outer loop keeps it only if it clearly beats the current best, so accepted mechanisms compound.
Three findings about where agents actually failBiggest single gain was file handling, not intelligence (zero extra tokens); code fixes transferred across models but prompt playbooks did not (a smaller same-family model gained 14 points; tuned prompts hurt a different family); harness choice dominated โ€” five harnesses spanned 3.5% to 80.1% on the same model/judge/tasks.
The ceiling and the lessonGains eventually flatten; the residual misses look like real capability gaps and the model must carry the work. Lesson: until the harness is fixed, it is impossible to know whether the model or the harness failed.
Appended deep-dive: The Anatomy of an Agent HarnessDefines the harness (von Neumann analogy, three levels of engineering), enumerates 12 production components and 7 design decisions, and argues via the scaffolding metaphor that harness complexity should DECREASE as models improve (Manus rebuilt 5x removing complexity; co-evolution principle; the future-proofing test).

Key terms

Propositions

Arguments

Evolve the harness rather than train the model. strength: high
Explicit premises:
Implicit premises:
Inferences:
A benchmark score (even a 0%) does not tell you the model failed. strength: high
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Closes gaps elsewhere

Related documents