1. 代码是高杠杆的可变对象
六个案例中三个以代码为进化载体。修改代码可以改变系统行为,但必须由测试、回滚和迁移检查约束。
An agent that rewrites its own Python source code to discover better agent architectures.
Maintains an open-ended archive of agent designs. Each generation proposes code modifications, evaluates them on benchmarks, and keeps improvements in the archive for future generations to build on.
Code-level self-modification with archival inheritance outperforms fixed-architecture approaches on real-world tasks.
A meta-agent that writes complete Python-coded agents, searching the space of agent designs automatically.
Uses a "meta-agent" that proposes new agent architectures as Python code, evaluates them on tasks, and iterates. Discovered designs transfer across tasks and base models.
Agent design space is searchable — meta-agents can discover non-obvious architectures that human designers miss.
Combines LLMs with evolutionary computation to discover novel algorithms for math, scheduling, and hardware design.
LLM proposes code mutations -> automated evaluators score -> MAP-Elites maintains diverse population -> selected solutions survive. The paper reports a new matrix multiplication result in a historically studied task.
LLM + evolution + strong evaluator can support algorithm discovery on tasks with executable scoring; claims should stay tied to the reported benchmark context.
An LLM-powered agent that plays Minecraft by building a reusable skill library through autonomous exploration.
Three components: automatic curriculum (what to learn next), skill library (reusable code functions), and iterative prompting (fix failed skills). Skills compound — early discoveries enable later ones.
Skill libraries can create compound returns, but stale or mis-retrieved skills can also pollute future behavior.
Agents that learn from failures by generating verbal reflections stored in episodic memory.
After each failed attempt, the agent generates a textual "reflection" about what went wrong. Future attempts retrieve relevant reflections as additional context, avoiding repeated mistakes.
Language can act as a medium of self-improvement when reflections are scoped, retrievable, and checked against task outcomes.
Language models that generate their own training rewards, creating a self-improvement loop without external annotation.
The model generates candidate responses → judges them using its own reward model → trains on self-judged best responses via DPO → the improved model becomes a better judge → repeat.
The evaluator and the evaluated can be the same system — but only with careful design to prevent reward hacking.
| 系统 | 进化维度 | 进化环 | 可变对象 | 核心证据 |
|---|---|---|---|---|
| DGM | Architecture Search | Search + Population | Code | SWE-bench 20→50% |
| ADAS | Architecture Search | Search + Evaluator | Code | Cross-task transfer |
| AlphaEvolve | Algorithm Discovery | Population + Evaluator | Code | 4×4 complex matmul 49→48, source-reported |
| Voyager | Skill Library | Reflection + Memory | Skill, Memory | Items 3.6x |
| Reflexion | Reflection | Reflection | Memory | HumanEval 91% |
| Self-Rewarding | Self-Play | Search + Evaluator | Policy | Zero annotation |
六个案例中三个以代码为进化载体。修改代码可以改变系统行为,但必须由测试、回滚和迁移检查约束。
AlphaEvolve 在可自动验证的数学/算法任务中报告结果,DGM 使用 SWE-bench 等评估面。评估器质量决定结果质量;本站需要继续区分 source-reported、reviewed 和 reproduced。
积累的经验可能产生复合回报,但也会引入过期记忆、错误归因和上下文污染。
维护多个候选方案并进行选择,比沿着单一方向优化更鲁棒。
如何防止评估者和被评估者是同一系统时的奖励作弊?
从 Minecraft 到 SWE-bench:真实世界复杂性能够暴露 demo 和 benchmark 难以覆盖的失败模式。