DARWIN GÖDEL MACHINE: OPEN-ENDED EVOLUTION OF SELF-IMPROVING AGENTS翻译
2026/9/7 19:14:21 网站建设 项目流程

⚠️ 在开始阅读之前,如果你对实时 Agent / 数字人 / 多模态系统 / LiveKit 架构感兴趣,
欢迎先到 GitHub 给项目点一个 ⭐ Star,这是对开源作者最大的支持。

🚀AlphaAvatar 项目地址(强烈建议先收藏,该项目正在持续更新维护):
👉 https://github.com/AlphaAvatar/AlphaAvatar
🚀AIPapers 项目地址(具有更全的有关LLM/Agent/Speech/Visual/Omni论文分类):
👉 https://github.com/AlphaAvatar/AIPaperNotes

摘要

当今大多数人工智能系统都受限于人为设计的固定架构,无法自主且持续地自我改进。而科学方法则是一个累积性的开放式系统,每一项创新都建立在先前成果的基础上,从而为未来的发现奠定基础。人们越来越希望,目前人工智能的推进过程本身可以实现自动化。如果能够安全地实现自动化,这将加速人工智能的发展,并使我们能够更快地从中受益。这一前景引出了一个问题:人工智能系统如何在不断改进自身的同时,更好地解决相关问题?元学习可以自动发现新的算法,但其局限性在于只能进行一阶改进,并且需要人为设计合适的搜索空间。哥德尔机提出了一种理论上的替代方案:一种能够自我改进的人工智能,它以可证明有益的方式反复修改自身。然而,在实践中,证明大多数修改都是净收益是不可能的。我们提出了Darwin Gödel Machine (DGM),这是一种新型的自改进系统,它通过迭代修改自身代码(从而提升自身修改代码库的能力)并使用编码基准测试对每次修改进行实证验证。受达尔文进化论和开放性研究的启发,DGM 构建了一个生成的编码 Agent 库。它从该库中抽取 Agent 样本,这些 Agent 会进行自我修改,从而创造出新的、有趣的版本。这种开放式的探索形成了一个不断增长的、由多样化的高质量 Agent 组成的树状结构,并允许并行探索搜索空间中的多种不同路径。实证研究表明,DGM 能够自动提升自身的编码能力(例如,更优秀的代码编辑工具、更高效的长上下文窗口管理、同行评审机制),使其在 SWE-bench 测试中的性能提升了 20.0% 到 50.0%,在 Polyglot 测试中的性能提升了 14.2% 到 30.7%。此外,DGM 的性能显著优于那些不具备自改进或开放式探索能力的基线系统。所有实验均采取了安全预防措施(例如,沙盒环境、人工监督)。总而言之,DGM 代表着向自我改进型人工智能迈出的重要一步,它能够沿着一条通往无限创新的道路不断积累经验。所有代码均已在 https://github.com/jennyzzt/dgm 开源。

1.介绍

科学进步是一个累积且永无止境的过程,每一次突破都建立在无数先前洞见的基础之上。同样,我们最先进的人工智能系统也建立在长期的创新成果之上。例如,作为当前大语言模型(LLM)核心的 Transformer 模型并非凭空出现,而是建立在多年来循环神经网络和注意力机制等创新成果之上。然而,当今大多数人工智能系统仍然受限于固定的、人为设计的架构,只能在预定义的边界内学习,而无法自主重写源代码以进行自我改进。因此,人工智能发展的每一次进步仍然严重依赖人为干预,从而限制了其发展速度。本文探讨了一种引人入胜的可能性:安全地自动化探索更优人工智能的过程。我们可以设想这样一个人工智能系统:它像科学发现本身一样,成为自身发展的引擎:在过往成果的基础上不断积累,递归改进,并推动自身朝着更高级的能力迈进

Schmidhuber (2007) 提出了一类数学上严谨的、自引用的、自改进的问题求解器。它依赖于形式化证明来论证代码重写的合理性,确保任何自我修改都具有可证明的益处。然而,在实践中,如果不限制系统特性,就无法形式化地证明对人工智能系统的修改是否有益。例如,虽然基于 LLM 的编码 Agent 似乎会受益于访问更多工具(例如代码搜索、测试运行器),但实际影响很大程度上取决于模型的训练和任务环境(例如,针对特定设置优化的测试工具在处理其他设置时可能会使 Agent 感到困惑)。我们不要求形式化证明,而是通过基准测试来验证自我修改,使系统能够根据观察到的结果进行改进和探索。这种方法类似于生物进化,其中突变和适应并非预先验证,而是产生、试验,然后通过自然选择进行筛选。我们还从达尔文进化论中汲取灵感,并研究维护一个先前发现的 Agent 库的有效性,以作为后代的垫脚石。

