💡 站外导读:在AI智能体追求通用能力的浪潮中,一个核心瓶颈始终存在:如何让系统自主、安全地进化?传统的静态模型难以应对开放世界的复杂任务。DGM(达尔文哥德尔机)应运而生,它通过让AI代理迭代修改自身源代码来主动提升性能,将达尔文进化论与大模型能力相结合,为自改进AI开辟了一条新路径。这不仅关乎技术突破,更触及AI安全与可控性的未来范式。
DGM是什么
DGM(Darwin Gödel Machine)是自改进人工智能系统,通过迭代修改自身代码来提升性能。DGM从其维护的编码代理档案中选择一个代理,基于基础模型生成新版本,然后在编码基准测试中验证新代理的性能。如果性能提升,新代理会被加入档案。DGM的设计灵感来源于达尔文进化论,通过开放性探索策略,从不同起点探索多种进化路径,避免陷入局部最优解。在实验中,DGM在多个基准测试中的性能显著提升,例如在SWE-bench基准测试中性能从20.0%提升至50.0%,在Polyglot基准测试中从14.2%提升至30.7%。DGM的自改进过程在隔离的沙盒环境中进行,确保安全性。

DGM的主要功能
- 自我改进:DGM能迭代地修改自己的代码,优化性能和功能。通过自我修改模块读取自身源代码,基于基础模型生成修改建议。
- 实证验证:每个代码修改会通过编码基准测试(如SWE-bench和Polyglot)进行验证,确保改进的有效性。评估引擎通过Docker容器隔离和评估新版本代码的性能。
- 开放性探索:DGM受到达尔文进化论的启发,通过开放性探索策略,从不同起点探索多种进化路径,避免陷入局部最优解。维护一个编码代理档案,不断积累所有生成的变体,支持从档案中的任何代理分支出新的进化路径。
- 安全性考虑:DGM的执行和自修改过程都在隔离的沙盒环境中进行,限制对宿主系统的影响。
DGM的工作原理
- 自修改阶段:DGM从其维护的编码代理(coding agents)档案中选择一个代理,基于基础模型(foundation model)生成该代理的一个新版本。
- 验证阶段:新生成的代理在编码基准测试中进行评估,确定其性能是否提升。
- 档案更新:经过验证的改进代理被加入到档案中,档案不断积累所有生成的变体。
DGM的项目地址
- Github仓库:https://github.com/jennyzzt/dgm
- arXiv技术论文:https://arxiv.org/pdf/2505.22954
DGM的应用场景
- 自动编程:DGM能自动生成和优化代码,减轻开发者的负担,提高编程效率。可以通过自我改进生成更高效的代码,提升软件的整体性能。
- 代码优化:DGM可以自动检测代码中的问题并进行优化,提高代码的可读性和执行效率。通过不断迭代改进,DGM能生成更优的代码版本,减少开发时间和成本。
- 自动修复:DGM通过自我进化可以自动修复发现的问题,降低软件维护成本。能识别代码中的潜在问题,生成修复方案,减少人工干预。
- 研究平台:DGM为研究自我改进系统提供了实践平台,有助于学术界对该领域的研究。研究人员可以用DGM探索新的算法和模型,推动人工智能技术的发展。
📝 站长洞察 (Editor’s Insight)
DGM的出现,标志着AI发展正从‘被动训练’转向‘主动进化’。其核心在于构建了一个闭环的、受控的‘创造-验证-选择’循环,这不仅是技术上的跃进,更是对‘递归自改进’这一古老AI愿景的严肃实践。与当前主流Agent侧重工具调用不同,DGM将Agent本身作为可编程和可优化的对象,这指向了未来AI系统更根本的灵活性。然而,其‘开放性探索’策略也提出了严峻挑战:如何在鼓励创新与防止失控之间取得平衡?沙盒机制是当下的解决方案,但长远看,这需要与对齐研究、可解释性技术深度结合。DGM不仅是工具,更是一个研究平台,它迫使行业思考:当AI能改进自己时,我们该如何设计它的‘进化目标’与‘安全边界’?这或许是通往更通用、更自主AI道路上必须解决的核心命题。
