Mixture of Self-Improving Branches For Agent Harness Optimization
Haoyu Dong, Yuhang Zhou, Zihao Lin, Yifan Wu, Bo Peng, Mingyi Wang, Xiangjun Fan, Lizhu Zhang, Zhuokai Zhao
cs.AI
2026-09-29
Two branches adapt development subsets and proposer skills; a router picks a head. Vs Meta-Harness: +34.8% Olympiad math, +11.6% Terminal-Bench 2.0, +3.8% SWE-bench Lite.
An agent's ceiling depends on the surrounding harness together with the base model. The harness is the code shell for retrieval, tools, and control flow: what the model sees, which actions it can take, and when it checks or retries. Meta-Harness already treats that shell as a searchable program. An agentic proposer reads prior code, scores, and traces, writes a new harness, and scores it on a fixed development set. That loop is a workable form of recursive self-improvement (RSI): execution feedback from one implementation drives the next.
A fixed development set blinds the search. A candidate that solves cases the leaders miss but ranks lower overall rarely gets extended. Proposal instructions stay frozen too, so exploration does not retarget the strengths and repeated failures that show up mid-search. The run collapses onto one trajectory and stalls at a local optimum.
Search runs in B=2 parallel branches. Each branch keeps its own development subset, candidate history, and proposal guidance in SKILL.md. All branches start from the same seed harnesses, the full development set, and the same initial guidance. Claude Opus 4.6 proposes one new harness per branch per iteration and scores it by mean reward on the current subset.
Subset membership follows frontier coverage, like splitting a workbook by which group already solves each exercise better. Each branch takes its top q=5 harnesses on the current subset as the frontier, then counts how many frontier harnesses solve each development case. If every frontier solves the case, drop it everywhere. If one branch solves it at least Δ=2 more times than any other, that branch keeps it and the others drop it. Smaller gaps leave membership unchanged. Every Cs=5 iterations the proposer rewrites that branch's SKILL.md from recent local records. The subset changes what gets rewarded. The skill file changes where the next edit aims. On Math-Gemini, one branch grew answer checks and proof-obligation routing; the other grew free-form derivation, two-sided closure, and a challenge when both paths agree. At iteration 13, Branch 2's subset shrank from 44 to 40 cases and a free-form derivation harness replaced the geometry-aware head. Later proposals extended that new head.
Test labels are unavailable at deploy time, and development scores on different subsets are not comparable. Each branch keeps the head with the best score on its final subset. A router picks one head per new input before execution. Training labels come from development cases that exactly one final head solved. GEPA (reflective prompt evolution) optimizes the routing instruction on those cases. Default search is N=20 iterations with subset updates every iteration.
Harnesses are selected on development data only; all numbers below are held-out.
| Setting | Strongest fixed baseline | Meta-Harness | Routed branches |
| Math · Gemini 3 Flash | BM25-geometry 46.5% | 46.0% | 62.0% |
| Math · Claude Sonnet 4.5 | BM25-geometry 27.0% | 29.0% | 30.5% |
| Terminal-Bench 2.0 · Sonnet 4.5 | Terminus-KIRA 43.1% | 44.8% | 50.0% |
| SWE-bench Lite · Sonnet 4.5 | mini-swe-agent 62.8% | 63.6% | 66.0% |
Relative to Meta-Harness, Olympiad math with Gemini 3 Flash rises 34.8% (46.0% to 62.0%), and 5.2% with Claude Sonnet 4.5. Terminal-Bench 2.0 rises 11.6% relatively to 50.0% completion. SWE-bench Lite rises 3.8% relatively to 66.0% issue resolution. Against the strongest fixed harness the relative lifts are 33.3%, 13.0%, 16.0%, and 5.1%. Claude Sonnet 4.5 is the action model except for the Gemini 3 Flash math run.
The two development-selected heads cover complementary held-out cases. Union coverage sits 4.0 to 9.0 points above the stronger head, reaching 67.0% on Math-Gemini versus 58.0% for the best single head. The router reaches 62.0% on Math-Gemini, 4.0 points above the stronger head, and 50.0% versus 48.3% on Terminal-Bench 2.0. It misses one extra test case on Math-Sonnet and on SWE-bench Lite. Combined coverage is still 4.4 to 5.5 points higher than the router; on Math-Gemini it recovers 75.0% of exclusive successes.
Ablations are Math-Gemini only. Updating the development subset every 5, 3, or 1 iterations yields 53.0%, 56.0%, and 62.0%. Turning both pruning and guidance updates off scores 51.0%; guidance alone 50.0%; pruning alone 54.0%; both 62.0%. Guidance updates do little until the subsets diverge. Full-run tokens are about 1.55× to 2.16× Meta-Harness (math 172.90M vs 79.92M, Terminal-Bench 2.0 4001.39M vs 2366.80M, SWE-bench Lite 2951.48M vs 1907.17M). Task-solving tokens are 1.21×, 1.71×, and 1.50×.
The change is how search is steered. Selection uses development data and evaluation uses held-out tasks, which avoids scoring on the same items the search already saw. The router matches or beats the stronger head without test labels. On Math-Gemini it reaches 62.0% against a 58.0% test-best single harness in the candidate pool.
Teams already running a Meta-Harness-style loop, with executable development rewards and a budget for roughly 1.2× to 2.2× tokens, can apply this directly. Retrieval-augmented Olympiad math and long-horizon Terminal-Bench move clearly. SWE-bench Lite and Math-Sonnet are small stepwise gains. The paper only reports B=2 and N=20.
The paper flags three issues. Total token usage is unequal and repeats are scarce, so efficiency and reliability claims stay weak. The router falls slightly below the stronger head in two settings. Ablations support the combined design and do not show that each trajectory shift caused the later test gain.
Only two branches were tried. Math-Sonnet moves from 29.0% to 30.5%, a 1.5-point absolute gain against 16.0 points on Gemini, so the method is sensitive to the action model. The router still sits 4 to 5 points below union coverage. Each benchmark uses one random split. In the test-best pool, Meta-Harness on Math-Gemini goes from 46.0% under development selection to 49.0% if selected on test, so development ranking is noisy.