Recursive Experiential-Working Memory Evolution for Long-Horizon Agent Harnesses
Zhaochen Yu, Yingcheng Wu, Zhenfei Yin, Kaiyuan Chen, Zhe Zhao, Mengdi Wang, Shuicheng Yan, Ling Yang
cs.AI, cs.CL
2026-08-26
Recuris freezes the LLM and evolves working/experiential memory; success rises in 35 of 37 pairs, including Opus 5 on τ²-Retail from 72.4% to 87.9%, and +32.2 on the longest tasks.
On long-horizon tasks the chat log becomes a mix of finished steps, open goals, and noise. Agents lose track of what is still pending and invoke the wrong skill. Experiential-memory systems usually retrieve from the original instruction or the full history. The instruction is already stale. The history is already polluted. The missing piece is a compact, verified task state that says what is needed now. A final success bit also cannot say whether to patch the skill, the state schema, the invocation policy, or the completion checker.
Recuris, from NUS, Princeton, Stanford, and Oxford, treats recursive self-improvement as an operation on an external Skill Memory, not on weights or the whole agent program.
The base LLM stays frozen. Four components may change: experiential memory (reusable skills), a working-memory spec (state fields and update proposals), an invocation policy (when to retrieve and with what key), and checkers (whether an observation supports a proposed state change). Inside a task, working memory tracks each goal as pending, done, or blocked. At a defined event, such as a drafted state-changing tool call, the invocation policy pulls the matching skill. Checkers mark a goal done only when a tool receipt supports it. Verbal confirmation is not evidence.
Across tasks a fixed Meta-Agent, implemented on Claude Code and never edited, reads a structured trace: state, retrieved skills, action, observation, proposed update, checker decision. It attributes each diagnosed failure to one of the four components and patches only those. A candidate is admitted only if it repairs the source task without regressing held-out anchor tasks; otherwise memory is left unchanged. The outer harness, tools, and model do not change. On benchmarks with no shared structure the same machinery runs as single-task retry: after a failure, only experiential memory is patched, against a budget-matched control that retries under frozen memory.
Evolution runs once, on doubao-seed-2-0-pro. The resulting memory is loaded unchanged onto every other model. No weights are updated anywhere.
Four long-horizon benchmarks and ten models. Task success rises in 35 of 37 completed model–benchmark pairs.
| Model | Benchmark | Base | Recuris |
| GPT-5.6 Sol | τ²-Retail | 58.3 | 76.1 (+17.8) |
| Claude Opus 5 | τ²-Retail | 72.4 | 87.9 (+15.6) |
| Doubao-2.0-Pro | τ²-Retail | 58.1 | 81.4 (+23.3) |
| Qwen3.6-27B | SkillFlow | 42.2 | 58.7 (+16.6) |
| Qwen3.6-35B | SkillFlow | 35.3 | 48.8 (+13.5) |
Two pairs fall: Granite-4.1-3B on SkillFlow, 0.3 to 0.0; Gemini 3.7 Flash on τ²-Airline, 86.5 to 85.0. The gap grows with horizon. Recuris leads in every quartile of task-intrinsic length, by +17.0 to +44.7 points; the abstract cites +32.2 on the longest bin. Read-action recall stays in 88%–98% for every variant. The split is on writes: the base agent issues none of the required writes in 42% of episodes that need one, against 16% for Recuris.
On Retail, working memory alone is worth +23.9; experiential memory alone is +2.0 with a CI that includes zero. Dumping the same skill library into context every turn and letting the model choose scores 65.6; injecting the one skill matched to the drafted call scores 83.6. Removing write review costs 13.5 points on Airline; removing the status board costs 17.3 on Retail. The critical component is a property of the domain. After a known fault is injected, a judge localizes the responsible component at 13.0% from the outcome, 37.0% from the raw transcript, and 64.8% from the structured trace. Terminal-Bench 2.1 has no cross-task structure; thirteen evolution runs admitted no patch. On isolated tasks, a four-attempt budget is worth +26.4 from retry alone; test-time adaptation adds +2.3 (p=0.774).
This is bounded, deployable recursive self-improvement: weights stay frozen, only the memory-control layer moves, patches are attributable and reversible, and a memory grown on a mid-size model transfers to frontier models it never saw. Opus 5 reaching 87.9% on Retail under that memory is the practical point. Frontier models are not saturated on long-horizon execution. They are missing a state machine for goals that are still open.
The precondition is strict. Cross-task evolution needs shared tools and procedures; one-environment-per-task suites such as Terminal-Bench do not carry. A skill library is worth as much as the moment it is invoked. Parking the whole library in context scores worse than giving no skills, and costs more.
Recursion is confined to the memory layer by design. This is not weight-level RSI. Airline has 50 tasks and most intervals include zero, so that column is a direction. Memory is grown from one mid-size model's failures; evolving per model would absorb that model's quirks, and the single-source setup cannot rule that out. Checkers do not bind on Retail, so that class is missing from the localization study. The admission gate is finer than it can resolve: some rejected candidates later gain on held-out tasks. Figure 1 shows hallucinated completions down about 86%; the abstract rounds the largest cut to 80%.