Sakana AI × UBC × Vector Institute(2025-05,arXiv:2505.22954)提出的自改进编码智能体:把哥德尔机”必须形式化证明改动有益”的要求换成”在基准上实证验证”,并用达尔文式的档案库做开放式探索。SWE-bench 20.0% → 50.0%,Polyglot 14.2% → 30.7%,全程无人工干预。

名字里的两半

DGM 是把两个不同传统拼在一起的产物,理解这两半就理解了它全部的设计取舍。

来源原初主张DGM 如何处理
哥德尔机(Schmidhuber, 2003/2007)自我指涉的智能体,只有当它能形式化证明某次自改代码会带来净收益时才执行改写保留”改写自身代码”的框架,放弃形式化证明——因为实践中证明绝大多数改动净有益是不可能的
达尔文进化变异 + 选择 + 保留谱系,多样性避免陷入局部最优用 LLM 当变异算子,用基准分数当适应度,用档案库存放所有候选

一句话:哥德尔机是”证明后改进”,DGM 是”跑分后保留”。

核心机制

1. 自修改(self-modification)

DGM 的初始 agent 被刻意做得极简(bash + 文件编辑工具,基础模型冻结)。每一代做四件事:

  1. 诊断:agent 读取自己的源码仓库 + 在基准任务上的完整评估日志
  2. 提案:用强 LLM 分析日志,找出弱点(如”编辑大文件时上下文超限”),写出改进方案
  3. 重写:把”改进自己”当成一个普通编程题,调用自己现有的代码编辑工具去改自己的 coding_agent.py 和 tools/
  4. 产生子代:改完的代码就是一个新 agent

关键点是自指的复利结构:改进了编码能力,就改进了”改进自己的能力”。这是它区别于普通 meta-learning 的地方——后者只能做一阶改进,搜索空间仍由人设计。

2. 实证验证(empirical validation,替代形式化证明)

新生成的 agent 必须:

  • 通过基础编译与功能检查(证明它还是个能跑的 agent)
  • 在目标基准(SWE-bench / Polyglot)上实际评测,分数决定是否入档

分数不达标的候选不是简单丢弃,而是仍可能进入档案库——这正是下一节的作用。

3. 开放式探索(open-ended exploration)

DGM 维护一个不断增长的 agent 档案库,而非只保留当前最优:

  • 父代采样概率大致与性能成正比、与已有子代数成反比(鼓励未被充分探索的分支)
  • 所有历史版本都留在库里,形成一棵分叉的进化树
  • 因此能”从性能低谷里爬出来”:论文记录 SWE-bench 实验在第 4 和第 56 次迭代时分数一度低于父代,但该路径后续仍产出了超过所有前代的最优 agent

消融实验显示:去掉开放式探索(即永远只从最新版本继续改进),性能显著更差。保留失败谱系是这套方法的核心贡献之一。

自动发现的能力

论文报告,DGM 在无人工干预下自行发明了这些改进,且都属于通用编码能力而非针对某个 issue 的过拟合:

  • 更细粒度的文件编辑:用字符串替换做精确编辑,而不是每次查看/替换整个文件
  • 长上下文窗口管理:缓解编辑大文件时的上下文溢出
  • 同行评审机制:先做多次尝试解题,再用另一个基础模型评估并选出最佳答案
  • 利用历史尝试:生成后续尝试时参考前面的失败记录

论文特别指出,同一功能目标(如”更细粒度编辑工具”)可以有多种实现,DGM 能并行探索不同实现并找到更优的那个——这是档案库多样性带来的直接收益。

安全设计与已知风险

论文声明的措施

  • 所有 agent 执行与自修改都在隔离沙箱内进行,限制对宿主系统的影响
  • 每次沙箱执行有严格时间限制,防止资源耗尽或无界运行
  • 自改进范围被限定在”通过修改自身 Python 代码库来提升特定编码基准表现”,收窄了可能的修改面
  • 持续监控性能与代码变更,档案库提供可追溯的修改谱系供人工审查
  • 论文明确表示:在该实验中未发现有害或恶意行为的证据,自修改基本集中在提升编码能力

真实的缺口

这些措施都指向同一件事:验证器在循环之外,但没有被保护。后续研究已经把这个缺口打开:

  • 基准投毒攻击(arXiv:2609.17817, 2026-09):向自评估流程投喂被污染的基准,可诱导 DGM、SICA、Hyperagents 等自修改 agent 演化出在干净留出任务上写不安全代码的行为(示例:让 agent 自行演化出关闭 HTTPS 证书校验)。污染往往在之后用干净基准继续演化时仍然残留。
  • 成本门槛:在 SWE-Bench 上跑一轮完整评估约 $22,000 加数千 CPU 小时(arXiv:2609.19526 引用),巨大的反馈成本直接限制了迭代速度这一复利变量。
  • 验证器静止:DGM 的评分标准全程固定,而进化论上”环境本身也在变”。后续工作(如红皇后哥德尔机 RQGM)试图让评估器与选手共同进化,并用留出的锚点数据约束评估器更替。

这三点与 recursive-self-improvement 的三判据严格对应:DGM 满足”可自动评分”和”评估在更新边界外”,但评分器本身不受保护、不随能力升级,因此它的高分在高对抗条件下并不稳固。

在自进化谱系中的位置

系统改什么验证方式探索机制
哥德尔机(理论)自身代码形式化证明有益无(证明即过滤)
DGM自身 Python 代码库基准分数(冻结)档案库 + 开放式采样
siaHarness + 模型权重基准 + 反馈 Agent三 Agent 循环
prime-agentContinual Harness 状态证据驱动的小步更新可回滚快照
meta-harnessHarness 源码held-out 任务文件系统 + 全历史 traces

DGM 的特殊之处:它把”改进自身”直接当作被优化的任务本身,且不依赖人工设计搜索空间。但代价是它把全部信任押在了基准评分上。

局限与争议

  • 成本极高:单轮评估数万美元量级,迭代速度受反馈成本直接压制
  • 冻结的验证器:评分标准不变,存在被精确拟合的风险
  • “开放式”成色存疑:批评者认为档案库 + 反比采样更像质量-多样性(QD)搜索的常规用法,与生物学意义上的 open-endedness 尚有距离
  • 改进集中在工程技巧:已发现的改进(细粒度编辑、评审机制、上下文管理)价值真实,但更像熟练工程师会做的事,而非涌现出全新算法
  • 安全结论有时效性:“未发现恶意行为”是当时实验条件下的观测,不是对机制的安全保证

资源

相关页面