如果 AI 能自己进化,还需要程序员吗?
2025 年 5 月,Sakana AI 与英属哥伦比亚大学(UBC)联合发表了一篇论文——Darwin Gödel Machine: Open-Ended Evolution of Self-Improving Agents(arXiv: 2505.22954)。
它回答了一个科幻级问题:
AI 能不能不依赖人类,持续修改自己的代码、让自己变得更强?
论文给出的答案,比「能」更具体——能,而且已经在编程基准上跑出了实打实的数据。
80 轮自我迭代后,一个简陋的编程 Agent,在 SWE-bench 上的通过率从 20.0% 涨到 50.0%,在 Polyglot 上从 14.2% 涨到 30.7%——追平甚至超越了人类手工打磨的开源 Agent。
代码已开源:https://github.com/jennyzzt/dgm[1]
论文要解决什么问题?
今天几乎所有 AI 系统,都有一个共同天花板:
架构是人设计的,改进靠人推动。
Transformer 是人发明的 Prompt 模板是人写的 Agent 工具链是人拼的 每次升级,背后都是工程师在加班
Schmidhuber 在 2007 年提出过理论方案——Gödel Machine(哥德尔机):一个能反复修改自身代码、且每次修改都数学可证明有益的 AI 系统。
想法很美好,现实很骨感:在真实 AI 系统上,你几乎无法形式化证明「改这段代码一定更好」。
比如给 Agent 加一个测试工具,在 A 项目里提速,在 B 项目里可能反而把它搞糊涂——没有通用证明,只有具体场景下的经验结果。
Darwin Gödel Machine(DGM)换了一条路:别追求数学证明,用实验数据说话,用进化算法探索。
核心思路:达尔文 + 哥德尔
论文名字里藏着两个关键词:
| 名字来源 | 贡献什么 |
|---|---|
| Gödel(哥德尔) | 自我指涉、自我改进——系统改的是自己的代码 |
| Darwin(达尔文) | 开放式进化——不靠单线爬坡,靠种群多样性和自然选择 |
传统优化(爬山算法):
当前最优 → 改一点 → 更好就留,不好就丢
问题:容易困在局部最优,错过「先退步再飞跃」的路径
DGM(开放式进化):
维护一个 Agent 档案库 → 从任意历史版本分支 → 并行探索多条路径
即使某条路径暂时退步,也继续探索——因为「垫脚石」可能在未来组合出突破
论文里有个经典案例:SWE-bench 实验第 4 轮和第 56 轮,新 Agent 分数一度低于父代。传统方法会直接放弃这条路,但 DGM 继续探索,到第 70 轮,这条线上的后代超越了所有前辈。
进化不怕暂时的退步,怕的是过早关掉探索。
DGM 怎么工作?一个循环讲清
DGM 的初始状态极简:一个只有 Bash 和文件编辑两个工具的编程 Agent,底层模型冻结(不自训练权重)。
然后进入无限循环:
┌─────────────────────────────────────────────────┐
│ 1. 从档案库选一个「父代 Agent」 │
│ (高性能 + 探索不足 的优先) │
├─────────────────────────────────────────────────┤
│ 2. 自我修改阶段 │
│ 父代读自己的代码 + 评测日志 │
│ → 提出改进方案 → 改写自己的代码库 │
│ → 产出一个「子代 Agent」 │
├─────────────────────────────────────────────────┤
│ 3. 评测阶段 │
│ 子代能编译吗?还能改代码吗? │
│ → 在 SWE-bench / Polyglot 上跑分 │
├─────────────────────────────────────────────────┤
│ 4. 入库 │
│ 合格的子代加入档案库,成为未来分支的起点 │
└─────────────────────────────────────────────────┘
↑ │
└──────── 重复 80+ 轮 ─────────┘
关键设计:档案库只增不减。
每个 Agent 都是进化树上的一个节点,任何节点都可以被选中继续变异。这形成了一棵不断分叉的树,而不是单链条的「最新版覆盖旧版」。
它自己发现了什么改进?
人类工程师花数月打磨的 Agent 工具链,DGM 在 80 轮迭代里自己摸索出来了:
工具层改进
精细文件查看:从「只能看整个文件」进化到「按行号查看」 精准编辑:从「整文件替换」进化到「字符串级别局部替换」 更合理的 Bash 命令使用策略
工作流改进
多次尝试:同一任务生成多个方案,选最优 同行评审机制:用另一个大模型评估并筛选解决方案 历史记忆:后续尝试会参考之前失败的经验
这些不是人类写死在 Prompt 里的,是 Agent 分析自己的失败日志后,自主决定要实现的功能。
硬数据:提升了多少?
SWE-bench Verified
| 阶段 | 通过率 |
|---|---|
| 初始 Agent | 20.0% |
| 80 轮进化后 | 50.0% |
| 人类手工开源 SOTA | ~50%(可复现版本) |
从入门水平追到了人类顶尖工程师花大量时间打磨的水平。
Polyglot(多语言编程)
| 阶段 | 通过率 |
|---|---|
| 初始 Agent | 14.2% |
| 进化后(全集评测) | 30.7% |
| 人类手工 Aider | 被超越 |
起点比 Aider 低,终点比 Aider 高——自动化设计追上了人类持续一年的手工优化。
消融实验:两个机制缺一不可
| 变体 | 结果 |
|---|---|
| 完整 DGM | 最佳 |
| 去掉自我改进(修改者自身不进化) | 早期有提升,很快停滞 |
| 去掉开放式探索(只改最新版) | 一次改坏了就很难恢复,整体更低 |
自我改进让系统越改越会改;开放式探索让系统不怕走弯路。
和现有 Agent 技术比,新在哪?
| 方向 | 代表工作 | 局限 | DGM 的突破 |
|---|---|---|---|
| 手工 Agent | Cursor、Copilot、Dify | 架构固定,升级靠人 | 架构自己进化 |
| 元学习优化 Prompt | ADAS 等 | 元 Agent 固定,只做一阶优化 | 修改者自身也在进化 |
| 单链自我改进 | 部分自参照 Agent | 只从最新版分支,易困局部最优 | 档案库 + 多路径并行探索 |
| Gödel Machine 理论 | Schmidhuber 2007 | 需要数学证明,无法落地 | 用实验验证替代证明 |
DGM 的本质:把「AI 研发」本身也变成了一个可搜索、可进化的问题。
安全吗?论文花了整整一节讨论
自改代码的 AI,听起来像天网雏形。论文对此非常谨慎:
| 措施 | 说明 |
|---|---|
| 沙盒执行 | 所有 Agent 活动在隔离环境运行 |
| 时间限制 | 防止无限循环消耗资源 |
| 范围限定 | 仅限 Python 代码库和编程任务,不能随意改任何东西 |
| 修改可追溯 | 档案库保留完整进化树,每步改动可审计 |
| 人工监督 | 实验全程有人类研究者监控 |
论文也坦承:当前安全措施针对研究环境,离生产级自治还有距离。 未来方向包括把自我改进导向安全性和可解释性增强,类似 Constitutional AI 的思路。
三个需要冷静的局限
局限一:只进化 Agent 设计,不进化模型权重
底层大模型(Claude 3.5 Sonnet 等)是冻结的。DGM 改的是工具、工作流、Prompt 逻辑——不是重新训练一个更强的 FM。论文明确说,训练新基础模型留作未来工作。
局限二:目前只在编程任务上验证
自我改进能力是否迁移到医疗、法律、机器人等领域,尚无证据。
局限三:算力成本不低
80 轮迭代,每轮都要跑编程基准评测,背后是大量 API 调用和计算资源。这不是个人开发者能在笔记本上复现的实验。
对普通人意味着什么?
对开发者
短期不会取代程序员。但「设计 Agent 架构」这件事,未来可能部分自动化——你写的工具链,AI 可能自己摸索出更好的版本。
价值转向: 从「手写每一个 Agent 模块」→「设计进化环境和评测标准」。
对 AI 行业
如果自我改进闭环成立,AI 能力的提升速度可能从「人类研发周期(月/年)」压缩到「机器迭代周期(天/周)」。
Good 1965 年提出过「智力爆炸」假说——DGM 是这条路上第一个有可复现实验数据支撑的工程尝试。
对所有人
不必恐慌,但值得正视:
AI 不再只是「被人使用的工具」,正在变成「能改造自己的系统」 评测基准 + 安全沙盒 + 人类监督,是这套系统能不能安全放大的三根支柱 开源代码意味着全球研究者都能参与——加速进展,也放大风险
怎么读这篇论文?
必读部分:
Abstract + Introduction——理解动机 Section 3——DGM 算法核心 Section 4.4——实验结果和消融 Section 5——安全讨论
可以跳过的部分:
附录里的伪代码细节(除非你要复现) 与 Program Synthesis 相关的冗长 Related Work
配合资源:
论文:https://arxiv.org/abs/2505.22954[2] 代码:https://github.com/jennyzzt/dgm[3] Sakana AI 官方解读:https://sakana.ai/dgm/[4]
写在最后
Darwin Gödel Machine 不是「AGI 到了」的信号,但可能是「AI 能自己帮自己进化」的第一个扎实证据。
它把两个古老思想拧在了一起:
哥德尔式的自我指涉——改的是自己的代码 达尔文式的开放探索——不怕绕路,只怕停步
80 轮迭代,20% 到 50%——数字背后,是一个简陋 Agent 靠自己发现了精细编辑、多次尝试、同行评审这些人类工程师习以为常的技巧。
问题不再是 AI 能不能自我改进,而是:我们准备好用什么样的评测标准和安全边界,来约束这种自我改进了吗?
免责声明
本文内容仅供学习交流参考,不构成任何投资、法律、医疗或其他专业建议。文中所述观点、方法及案例基于公开信息整理,可能存在时效性或局限性。读者应结合自身情况独立判断,因参考本文内容所产生的任何后果,由读者自行承担。
引用链接
[1]https://github.com/jennyzzt/dgm
[2]https://arxiv.org/abs/2505.22954
[3]https://github.com/jennyzzt/dgm
[4]https://sakana.ai/dgm/
夜雨聆风