我们提出了Darwin Gödel Machine (DGM),这是一个自引用、自改进的系统,它能够编写和修改自身的代码,从而成为更优秀的编码 Agent。每次自我修改都需要 DGM 编辑自身的代码库。我们使用图灵完备的 Python 语言,这使得 DGM 能够构建任何可计算机器。我们的框架设想智能体能够重写自身的训练脚本(包括训练新的基础模型(FM))。然而,本文并未展示这一点,因为训练 FM 需要大量的计算资源,并且会引入显著的额外复杂性,我们将此留作未来的研究方向。本文的重点在于改进使用预训练 FM 的编码智能体的设计(例如,工具使用、工作流程)。DGM 在自我修改和评估阶段之间交替进行。在自我修改阶段,从档案库中选择的编码智能体生成自身的修改版本。在评估阶段,每个修改后的智能体都会在编码基准测试中接受测试,以评估其编码能力,然后添加到档案库中。通过这种循环不断提升自身能力,DGM 能够更好地解决编码任务并进行未来的自我改进。一个关键假设是,编码基准测试性能的提升表明编码能力的增强,进而表明自我修改和自我改进能力的提高。此外,DGM 维护着一个生成的编码 Agent 库,初始时仅包含一个 Agent,并随着时间的推移持续积累所有生成的变体。为了支持持续的自我改进,DGM 从开放性研究中汲取灵感,积累各种“垫脚石”(即有趣但并非最优的解决方案或功能,这些方案或功能可能带来未来的突破)。这种开放式的探索鼓励发现超越直接性能提升的新颖且潜在有用的自我修改方法。

我们在两个编码基准测试(SWE-bench 和 Polyglot)上展示了实验结果。DGM 在 SWE-bench 上的性能从 20.0% 自动提升至 50.0%,在 Polyglot 上的性能从 14.2% 自动提升至 30.7%。我们证明,自我改进能够实现持续进步,因为 DGM 的性能优于基线模型(该基线模型反复使用同一个基础智能体来修改和生成新的智能体,而没有进行自我改进)。我们还证明,开放式探索和维护所有先前生成的智能体的存档有助于发现更优秀的编码智能体。DGM 的性能优于不进行开放式探索的基线模型(即,没有积累有趣且不同的迭代过程存档的基线模型),在该基线模型中,编码智能体始终基于自身的最新版本进行构建。总而言之,DGM 代表着人工智能系统朝着能够基于自身先前的创新并递归改进的方向迈出了重要一步。我们广泛考虑并讨论了安全方面的问题,包括沙箱机制和自我修改的可追溯性,以确保负责任的实验(第 5 节)。通过推进安全、自参照、自改进模型的可能性,DGM 使我们更接近于人工智能,这种人工智能不仅能够学习,而且能够像科学本身一样,沿着开放的、自我加速的轨迹不断演进。

2. RELATED WORK

Open-Endedness。推动无限创新的一大挑战在于设计能够持续生成新颖且可学习成果的开放式人工智能系统。Hughes et al. (2024) 将开放性定义为系统生成一系列从观察者角度来看既新颖又可学习成果的能力。核心难点在于构建和探索庞大的搜索空间,从而持续生成对人类而言有趣的成果。早期进展主要依赖于质量多样性算法、目标导向探索、内在动机和学习进度框架,而近期进展则利用大规模基础模型(FM)作为人类兴趣的 Agent,并借助多功能引擎在不同领域生成和评估新颖行为。然而,这些方法尚未形成自指式自我改进的闭环,这意味着下游任务的改进并不能转化为自我修改能力的提升或加速进一步创新。我们的目标是模拟科学技术的加速发展,即新的工具和发现能够催化更多发现的产生。我们如何才能效仿自然界的进化轨迹,使其不仅朝着复杂性发展,而且朝着越来越强大的进化能力发展?

Meta-Learning FM Agents。许多基于基础模型(FM)的智能体都是手工构建的。一些基本构建模块包括提示工程、思维链、自我反思、多智能体辩论、记忆、温度采样和检索增强生成。这些组件的手动组合将系统的能力限制在设计者的创造力范围内。近年来,一些元学习方法利用功能矩阵自动优化提示并设计智能体模块。智能体系统的自动化设计通过迭代生成具有固定元智能体的下游智能体,并将其与目标基准进行比较,然后结合反馈来改进后续生成。相比之下,DGM 是一个单一系统,它既可以解决下游任务(即编码问题),又可以改进自身的实现(即代码库),从而无需固定的手工元智能体,并能够进行自我参考改进。

