AIDE²: First Evidence of Recursive Self-Improvement | Weco AI
AIDE²: The First Evidence of Recursive Self-Improvement<br>July 14, 2026 • By Weco Team<br>Share
We built a recursive self-improvement (RSI) system by running autoresearch on autoresearch. The system, AIDE2, took eight days to discover a better autoresearch harness than the one we built over the last two years. Fully autonomously, AIDE2 designed a novel search algorithm, reduced the prompt size by 16×, and built a layered system against reward hacking.
AIDE2 has two autoresearch loops:
An inner loop, just like a normal autoresearch agent, optimizing code against an eval.
An outer loop, optimizing the inner-loop agent's harness code.
The outer loop starts from AIDE, an already strong autonomous research agent, and optimizes it against a heterogeneous set of tasks. After 100 outer-loop iterations, the system discovered seven successive improved versions of AIDE, each showing stronger optimization power measured under the same cost budget (including token and compute costs).
We test the best agents from the first 50 and 100 steps, AIDE47 and AIDE85, and their improved performance also generalizes to tasks they were never optimized for.
We also observed an emergent behavior where AIDE2 figured out how to prevent inner-loop agents from cheating. For example, AIDE85 cheats much less than the agent it started from, cutting its reward hacking rate from 63% to 34% on the held-out GPU kernel engineering benchmark. It built its own defenses, from prompt-level instructions to hard-coded checks.
Besides beating the starting point AIDE0, both AIDE47 and AIDE85 beat our manually tuned agent on the held-out tasks shown above. Notably, the manually tuned agent AIDEhuman has been iterated on for two years, while the autoresearch loop of AIDE2 needed only eight unattended days. We read this as the first experimental evidence of consistent recursive self-improvement that materially lifts the efficiency of AI R&D.
Where this sits on the RSI ladder
We grade recursive self-improvement on a ladder from Level 0 to Level 3, defined in the companion post 4 Levels of Recursive Self-Improvement. Level 0 is delegation: an autonomous system runs the research loop end to end, but improves the system more slowly than human R&D; most current self-improvement claims live here. Level 1 is net positive: the system improves itself more efficiently than humans improving the same system by hand, held to four conditions: a fair human baseline, a sustained multi-step trend, generalization beyond the optimized measurement, and a fixed physical budget. Level 2 is ignition, when the system improves its own ability to improve itself; in our setup, when the discovered inner-loop agent is a better outer-loop agent than its predecessor. We test for this directly with what we call the ignition test (explored in Section 3.1). Level 3 is inflection, when progress stops slowing at a fixed budget and starts accelerating. Based on our experimental evidence, we believe AIDE2 to be on Level 1 of RSI.
1 · How we instantiated it: AIDE2
We frame recursive self-improvement as a bi-level optimization task, an outer-loop agent optimizing the inner-loop agent's optimization capability, and we call the whole system AIDE2. The two loops run different agents. The outer loop runs AIDEhuman, our hand-tuned autonomous research agent, pointed at the inner-loop agent's code. At each outer-loop step, the outer-loop agent proposes a rewrite of the inner-loop agent's code, evaluates the proposed agent, and keeps it only if better than the previous best. The inner-loop agent starts at AIDE0, a simplified refactor of AIDE, our ML engineering agent that previously took first place in OpenAI's MLE-Bench and has since been widely adopted by the autonomous R&D community. We simplified AIDE by stripping the ML-specific machinery, so that one agent AIDE0 can work across very different task families (Section 2.4 walks through its internals). AIDEk is the proposed agent rewrite produced at outer step k.
We tried to minimize the differences between the starting inner-loop agent and the outer-loop agent, but there are still asymmetries between them, and that extends to model choice. AIDEhuman uses claude-opus-4.7, while each inner-loop agent runs on gemini-3-flash. Under a fixed compute budget (expanded on in subsequent paragraphs), gemini-3-flash matched or slightly beat larger models on tasks in our benchmark, so we can use this cheaper model for the inner loop to enable enough inner iteration steps with a reasonable budget. The economics of the outer loop are different. Evaluating one proposed rewrite from the outer loop means running the rewritten agent through several autoresearch runs across various tasks in the inner loop. Compared to that, the outer-loop agent’s own token usage is a small fraction of the total experiment cost; therefore, we use the most capable model for the outer loop. We keep them asymmetric for...