Salesforce researchers have published DarwinX, a framework that evolves an AI agent's harness while the model weights stay completely frozen. On the WebArena-Infinity benchmark, task completion rose from 43.5% to 93%. The paper landed on arXiv on July 31, 2026, with a fuller account of the method appearing on September 16.
Key takeaways
- WebArena-Infinity: 43.5% → 93% pass@1 with a frozen GPT-5.5
- Terminal-Bench 2.1: up 7.7 points, to 83.2%
- SWE-bench Verified: 80.8% → 84.2% in a transfer test
- TerminalWorld: 68.3% on held-out tasks
- The Beagle framework is released under Apache 2.0
Evolution instead of rewriting
The harness?Harness: The layer around the model: system prompts, tool definitions, skills and workflows. The model does not contain it — it is the code that drives the model. is everything wrapped around the model: prompts, tool definitions, skills, workflows. It is normally improved by hand — someone spots a failure, edits a prompt, checks whether it helped.
DarwinX turns that into evolutionary optimisation. The system keeps an archive of many harness variants at once and treats agent self-improvement as selection over a population, with model weights untouched. Instead of repeatedly overwriting one version, it generates and scores many parallel branches.
Three mechanisms that keep the population in check
The authors at Salesforce point to three elements that separate DarwinX from ordinary prompt search. The first is a preserve-and-extend contract — a variant may add capability but must not break a task that already worked. The second is an archive of alternative development paths, letting specialist branches with complementary strengths be merged later. The third is a shared interface that absorbs improvements from three sources: failure analysis, teacher-model hints and the agent's own proposals.
What the numbers say
| Benchmark | Before | After |
|---|---|---|
| WebArena-Infinity (pass@1) | 43.5% | 93.0% |
| Terminal-Bench 2.1 | 75.5% | 83.2% |
| SWE-bench Verified (transfer) | 80.8% | 84.2% |
| TerminalWorld (held-out) | 61.0% | 68.3% |
The strongest result is WebArena-Infinity, where an agent on a frozen GPT-5.5 went from 43.5% to 93% of completed browser tasks. On Terminal-Bench 2.1 the gain is more modest, but the transfer test matters more: a harness evolved on Terminal-Bench lifted the SWE-bench Verified score with no modification at all. The method was also tested on Claude Opus 4.8, and the harness held its edge on held-out TerminalWorld tasks.
Why it matters
If the harness can be optimised automatically, an agent's ceiling stops being set by the model alone. That changes the cost calculation: rather than waiting for the next generation of weights, teams can extract tens of points from a layer they already control. The risk sits on the other side — a harness evolved against one benchmark may simply be overfitted, and the SWE-bench transfer is only a single reference point.
What's next?
- The Beagle framework is available on GitHub under Apache 2.0, which allows independent replication of the results
- The paper reports results for GPT-5.5 and Claude Opus 4.8 — transfer to open-weight models remains untested
- SWE-bench Verified is the only reported measurement of transfer outside the domain the harness evolved in





