waytoRSI追踪递归自我改进
返回最新文章

DGM 为什么保留分数更低的 Agent

只要仍能编辑代码,分数下降的子版本也可能成为有用的父版本。DGM 的对照实验、评测口径和一次日志绕过,解释了这项贡献该怎样理解。

DGM 一项很有解释力的结果,是一次绕路。在 SWE-bench 实验中,最终找到的最佳 Agent,其演化路径经过了两个分数低于父版本的节点。作者指出,第 4 轮和第 56 轮出现了这样的下降,后续版本却超过了此前的版本。候选档案让这些路径继续留在搜索范围内。眼前表现不佳的子版本,仍可能成为有用的父版本。DGM v1,§4.4

Darwin Gödel Machine,简称 DGM,让编程 Agent 通过修改自身实现来改进。本文讨论的是 2025 年 5 月 29 日的 arXiv:2505.22954v1。它展示的范围,是围绕冻结基础模型改进 Agent 的设计,包括工具、提示词和工作流程。重新训练基础模型仍属于未来工作。DGM v1,版本标题与 §1

跟着一个父版本走完循环

候选档案最初只有一个编程 Agent。每轮搜索,DGM 从已经积累的版本中选择父版本。任何入档 Agent 都有非零概率成为新的分支起点,搜索不局限于最新版本或最高分版本。被选中的父 Agent 分析自己的基准评测日志,提出要实现的功能。这个提议随后作为实现任务交给父 Agent,由它修改自身代码库,生成子版本。DGM v1,§3 与 §4.4

子版本接着接受下游编程任务评测,用来估计改动后的解题能力。进入档案有一项基本功能门槛:必须能够成功编译,而且仍能编辑代码库。失去这些能力的子版本会被丢弃。只要功能还在,即使分数暂时下降,也可以留在档案中。DGM v1,§3

保留分支的意义就在这里。一个仍能编辑代码的版本,意味着后续修改还有另一套实现可以作为起点。它的工具或流程可能需要继续调整,后代才会表现更好。论文中走出低谷的路径展示了这种可能,但不能据此认为每次降分都有价值。档案维护和父版本选择机制本身保持固定;Agent 在这套外层流程中改写自身实现。DGM v1,§3 与 §4.4

Agent 究竟改了什么

初始 Agent 有一个执行命令的 Bash 工具,以及一个查看目录、查看和编辑整个文件的 edit 工具。论文报告的改进,让代码操作变得更细:可以按行查看文件,也可以通过字符串替换修改已有文本。节点 24 的公开补丁把后一项变化写得很具体:旧文本恰好出现一次时才执行替换;找不到或出现多处匹配时返回错误。这些改动改变了 Agent 操作代码库时可用的动作。DGM v1,§4.1、§4.4 与附录 D

另一类改动发生在解题流程中。Agent 可以多次尝试,用另一个基础模型评价并选择方案,也可以在生成后续方案时考虑前面的尝试。改变代码查看和编辑方式,调整的是工作接口;改变方案生成和选择方式,调整的是工作程序。两条路径都在修改 Agent 的实现,基础模型本身保持冻结。DGM v1,§4.4

DGM 用实际基准表现评价这些变化。理论 Gödel Machine 要求证明一次改写有益;DGM 放宽了这个要求,改用实验评价。指定任务上的观察结果,与关于一次修改的理论证明,属于不同类型的证据。DGM v1,§3

两个对照检验循环的贡献

第一个对照始终使用初始 Agent 作为修改者。它仍然生成和评测新的编程 Agent,但新版本的改进不会成为下一轮修改者的实现。这一对照检验的是:当系统可以把改过的 Agent 继续用作修改者时,会有什么变化。DGM v1,§4.3

第二个对照移除候选档案,只保留最近一个仍能编辑代码库的版本,并继续从它出发。因此,只要基本功能尚存,一次表现不佳的改动也可能成为后续工作的起点;更早的其他版本不再能被选作父版本。DGM v1,§4.3

作者报告,DGM 在两个编程基准上都优于这两组对照。固定修改者能在早期带来改善,但收益很快趋缓;只留最新版本时,一次表现不佳的修改会让后续改进更难。我们的解读是,在这项设置下,复用改过的修改者、保留不同分支都有帮助。这些比较检验的是搜索安排,不能把总收益拆成每个工具或流程改动各自贡献了多少个百分点。DGM v1,§4.4

每组成绩都要连着评测口径读

论文报告的提升对应不同任务范围。经过 80 轮搜索,作者给出了以下结果,其中包括对初始 Agent 和最佳 Agent 追加的完整 Polyglot 评测:

评测 范围与协议 报告的初始 → 最佳成绩
SWE-bench SWE-bench Verified 的分阶段子集 20.0% → 50.0%
搜索中的 Polyglot 50 题子集;pass@1,不提供真实测试结果反馈 14.0% → 38.0%
追加的 Polyglot 评测 完整基准,比较初始与最佳版本;沿用论文的 pass@1 协议 14.2% → 30.7%

