A Framework · Self-Evolving Agents
The Compounding Loop
Classification, Topology, and Physics
By the end of this blog, you'll have a clear map of what today's self-evolving systems are actually doing, why two papers that sound alike can be doing categorically different things, and a simple framework you can apply to any new paper you pick up tomorrow.
§0 · The puzzleThree systems, three different things evolving
Three of the most-discussed self-evolving systems of the past year: AlphaEvolve, Meta-Harness, and the Darwin Gödel Machine. They share the same building blocks: LLMs as intelligent operators, automated evaluators, iterative loops of modify-score-select. On paper, they are the same kind of system.
They are doing categorically different things.
AlphaEvolve evolves solutions. The LLM is frozen; a population of candidate programs evolves through mutation-and-selection, filtered by automated evaluators. What improves is the population. AlphaEvolve discovered an algorithm for 4×4 complex matrix multiplication that Strassen missed for 56 years.
Meta-Harness evolves the harness. The code wrapping an LLM (context assembly, retrieval, prompt construction, tool orchestration) is iteratively rewritten by an agentic proposer. The model stays fixed. What improves is the operating system around it.
The Darwin Gödel Machine evolves the agent itself. The agent rewrites its own code (scaffolding, tools, control flow), keeps an archive of every variant, and selects on benchmark score. The evolver and the target are the same system. What improves is the agent that is doing the improving.
Three systems. Three different targets of evolution: a population of solutions, the harness around a fixed model, and the agent's own code. The surface similarity hides the differences. A casual reader calls them all "self-evolving." This blog is about seeing the differences, and about two questions that decide whether a self-evolving system actually compounds: how is the loop wired, and what keeps it from collapsing.
§1 · FoundationsModel, harness, context, environment
The classical RL picture
A standard RL setup has three parts: an agent, an environment, and the context flowing between them. At each step, the env emits an observation o_t and a reward r_t; the agent emits an action a_t. The context at time t is just the trajectory so far:
c_t = (o₁, a₁, r₁, o₂, a₂, r₂, …, o_t)
Context is the information flowing through the agent during execution. Keep this idea; we generalize it.
Modern agents have internal structure
A 2024-era LLM agent is not a single policy network. It has at least two parts: the Model (weights) and the Harness (code, prompts, tool schemas, retrieval, memory, orchestration, scaffolding). If you've built an agent beyond a chatbot wrapper, the harness is where most of the work lives. The model is the CPU; the harness is the OS.
Harness vs Context: a temporal split
A load-bearing distinction. The Harness is what's fixed during a run: system prompts, tool catalogues, scaffolding code, retrieval logic, all compiled in before deployment. (Weights are also fixed at runtime, but conceptually they're their own thing, the Model, distinct from the orchestration code around them.)
The Context is what changes during a run: conversation history, scratchpad, skills written this session, reflections stored. In this broad sense, context is the direct generalization of RL's trajectory.
Two systems with identical outputs can have very different learning dynamics based on what lives in harness vs context. A prompt optimized offline (harness) is a fundamentally different object from a reflection written mid-run (context), even when the resulting string looks similar. Most confusions in this field come from conflating these two.
Four components
(S, A, P, R, γ), not a harness component. Systems like Eureka that evolve reward functions are modifying the environment, not the agent.What "self-evolving" means
A system is self-evolving if, during operation, it causes at least one of its four components (Model, Harness, Context, or Environment) to systematically change, based on its own outputs and the signal it receives, in order to better achieve a specified goal. The change is directed: components are updated toward an objective, not altered at random.
Why it took LLMs: the shift that made this a distinct field
The framework just laid out applies to classical RL as readily as to LLM agents. That raises a question worth making explicit: what changed to make self-evolving agents a distinct field rather than a flavor of RL?
The answer is narrow and causal. LLMs made the agent's internals (code, prompts, trajectories) legible and editable by the evolver itself. That one capability, applied to the framework's components, produces every structural novelty of the modern wave. The novelties are not independent; they are consequences of a single change in what the evolver can read and write.
The harness becomes an addressable target, because the evolver can now edit code; in RL there is no harness, a policy is monolithic. Context becomes a durable, inspectable, composable artifact (a skill library, a reflection buffer, a workspace), whereas RL's only runtime memory is recurrent hidden state or an opaque replay buffer. The evolver itself can be an agent (E3) that reads source, traces, and documentation; RL's outer loops are fixed procedures that consume only gradients or fitness scores. Code generation (M3) becomes a mechanism, replacing Gaussian-noise mutation with semantic mutation. And LLM-as-judge becomes a new weak-but-scalable grounding source, sitting between environment reward and human feedback.
Topology (T1–T5) and physics (retention / entropy / grounding) carry over unchanged from RL. The structural novelties live entirely on the target and evolver axes. Appendix §C works out the correspondence concept-by-concept.
§2 · ClassificationTarget and evolver
Every self-evolving system has two parts worth describing: a target (what gets modified) and an evolver (the thing doing the modifying). Target is one concept. The evolver has several facets. Tagging both is where most classifications start, and where they stop.
Target: what gets evolved
| Category | What changes | Examples |
|---|---|---|
| Model | LLM weights | STaR, Self-Rewarding LMs, Abs Zero |
| Harness · Prompts | Prompts optimized offline | OPRO, DSPy, TextGrad, PromptBreeder |
| Harness · Scaffolding | Agent code, workflow, MA structure | DGM, ADAS, SICA, Meta-Harness |
| Context · Memory | Memory written at runtime | Reflexion, ExpeL, Mem0, EvolveR |
| Context · Dyn. Skills / Tools | Tools/skills created at runtime | Voyager, CREATOR, STELLA, Alita |
| Context · Search State | Candidate population mid-search | AlphaEvolve, FunSearch, CORAL |
| Env · Rewards | Reward functions | Eureka, Auto MC-Reward |
| Env · Tasks | Task distribution / curriculum | OMNI-EPIC, AgentGen |
When a paper calls itself "prompt evolution" and the prompt is optimized by an outer loop then deployed fixed (OPRO, DSPy, TextGrad, PromptBreeder), it is evolving the harness, not the context. A surprising amount of writing slips here.
The evolver: the thing doing the evolving
The evolver is itself a system. Applied recursively, the framework from §1 says: the evolver has its own Model, Harness, and Context. Three properties of it are worth describing separately: what kind of system it is (capacity), what it reads each iteration (reference), and what operation it performs on what it reads (mechanism).
These three are correlated — a richer evolver tends to support richer references and more sophisticated mechanisms — but not redundant. They are pragmatic vocabulary for what papers actually do, not a carved-at-the-joints ontology. A full set of named tag-codes for each, plus the master classified-papers table, lives in §B.
Capacity is what kind of system the evolver is. It spans a single LLM call with a fixed prompt (OPRO, Self-Refine, APE), a frozen LLM reading a structured archive of past attempts (AlphaEvolve, FunSearch, DGM, Eureka), and a full agent in its own right — with source-reading, retrieval, and tool use (Meta-Harness, AIDE, CORAL). Within a target type, capacity often decides whether a system produces real work or only reshuffles.
Reference is what the evolver consults each iteration to produce its next variant — separate from any memory the deployed agent uses at inference. The richness varies enormously: nothing at all (STaR, Self-Rewarding LMs); an ordered log of past attempts (OPRO, TextGrad); a flat or structured population with quality-diversity bins or island sub-populations (AlphaEvolve, DGM, ADAS, OMNI-EPIC); or a content-indexed library retrieved by semantic match (Reflexion, Voyager, CORAL). This is where most of the design work in strong self-evolving systems lives. Two systems with the same target and same capacity can behave categorically differently based on archive structure: an ordered log can only hill-climb; a structured archive maintains diversity and escapes local optima.
Mechanism is what the evolver actually does with the reference. The options span per-task search like MCTS or beam (AFlow, AIDE), iterative LLM editing of text (OPRO, Reflexion), LLM code generation (DGM, Voyager), evolutionary search across iterations (AlphaEvolve, FunSearch — almost always paired with code generation), and gradient training (STaR, Self-Rewarding, RAGEN). The strongest systems combine two: DGM and AlphaEvolve combine evolutionary search with code generation; Agent Q combines gradient training with per-task search.
How the three fit together
A clarifying case study is DGM vs Meta-Harness. Both evolve the agent's own scaffolding — same target — yet their evolvers sit in different places on all three properties:
- Capacity: DGM uses a frozen LLM reading an archive; Meta-Harness's evolver is itself an agent (think Claude Code) with filesystem access, execution traces, and tool use.
- Reference: DGM consults a structured archive of every past agent variant; Meta-Harness consults an ordered log of recent edits.
- Mechanism: DGM wraps code-rewriting in evolutionary search across the archive; Meta-Harness rewrites code without that population structure.
Same target, categorically different evolvers. The wider information pipe and richer reasoning of the agentic evolver are part of what makes Meta-Harness's rewrites qualitatively different from DGM's: the evolver can notice things a simpler mutator cannot.
This is where most classifications stop. You now know what every paper does. You still can't tell why AlphaEvolve discovers mathematics while Self-Rewarding asymptotes after a few iterations. At this resolution their structural similarities are real and their dynamical differences are invisible. That's what Part 3 is for.
§3 · Two lensesTopology and Physics
The dimensions above classify a system's structure. The two lenses below ask about its dynamics: whether the loop is well-formed, and whether it compounds or just reshuffles.
| Lens | Question it answers | Resolves |
|---|---|---|
| Topology | How is the feedback loop wired? Can the evolver modify itself? Are there nested or co-evolving loops? | What's the ceiling? |
| Physics | Are retention, entropy, and grounding all present and strong? | Will it stall, collapse, or drift? |
Lens 1 · Loop topology
The shape of the feedback wiring. The first question to ask of any self-evolving system: draw the loop. Most papers don't do this explicitly, and most of the confusion in the field traces to that omission.
There are five topologies. Each strictly subsumes the previous.
T1 · open loop
One pass, no feedback. Most "use an LLM to write a better prompt" setups. Useful as a baseline.
T2 · single-target loop
Fixed evolver iteratively modifies a target, informed by a signal. Where most of the field lives: OPRO, AlphaEvolve, FunSearch, Reflexion, Voyager, Eureka, ADAS, STaR, Self-Rewarding, all T2. The differences between them are inside the loop, not in the topology.
The T2 ceiling. A T2 system is bounded by its evolver. AlphaEvolve is only ever as clever as Gemini; make Gemini better and AlphaEvolve improves, but AlphaEvolve cannot independently transcend Gemini. Most "self-evolving" systems have a hard ceiling they cannot cross without a base-model upgrade.
T3 · self-referential loop
The evolver is the target. DGM rewrites its own code. STOP improves its own improver. This is what people usually mean by recursive self-improvement: each modification changes both what you produce and how you produce the next one.
Why T3 is fragile. A self-modifier can break its own self-modification ability. T3 works only with strong grounding (to distinguish good modifications from bad) and a retention mechanism that survives bad modifications (an archive to roll back to). DGM's archive of every historical variant is not decorative. It's what keeps the system alive.
The open question. Does T3 transcend the base model, or does it asymptote near the base model's capability after exploiting low-hanging self-modifications? Nobody has demonstrated transcendence convincingly.
T4 · dual co-evolution
Two agents drive each other. Often proposer ↔ solver: Absolute Zero, SPIN, WebRL. In T4, problem difficulty is endogenous: it scales with solver capability. That's what gave AlphaGo Zero its magic. Without a game-like dual structure, it's hard to get this property.
T4's risk. Collapse into uninformative equilibria. The two agents can find a mutually-satisfying-but-useless local optimum. Stability is an art.
T5 · nested / multi-scale
A loop operating on another loop. PromptBreeder evolves task-prompts (inner) and mutation-prompts (outer): it gets better at getting better. T5 is the one topology where the outer loop could accelerate the inner; whether existing systems achieve durable acceleration is still an open empirical question (see §4).
What defines T5 is the outer meta-loop, not what sits inside it. The diagram nests a T3 for concreteness, but the inner loop can be any of the previous topologies (T2, T3, or T4) — PromptBreeder, for instance, nests a T2 inner loop.
Lens 2 · The physics: retention, entropy, grounding
Even with a good topology and a real information source, loops can stall, collapse, or drift. For a loop to compound (reliably get better rather than plateauing or degenerating), it needs three forces in balance.
I call this the physics of self-evolution because the three forces correspond cleanly to physical concepts that happen to carve the field exactly right. Each has a physical analogue, a specific role, and a predictable failure mode when absent. Remove any one and the loop dies in a characteristic way.
Retention: what persists across iterations?
The mechanism that makes good modifications stick and bad ones wash out — asymmetrically, so the loop keeps gains instead of rediscovering them each round (the cultural ratchet effect). Without that asymmetry, gains and losses are symmetric and capability random-walks.
Common retention mechanisms, weakest to strongest: gradient descent on weights (permanent but compressed); quality-diversity archive (best-in-niche); append-only textual memory or skill library (gated by verification); version-controlled archive of all history (perfect; storage-heavy). Failure mode when weak: catastrophic forgetting.
Entropy: what new information enters the loop per iteration
Not variation alone. A loop with high temperature but no information entering per iteration is a closed thermodynamic system. Iterate it N times and you just resample the base model's distribution. That is test-time scaling dressed as evolution, not evolution. Real entropy is information flowing across the loop's boundary, and it requires two preconditions coupled: variation (so there are candidates to distinguish: sampling temperature, mutation, quality-diversity pressure, self-play, novelty rewards) and a grounding signal that certifies which variants add something the base model couldn't have produced on its own.
Failure modes. Weak variation → the loop freezes (mode collapse). Weak delta → the loop iterates but extracts nothing beyond what a best-of-N base-model control already produces (the less recognized, probably more common one).
Grounding: what anchors to reality?
A signal from outside the loop that the loop cannot manipulate. In a self-evolving system, grounding is what keeps candidate quality tied to the world rather than to the loop's own self-assessment. Strongest to weakest: deterministic verifier (code, proofs); environment reward (strong but gameable); human oversight (strong, doesn't scale); self-judgment (weakest; doesn't bring in anything the base model didn't already have). Failure mode when weak: drift, reward hacking, self-delusion.
This is a design checklist. When you read a self-evolving-agent paper, name the three forces explicitly. Where is the retention? What is the entropy source? What is the grounding? If you can't answer any one clearly, either you don't understand the system or the system doesn't work the way the paper implies. The second case is common.
Strong grounding is where the field's biggest wins live. AlphaEvolve, FunSearch, DGM, STaR, Absolute Zero, Eureka all operate in domains with cheap verifiers and strong generators. That one asymmetry is the engine driving most of modern self-evolution: LLMs propose, a cheap evaluator filters, and the loop extracts from the generator what no single inference pass could have surfaced. Extending the field to domains without cheap automated grounding is the hard open problem.
§4 · Open challengesWhere the frontier actually is
Running the two lenses across the literature produces a fairly clear map of where the frontier is.
Extending beyond verifier-rich domains
The verifier-generator asymmetry is why the field works. It's also narrow: it applies cleanly to code, math, formal reasoning, and not much else. Extending self-evolution to domains without cheap verification is the biggest open problem. Two paths: (a) find new grounding that carries similar weight (scalable human-in-the-loop, multi-judge consensus, adversarial probing); (b) decompose un-verifiable tasks into verifiable sub-tasks and compose.
Stabilizing T3 and T4 at scale
T3 and T4 can in principle transcend their starting capability. Both are fragile. We have existence proofs (DGM, Absolute Zero) but no theory of when they're stable.
Internalizing hindsight
A self-evolving system gets much of its signal from what didn't work. Two questions decide how much of that signal compounds.
Does hindsight stick across iterations? The basic compounding question: whether insights from one attempt make the next attempt better. The answer depends on where hindsight lands. Into context (Reflexion, ExpeL, Voyager): works, but is bounded by retrieval and context capacity. Into weights (STaR, Self-Rewarding, Absolute Zero, and recent 2026 work like SDPO and SDFT): escapes that bound in principle, but several documented cases plateau within a few iterations. Whether self-distillation sustains gains across many rounds without external fresh signal is an open empirical question.
Does hindsight transfer across domains? AlphaEvolve discovers algorithms on one problem. Those algorithms do not become primitives for AlphaEvolve's next campaign on a different problem; each run starts fresh. Voyager composes skills within one Minecraft environment, but those skills do not carry to a new environment. Closing this loop, so that insights compound across problems and not just across iterations of the same problem, would add a second compounding mechanism on top of the verifier-generator engine.
Does T5 actually accelerate?
PromptBreeder shows T5 tooling works at small scale: an outer loop that evolves the mutation-prompts driving an inner loop. But "works" here means the nested loop runs and improves, not that the outer loop measurably accelerates the inner one. No system has yet demonstrated durable, repeated meta-level acceleration across many rounds of one continuous loop. Whether T5 delivers compounding speedup at scale, rather than a one-time tooling gain, is the question to watch.
§5 · ClosingIf you internalize one thing
The field is in a confusing phase. Every paper uses some subset of the same tooling (LLMs as mutation operators, archives, automated evaluators), and every paper claims some flavor of "self-improvement." The surface similarity hides real structural difference.
The structural difference is what this blog is about. A T2 system can be brilliant and a T3 system can be trivial; the topology determines what's possible, not the cleverness of the components. A loop with strong retention and grounding but no entropy will look impressive for a few iterations and then freeze. A loop with weak grounding will reshuffle latent knowledge into apparent novelty and then plateau.
Distinguishing these failure modes from genuine compounding is the work the field has yet to do.
§A · MethodHow to analyze a paper
A repeatable checklist. Apply in order.
- Draw the agent/environment boundary. What's deployed? What's external?
- Target. Which of the nine categories changes across iterations?
- Evolver. What is the evolver itself? E1, E2, or E3?
- Reference. What does the outer loop look at? R1–R6.
- Mechanism. What procedure produces the variant? M1–M5.
- Draw the loop. Identify the topology. T1–T5. Does the evolver modify itself?
- Name the three forces. Retention. Entropy. Grounding. Explicitly.
- Ceiling. What bounds this system? What would raise it?
- Boundary
- agent = Gemini + evolutionary controller · env = problem + automated evaluator
- Target
- Context · Search State: the program population
- Evolver
- E2 · Gemini reads the island archive + scores; not itself an agent
- Reference
- R5 · island-based program archive
- Mechanism
- M4 + M3 · evolutionary search, LLM-as-mutator generating code
- Topology
- T2. Fixed Gemini, fixed evaluator, fixed algorithm; only the population evolves.
- Forces
- Retention = island archive · Entropy = island topology + temperature + mutation prompt diversity · Grounding = deterministic evaluator
- Ceiling
- Bounded by Gemini's ability to propose good candidates. AlphaEvolve is a Gemini-amplifier, not a Gemini-transcender.
- Boundary
- agent = the self-modifying agent system · env = SWE-bench + Polyglot
- Target
- Harness · Scaffolding: the agent's own codebase
- Evolver
- E2 · frozen LLM reading the agent-variant archive + benchmark scores
- Reference
- R5 · archive of all historical agent variants
- Mechanism
- M4 + M3 · evolutionary archive of self-rewritten code
- Topology
- T3. Evolver = target. The agent modifies itself.
- Forces
- Retention = full archive (load-bearing: bad self-modifications cannot wipe prior progress) · Entropy = archive diversity + LLM temperature · Grounding = SWE-bench
- Ceiling
- Unresolved. T3 can in principle transcend the base model; DGM has not yet convincingly demonstrated it.
- Boundary
- LLM is the agent (playing both roles) · code executor + self-proposed tasks are env
- Target
- Model weights + Env · Tasks. Co-evolution.
- Evolver
- E1 · the model itself, prompted to propose / solve; no external archive
- Reference
- R1 on both sides. Weights are the memory.
- Mechanism
- M5 · RL applied to a model playing two roles
- Topology
- T4. Proposer ↔ solver. Same base model, different heads.
- Forces
- Retention = model weights · Entropy = stochastic task proposal + RL rollout variance · Grounding = code executor
- Ceiling
- Bounded by what the proposer can imagine, itself bounded by pretraining. Extends within a distribution; unclear whether it escapes the base model's envelope.
- Boundary
- agent = LLM + episodic memory · env = task environment
- Target
- Context · Memory: the reflection buffer
- Evolver
- E1 · LLM with a reflection prompt; no archive beyond the current task
- Reference
- R6 · textual memory of prior reflections
- Mechanism
- M2 · LLM writes a new reflection each iteration; the memory grows via R6
- Topology
- T2. Fixed LLM, accumulating memory.
- Forces
- Retention = memory buffer · Entropy = each retry is fresh-sampled · Grounding = task outcome from env
- Ceiling
- Bounded by what the LLM can profitably use as in-context memory. Finite context and reflection noise mean Reflexion cannot compound indefinitely.
- Boundary
- agent = LLM + experience library · env = task distribution (training tasks offline, test tasks online)
- Target
- Context · Memory: a cross-task library of distilled insights and successful trajectories
- Evolver
- E1 · LLM that abstracts insights from paired success / failure trajectories and writes them into the library
- Reference
- R6 · content-indexed library of insights and trajectories, retrieved by task similarity at inference
- Mechanism
- M2 · LLM-as-extractor distills reusable insights; the library accumulates across tasks, not just within one (unlike Reflexion)
- Topology
- T2. Fixed LLM. The library is the thing that changes.
- Forces
- Retention = experience library (append-only, LLM-gated insight distillation) · Entropy = diversity of training tasks + sampled trajectory outcomes · Grounding = task outcome on training tasks
- Ceiling
- Bounded by what insights the LLM can extract from trajectories and re-surface as relevant when retrieved. Library quality degrades as size grows and retrieval noise rises, a ceiling shared by all R6 systems.
§B · ReferencePapers classified
Each work in the master table below is tagged on four axes: evolver capacity (E1–E3), reference (R1–R6), mechanism (M1–M5), and topology (T1–T5). The legend immediately below defines each tag; the master table follows.
Tag legend
Evolver capacity · what kind of system the evolver is
| ID | Capacity | Examples |
|---|---|---|
| E1 | Fixed procedure. Frozen LLM + a static prompt template; reads at most the current candidate and its score. | OPRO, PromptBreeder, APE, Self-Refine |
| E2 | LLM + structured memory. Frozen LLM reading an archive or history of past candidates; not itself an agent. | AlphaEvolve, FunSearch, DGM, Eureka, ADAS |
| E3 | Agentic evolver. Evolver is itself a full agent (Model + Harness + Context) with its own reading capacity: source, traces, retrieval, tool use. | Meta-Harness, AI Scientist, AIDE, R&D-Agent |
Reference · what the evolver reads each iteration
Listed roughly from weakest to richest reference structure. Scope (whether the reference persists across iterations or is built and discarded per-task) is an orthogonal axis: R1 holds nothing, R2 is per-task by definition, R3–R6 are persistent.
| ID | Reference type | Examples |
|---|---|---|
| R1 | None / implicit. No external archive; the evolver sees only the current candidate (and, for training-based systems, the weights themselves). | STaR, Self-Rewarding LMs, Const. AI |
| R2 | Per-task search tree. Tree or graph built within a single task and discarded: MCTS trees, beam-search frontiers. Rich within a task, but nothing carries across. | AFlow, AIDE, LATS |
| R3 | Ordered log. Sequence of past (candidate, score) items; includes replay buffers and prompt-score histories. | OPRO, TextGrad, RAGEN |
| R4 | Flat population. Unordered candidate set with no topology over it. | EvoPrompt, PromptBreeder |
| R5 | Structured archive. An archive with topology: quality-diversity bins, island sub-populations, or similar geometry. | AlphaEvolve, FunSearch, DGM, ADAS |
| R6 | Content-indexed library. Textual or code items retrieved by semantic match. Internal structure varies (per-task buffer in Reflexion, indexed skill library in Voyager, shared workspace in CORAL); the unifying feature is content-based retrieval rather than positional or score-based access. | Reflexion, Voyager, EvolveR, CORAL |
Mechanism · what operation produces the variant
Listed roughly from weakest to strongest in compounding power. The M2/M3 boundary (text vs code) is the main place these tags overlap, which is fine — they're labels, not disjoint bins.
| ID | Mechanism |
|---|---|
| M1 | Per-task search. Tree search, MCTS, or beam search built and discarded within a single task, distinct from M4's across-task evolution. Powerful within a task; nothing accumulates between tasks. |
| M2 | Iterative LLM refinement. LLM edits a text artifact (prompts, reflections, summaries, other text variables) given feedback or score. OPRO-style. |
| M3 | Code generation. LLM produces novel code: solutions, tools, or self-modifications. Distinguished from M2 by artifact type: code with semantics, not just optimizable text. |
| M4 | Evolutionary search. Population + variation + selection, across iterations. Almost always paired with another mechanism (typically M3) that produces the actual variants. |
| M5 | Gradient training. Weight updates via loss: SFT, DPO, RL, RLAIF. The most powerful in the sense that the substrate itself moves; everything else above edits artifacts around a fixed substrate. |
Topology · the shape of the feedback wiring
| ID | Topology | Examples |
|---|---|---|
| T1 | Open loop. One pass, no feedback. | — |
| T2 | Single-target loop. Fixed evolver iteratively modifies a target, informed by a signal. | OPRO, AlphaEvolve, Reflexion, Voyager |
| T3 | Self-referential. The evolver is the target. | DGM, STOP, SICA |
| T4 | Co-evolution. Two agents drive each other (often proposer ↔ solver). | Absolute Zero, SPIN, WebRL |
| T5 | Nested / multi-scale. A loop operating on another loop — inner loop can be any of T2/T3/T4. | PromptBreeder |
Master table
Grouped by target. Tagged evolver · reference · mechanism · topology.| Work | Y | E | Ref | Mech | Top |
|---|---|---|---|---|---|
| Model: weights evolve | |||||
| STaR | '22 | E1 | R1 | M5 | T2 |
| Constitutional AI | '22 | E1 | R1 | M5 | T2 |
| Self-Rewarding LMs | '24 | E1 | R1 | M5 | T2 |
| SPIN | '24 | E1 | R1 | M5 | T4 |
| Meta-Rewarding | '24 | E1 | R1 | M5 | T4·lite |
| Quiet-STaR | '24 | E1 | R1 | M5 | T2 |
| Agent Q | '24 | E2 | R2+R3 | M5+M1 | T2 |
| RAGEN | '25 | E2 | R3 | M5 | T2 |
| ARPO | '25 | E2 | R3 | M5 | T2 |
| Absolute Zero | '25 | E1 | R1 | M5 | T4 |
| TTT-Discover | '26 | E1 | R1 | M5 | T2 |
| SDFT | '26 | E1 | R1 | M5 | T2 |
| SDPO | '26 | E1 | R1 | M5 | T2 |
| Harness · Prompts: prompts evolve offline | |||||
| APE | '23 | E1 | R3 | M2 | T2 |
| OPRO | '23 | E1 | R3 | M2 | T2 |
| PromptBreeder | '23 | E1 | R4 | M4 | T5 |
| Self-Refine | '23 | E1 | R1 | M2 | T2 |
| DSPy | '23 | E1 | R3 | M2 | T2 |
| ProTeGi | '23 | E1 | R3 | M2 | T2 |
| EvoPrompt | '24 | E1 | R4 | M4 | T2 |
| PromptAgent | '24 | E2 | R2 | M1 | T2 |
| TextGrad | '24 | E1 | R3 | M2 | T2 |
| Trace / OptoPrime | '24 | E2 | R3 | M2 | T2 |
| Harness · Scaffolding: agent code / workflow evolves | |||||
| STOP | '23 | E2 | R3 | M3 | T3 |
| AI Scientist | '24 | E3 | R5 | M3+M1 | T2 |
| ADAS | '24 | E2 | R5 | M4+M3 | T2 |
| AFlow | '24 | E2 | R2 | M1 | T2 |
| AgentSquare | '24 | E2 | R5 | M4 | T2 |
| Godel Agent | '24 | E2 | R3 | M3 | T3 |
| DGM | '25 | E2 | R5 | M4+M3 | T3 |
| SICA | '25 | E2 | R3 | M3 | T3 |
| AIDE | '25 | E3 | R2 | M1+M3 | T2 |
| R&D-Agent | '25 | E3 | R3 | M3 | T2 |
| AgentBreeder | '25 | E2 | R5 | M4 | T2 |
| MAS-ZERO | '25 | E2 | R4 | M1 | T2 |
| Confucius Code Agent | '25 | E3 | R3 | M3 | T2 |
| Meta-Harness | '26 | E3 | R3 | M3 | T2 |
| Context · Memory: runtime memory grows | |||||
| Reflexion | '23 | E1 | R6 | M2 | T2 |
| ExpeL | '23 | E1 | R6 | M2 | T2 |
| SPRING | '23 | E1 | R6 | M2 | T2 |
| A-MEM | '25 | E1 | R6 | M2 | T2 |
| Mem0 | '25 | E1 | R6 | M2 | T2 |
| MEM1 | '25 | E1 | R1 | M5+M2 | T2 |
| SAGE | '24 | E2 | R6 | M2 | T2 |
| EvolveR | '25 | E2 | R6 | M2 | T2 |
| Agent Workflow Memory | '24 | E1 | R6 | M2 | T2 |
| Context · Dynamic skills: tools/skills created at runtime | |||||
| CREATOR | '23 | E1 | R1 | M3 | T2 |
| Voyager | '23 | E2 | R6 | M3 | T2 |
| CLOVA | '24 | E1 | R1 | M3 | T2 |
| ToolEVO | '24 | E2 | R6 | M1 | T2 |
| LIVE-SWE-AGENT | '25 | E3 | R1 | M3 | T2 |
| STELLA | '25 | E3 | R6 | M3 | T2 |
| Alita | '25 | E3 | R6 | M3 | T2 |
| Context · Search state: candidate population evolves during a search | |||||
| ELM | '22 | E2 | R5 | M4 | T2 |
| FunSearch | '23 | E2 | R5 | M4+M3 | T2 |
| AlphaEvolve | '25 | E2 | R5 | M4+M3 | T2 |
| CodeEvolve | '25 | E2 | R5 | M4+M3 | T2 |
| ShinkaEvolve | '25 | E2 | R5 | M4+M3 | T2 |
| CORAL | '26 | E3 | R6 | M4+M3 | T2 |
| Environment · Rewards: reward function evolves | |||||
| Eureka | '23 | E2 | R3 | M4+M3 | T2 |
| Auto MC-Reward | '23 | E2 | R3 | M3 | T2 |
| Environment · Tasks: task distribution / curriculum evolves | |||||
| OMNI-EPIC | '24 | E2 | R5 | M3 | T2 |
| AgentGen | '24 | E2 | R1 | M3 | T2 |
| AgentTrek | '24 | E2 | R1 | M3 | T2 |
| WebRL | '24 | E1 | R1 | M5+M3 | T4 |
§C · RL referenceConcepts, and where they differ
The framework is paradigm-agnostic: most concepts in §2 and §3 have direct RL antecedents. This appendix maps the concepts most readers will bring from an RL background onto the framework's cells. Rows run from the most basic MDP primitives to the more structured methods. (The five places where self-evolving agents do something RL had no vocabulary for are covered in §1.)
| RL concept | Framework location | Self-evolving counterpart |
|---|---|---|
Policy π(a|s) | Model + Harness | LLM weights + prompt / scaffolding |
Trajectory τ | Context | Rollout transcript, reflections, workspace |
Reward R | grounding; Env·Rewards target | Deterministic verifier; task-completion score |
Value function V, Q | — | mostly absent; occasional learned judges |
| Replay buffer | Reference R3; retention | Archive of past candidates (AlphaEvolve, DGM) |
| Exploration (temperature, ε-greedy, novelty) | entropy force | Sampling temperature; QD bins; island diversity |
| Policy gradient / PPO / DQN | M5 · T2 | SFT / DPO / RL on self-generated data (STaR, SDFT) |
| Imitation learning / behavior cloning | M5 on offline data | SFT on human demonstrations |
| Evolution Strategies / neuroevolution | M4 · T2 | LLM-as-mutator on programs (FunSearch, AlphaEvolve) |
| RLHF / learned reward model | Env·Rewards (learned) + M5 | Preference training with an LLM judge |
| Reward shaping / inverse RL | Env·Rewards target | Eureka, Auto MC-Reward |
| Curriculum / PCG / domain randomization | Env·Tasks target | OMNI-EPIC, AgentGen, Absolute Zero's proposer |
| Self-play | T4 topology | Absolute Zero, SPIN, WebRL |
| Meta-learning (MAML, RL², PEARL) | T5 topology | PromptBreeder |
| Hierarchical RL / options | T5·lite | Skills-as-options (Voyager) |
| Model-based RL / world model | auxiliary grounding | LLM as imagined-rollout oracle (Tree of Thoughts) |
The pattern is that topology (T1–T5), mechanism (M1–M5), and the three physics forces accommodate almost every RL method without strain. The differences live on the target and evolver axes — the five specific moves the LLM substrate enabled, which classical RL had no direct name for, are enumerated in §1.