快速了解部分
基础信息(英文):
- 题目: DARWIN GÖDEL MACHINE: OPEN-ENDED EVOLUTION OF SELF-IMPROVING AGENTS
- 时间: 2025.05
- 机构: University of British Columbia, Vector Institute, Sakana AI, Canada CIFAR AI Chair
- 3个英文关键词: self-improving agents, open-ended evolution, coding agents

1句话通俗总结本文干了什么事情
提出Darwin Gödel Machine (DGM),一个能自己改自己代码、用benchmark实证验证改进效果、并通过维护多样化agent档案库实现持续进化的自改进编码系统。
研究痛点:现有研究不足 / 要解决的具体问题
- 现有AI系统被人类设计的固定架构锁死,无法自主持续改进
- Gödel Machine要求"形式化证明改进有益",实践中不可行
- Meta-learning只能做一阶改进,搜索空间仍由人类设计
核心方法:关键技术、模型或研究设计(简要)
- 自修改代码 + benchmark实证验证,替代形式化证明
- 维护多样化agent档案库,支持开放式探索避免局部最优
- 父代选择机制:性能越高、子代越少,被选中概率越大
深入了解部分
作者想要表达什么
自改进AI可以像科学进步一样累积式发展:用实证验证替代形式证明,用开放式探索替代单线进化,让系统自己积累"垫脚石",实现真正的自加速创新。
相比前人创新在哪里
- 首个将FM(foundation model)能力与开放式探索结合的自改进系统
- 用"实测有效"替代"理论可证",让自改进真正可行
- 档案库机制支持多路径并行探索,避免陷入局部最优
- 下游任务性能提升直接反映自改进能力增强,形成正反馈
解决方法/算法的通俗解释
像生物进化:维护一个"物种库"(agent档案),按"能力强+后代少"的原则选"父母",让父母"变异"(改自己代码)生出"孩子",用coding benchmark做"自然选择",能干活的孩子入库,循环迭代。
解决方法的具体做法
- 初始化一个基础coding agent(冻结FM + Bash工具 + 编辑工具)
- 从档案库选父代(性能正比、子代数反比的概率采样)
- 父代分析自己的评估日志,提出改进方案并执行自修改
- 新agent在SWE-bench/Polyglot上评估编码能力
- 能成功编辑代码的新agent加入档案库
- 重复上述过程,档案库持续生长
基于前人的哪些方法
- Gödel Machine的自改进理论框架
- Darwinian evolution的变异-选择-保留机制
- Quality-diversity算法的开放式探索思想
- FM-based agent的meta-learning与tool use方法
实验设置、数据、评估方式、结论
- Benchmarks: SWE-bench Verified(Python多文件修复), Polyglot(多语言单文件实现)
- 基础设置: 冻结FM, Bash+edit工具, 单prompt输入
- 模型: 自修改用Claude 3.5 Sonnet, 评估用Claude 3.5 Sonnet(SWE)或o3-mini(Polyglot)
- 迭代: 80轮, 并行2-4个任务
- 结论: SWE-bench 20.0%→50.0%, Polyglot 14.2%→30.7%; 超越无自改进/无开放式探索baseline; 改进可跨模型、跨benchmark、跨编程语言迁移
提到的同类工作
- Schmidhuber (2007) Gödel Machine理论
- ADAS (Hu et al., 2025): 固定meta-agent迭代生成下游agent
- Robeyns et al. (2025): 单agent递归改代码解决编码问题
- Promptbreeder/Fernando et al. (2024): prompt进化自改进
- Quality-diversity算法、intrinsic motivation等开放式探索方法
和本文相关性最高的3个文献
- Schmidhuber (2007) Gödel machines: Fully self-referential optimal universal self-improvers
- Hu et al. (2025) Automated Design of Agentic Systems (ADAS)
- Robeyns et al. (2025) A Self-Improving Coding Agent
我的
想法很好,通过不断加新的agent并淘汰来实现进化。