Alphabell.
Paper · Self-modifying agents

SICA

A Self-Improving Coding AgentSICA, a coding agent that edits its own Python codebase between benchmark runs, removing the split between a separate meta-agent and the target agent used in earlier work.

The loop

The best-performing agent in the archive acts as the meta-agent: it reviews past benchmark results and implements a change to its own code, such as smarter file-editing tools or an AST-based symbol locator. The edited agent is benchmarked and archived, and becomes a candidate to make the next edit, so the agent being improved is also the one doing the improving.

The loop
SICA
Paper · arXiv
  1. Best agent changes its own code
  2. Edited agent is benchmarked and archived
  3. Archived agent makes the next edit
  1. Best agent changes its own code
  2. Edited agent is benchmarked and archived
  3. Archived agent makes the next edit
↻ The improved system does the next round, and the loop turns again.

Why it is a road to recursion

Because the meta-agent is always the current best agent, each improvement to its coding ability directly improves its ability to write the next improvement to itself.

Evidence

Through successive self-edits, performance on a random subset of SWE-bench Verified rose from 17% to 53%, with smaller gains on LiveCodeBench.

self-modificationcoding-agentsswe-benchnon-gradient-learningreflection