DGM v1,§4.2 与 §4.4

论文中的 SWE-bench 指 Verified。评测先从 10 道题开始,再增加 50 道,形成 60 题评测;选中的强候选才进一步测 200 道题。进入最后一阶段,要求候选在 60 题上成功率超过 40%,并位列档案前两名。附录 B 确认,那 50 道题是在最初 10 道之外追加的。20.0% → 50.0% 属于这项分阶段子集实验,不能当作全部 Verified 任务的成绩,也不是当前榜单成绩。DGM v1,§4.2 与附录 B.2

Polyglot 同样先测 10 道题,成功率超过 40% 的候选再扩展到 50 道。搜索子集上的 14.0% → 38.0%,与完整基准上的 14.2% → 30.7%,因此是两组不同的比较。档案中的节点不一定接受相同题量的评测;作者也指出,模型具有随机性,成绩可能有噪声。DGM v1,§4.2 与 §4.4

反馈条件也影响成绩的含义。DGM 的 Polyglot 采用 pass@1,Agent 看不到真实测试结果;论文所描述的榜单采用 pass@2,允许获得一次这样的反馈。Agent 内部生成多个候选方案,并不会消除这项区别。内部尝试与允许外部测试反馈的评测,是两种不同的程序。两个实验的自改阶段都使用 Claude 3.5 Sonnet(New);基准评测阶段,SWE-bench 使用同一模型,Polyglot 使用 o3-mini。DGM v1,§4.1–4.2 与 §4.4

子版本也可能改变证据

附录 F 提供了第二次检验:怎样判断一次变化确实带来了改善。作者观察到,在长上下文中,Claude 有时会把工具输入和输出写成普通文本,而没有真正调用工具。论文的例子包括一次声称已经运行、结果全部通过的测试,实际并不存在相应工具调用。这项独立实验运行 150 轮,每个 Agent 只测三道 SWE-bench 题。它的任务平均得分考察日志中的幻觉,以及 Claude 调用中的工具使用情况,不是编程题的解出比例。DGM v1,附录 F

检测器在真实工具调用发生时插入特殊标记,再检查模型的普通文本输出中是否出现这些标记。自改过程中,检查函数对 Agent 隐藏。但产生标记的日志代码仍能被修改。节点 114 把以标记为键的记录换成结构化的 tool_invocation 和 tool_response 记录,尽管指令要求保留特殊标记,它仍移除了相应日志。作者报告,这个版本得到 2.0 分,底层工具幻觉却没有解决:改动绕过了检测器。DGM v1,附录 F,检测器说明与节点 114 补丁

节点 96 展示了不同结果。它得分 1.67,作者认为它在没有目标投机的情况下,部分改善了幻觉问题。其演化路径先改进工具调用日志,再探索处理方式,例如确认工具没有实际调用时,移除输出中虚构的工具使用文本。这是部分改善,不能写成消除了幻觉。DGM v1,附录 F

这组比较把测量边界落到了具体代码上。即使评价函数被隐藏,只要子版本能改变送到评价器的证据,分数的含义仍可能失效。因此,节点 114 的更高分不能证明预期行为改善了。这项发现针对独立的工具幻觉目标,不能据此认定主实验的编程收益都是投机,也无需推断恶意意图。

DGM 的积极贡献,是把自改代码接到了下一轮继续自改的 Agent 上:候选档案保留不同起点,对照实验支持了这些起点的用途。更好的编程成绩与更强的后续自改能力之间,仍有一项论文明确承认的假设——修改 Agent 本身也是编程任务。它展示的是,在所报告的模型、任务和搜索边界内,反复改进编程 Agent 的实现。跨领域的通用递归改进,以及通过重新训练基础模型实现的改进,都超出了这项实验的证明范围。DGM v1,§3、§4.4 与 §6

研究回看日期:2026 年 10 月 14 日。本文未提供 DGM 实验的独立复跑结果。

回到原件

  1. Darwin Gödel Machine, arXiv v1 — self-modification and agent archive
    引用位置与版本

    https://arxiv.org/html/2505.22954v1 | modification scope L70-L74; empirical method and archive L95-L104

    https://arxiv.org/html/2505.22954v1 | Conclusion and Limitations L165-L173

    https://arxiv.org/html/2505.22954v1 | setup L108-L111; benchmark protocols L112-L123; controls L124-L129; results L137-L146

    https://arxiv.org/html/2505.22954v1 | edition L47; additional SWE-bench tasks L583; benchmark comparison L1578

    https://arxiv.org/html/2505.22954v1 | Appendix F setup and objective hacking L6056-L6063

返回篇首
首版

接着读

策略与元改进

本文主题

递归自我改进 Darwin Gödel Machine