Self-Improving AI。早期,许多研究人员概述了自我改进的理论和概念方法。一些自动化自我改进的实用方法包括基于神经网络权重参数化的系统。Metz et al. (2021) 开发了一种基于梯度的优化器,该优化器使用基于种群训练的变体进行自引用元训练。Lange et al. (2023) 将此方法扩展到无梯度学习。Silver et al. (2017) 使用自博弈来持续进化智能体,在国际象棋和围棋等具有挑战性的领域实现了超人水平。与 DGM 更密切相关的是最近利用基于 FM 的智能体进行自我改进的方法。Zelikman et al. (2024b) 使用元智能体生成下游智能体,并根据从生成的解决方案中获得的元效用更新元智能体。Yin et al. (2024) 使用单个系统来解决下游任务并递归地修改自身。然而,下游任务或元效用并非总是与自我改进所需的能力相匹配。在 DGM 中,下游任务的改进直接反映了自我改进能力的提升,从而有可能实现自我加速进步。与此最为相似的是 Robeyns et al. (2025) 的并行工作,该工作也使用单个智能体递归地解决编码问题并修改自身的代码库。与 Robeyns et al. (2025) (and also Zelikman et al. (2024b); Yin et al. (2024)) 的主要区别在于,DGM 具有开放式的探索循环,鼓励在短期性能提升之外进行自我修改,从而避免停滞在次优状态。附录 B 还讨论了其他相关工作,包括程序合成和达尔文进化。

3.DARWIN GÖDEL MACHINE

哥德尔机是一种人工智能的理论构想,它致力于寻找能够证明自身性能提升的方法。本文提出了达尔文哥德尔机(DGM),旨在实现人们长期以来构建哥德尔机的梦想。DGM 放宽了哥德尔机不切实际的要求,即必须从理论上证明某个改变能够提升系统性能,而是要求通过实验经验来证明所提出的新版本能够增强系统性能。此外,由于 DGM 依赖于经验证据来证明性能提升,因此它可能会陷入庞大的可能系统搜索空间(即所有可计算算法)中的局部最优解。为了解决这个问题,DGM 在搜索过程中维护了一个已发现解决方案的存档,从而能够进行开放式的探索,而不是依赖于单一解决方案的演化。由于这些原理与达尔文进化论(附录 B)相呼应,即通过从先前发现的解决方案档案中选择一个实体,对其进行修改,如果它是有趣的新事物,则保留它,从而产生新的创新,因此我们将我们的算法称为达尔文哥德尔机器(图 1)。

Self-referential Self-improvement of Coding Agents。DGM 仅初始化一个编码智能体,其性能提升通过编码基准测试进行评估。编码智能体被定义为一个独立的系统,它由代码库实现,并由预训练的基础模型(FM)驱动,能够读取、写入和执行代码。当代码以通用图灵完备语言(例如 Python)表达时,它是一种构建和改进智能系统的强大工具,因为它能够表示任何可计算的过程。最近的研究表明,可以通过对其代码库中实现的组件(例如提示、工作流和工具)进行元学习来改进此类智能体。因此,我们将自我改进定义为一项编码任务,该任务涉及修改智能体自身组件的设计(即其自身的代码,不包括下一段所述的开放式探索过程)。其关键动机在于,实证结果必须反映系统自我改进和解决下游任务的能力。通过将 DGM 配置为编码 Agent 并测试其编码能力,观察到的改进不仅表明下游任务的性能有所提高,而且还表明其具有进一步自我改进的能力,因为自我改进从根本上来说是一项编码任务,它会修改编码代理自身的代码库。

Population-based Open-ended Exploration。从单个初始编码 Agent 开始,DGM 构建一个包含所有已发现 Agent 的档案库。在每次迭代中,DGM 选择父 Agent 进行自我修改并分支生成新的 Agent。父 Agent 的选择大致与其性能得分成正比,与其具有代码库编辑功能的子 Agent 数量成反比(附录 C.2)。这有利于那些性能优异但探索不足(即现有子 Agent 较少)的 Agent,从而促进对性能优异 Agent 的利用以及对有前景但样本量较少的谱系的探索。所有代理都保持非零的选择概率,确保在计算资源充足的情况下,任何改进路径都是可行的。每个被选中的父 Agent 分析自身的基准测试评估日志,提出下一个要实现的功能,并将此提议作为待执行的问题语句(附录 C.3)。然后,父代理将建议的功能实现到自身的代码库中,生成一个新的编码 Agent。每个新生成的 Agent 都会在选定的编码基准测试上进行定量评估,以估计其编码能力。只有那些能够成功编译并保留编辑给定代码库能力的智能体才会被添加到 DGM 存档中,因为只有它们才能继续进行自我修改。所有其他智能体都会被丢弃。父级选择、自我修改和评估的循环不断进行,逐步扩充解决方案存档。值得注意的是,存档的解决方案可以作为垫脚石,在它们最初被发现之后很久,仍能带来改进,这使得我们的方法与爬山算法的智能体设计方法有着显著的不同。目前,开放式的探索过程(即存档维护、父级选择)是固定的,DGM 无法对其进行修改,我们将其作为未来工作的方向。附录 C.4 展示了 DGM 算法的伪代码。

4.EXPERIMENTS

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询