论文
自我修改代码
★ 必读
Huxley-Gödel Machine: Human-Level Coding Agent Development by an Approximation of the Optimal Self-Improving Machine
赫胥黎-哥德尔机:用谱系潜力而非当前分数指导 agent 自改写搜索
Wenyi Wang, Piotr Piękos, Li Nanbo, Firas Laakom, Yimeng Chen, Mateusz Ostaszewski, Mingchen Zhuge, Jürgen Schmidhuber · KAUST (Schmidhuber 组) · arXiv · 2025-10 · 被引 32
一句话Schmidhuber 组对 Darwin Gödel Machine 的直接改进:指出用当前 benchmark 分数选自改写父代会与后代长期潜力错位(Metaproductivity-Performance Mismatch),改用 clade(谱系子树)后代成绩聚合出的 CMP 估计做 Thompson Sampling 搜索。SWE-Verified-60 上 56.7% 超 DGM 的 53.3% 且 CPU-hours 省 2.38 倍;换 GPT-5 跑 SWE-Lite 达 57.0%,自称与最强人工设计 agent 持平——但官方榜提交被关闭,该头条数字是作者本地评测,差距为 300 题中 1 题。
这是什么
自我改进 coding agent 这条线,当前的操作化方式是让 agent 直接编辑自己的代码库,长出一棵自我修改树:Darwin Gödel Machine(DGM)和 Self-Improving Coding Agent(SICA)都是在树上挑一个'看起来最好'的节点让它生成自己的修改版,再用软件工程 benchmark 打分决定去留。它们隐含的假设是:benchmark 分数高的 agent,后续自我改进也更有前途。
这篇论文(KAUST,Schmidhuber 组,ICLR 2026 oral)的核心观察是这个假设经常不成立:高分 agent 可能生出一堆平庸后代,低分 agent 反而可能开启一条持续进步的谱系。作者把这种错位命名为 Metaproductivity-Performance Mismatch(MPM),并借用生物学家 Huxley 的 clade(演化支)概念,提出用一个节点全部后代的 benchmark 成绩聚合值(Clade-Metaproductivity, CMP)来衡量它的自我改进潜力。
理论上,论文证明在一组相当强的简化假设下(评测可无限重置重跑、证明不消耗预算、每次自改恰好花 1 单位预算、唯一目标是终局 agent 的效用),拿到真 CMP 的 oracle 就等价于实现了 Schmidhuber 2003 年提出的理论最优自改进机 Gödel Machine——因为在这个设定下 CMP 恰好就是 Gödel POMDP 的 Q 函数。HGM 就是用经验计数去估计 CMP、以此近似 Gödel Machine 的实用算法。标题里 'approximation of the optimal self-improving machine' 要在这个弱化设定下理解。
论文主结果图。左:三种方法的选择准则与事后经验 metaproductivity 的相关性,HGM 的 CMP 估计(0.78/0.63)远高于 DGM(0.28/0.38)和 SICA(0.44/0.27),这是 Metaproductivity-Performance Mismatch 存在的直接证据。右:SWE-bench Verified-60 上最优发现精度 vs 累计 CPU-hours,HGM 用 517 小时到 56.67%,DGM 花 2.38 倍时间只到 50%;注意绿线 SICA 在耗掉 45% 预算后因反复报错停止自改,虚线只是延续其最后成绩。机制与做法
把自我改进形式化为树搜索,拆开三个子策略
整个过程被建模为:从初始 agent(根节点)出发,每一步要么选一个节点 expand(让它自改写生成子节点),要么选一个节点 evaluate(在一道 benchmark 任务上多测一次),预算耗尽后从树里选一个最终 agent,目标是最大化最终 agent 的期望效用。由此拆出三个子策略:selection(扩张还是评测)、expansion(改谁)、evaluation(测谁)。
DGM 和 SICA 把这三者绑死:每造一个新 agent 就立刻在一批任务上评测它,新 agent 垄断评测资源,哪怕它已经连挂九题。HGM 把 expansion 和 evaluation 解耦,评测粒度细化到单个 agent-任务对,可以对没前途的 agent 早停,把评测预算挪给更有希望的老节点。
论文封面图:机器人抓着自己的头发把自己从水里拽出来——Münchhausen 男爵'自举'典故,Schmidhuber 组给自我改进机器一贯的视觉隐喻。无数据内容,帮助记住论文立意。CMP 估计 + Thompson Sampling
CMP 估计非常简单:把节点 a 的整个 clade(以 a 为根的子树)里所有 agent 的通过/失败次数分别求和,CMP_hat(a) = 成功数 / (成功数 + 失败数)。相当于按评测次数加权的 clade 内经验均值;又因为评测策略偏向选高分 agent 多测,这个加权自然逼近 clade 内的 soft max。好处是样本量比单节点大得多,估计更稳。
选谁扩张用 Thompson Sampling:对每个节点从 Beta(τ(1+成功数), τ(1+失败数)) 采样取 argmax,其中调度器 τ = B/b(B 总预算、b 剩余预算)随时间增大,前期均匀探索、临近结束分布极化转向利用。何时扩张 vs 评测则借用无限臂 bandit 文献里 UCB-Air 的 arm-adding 规则:评测总数 N^α ≥ 当前树大小时才扩张(实验取 α=0.6)。最终 agent 选 'best-belief agent':效用 Beta 后验 ε 分位数最高的节点。
异步并行(HGM Async)
解耦的额外红利是可以异步执行:所有 CPU worker 各自跑一个 expand/evaluate 迭代,谁先完成谁立刻用最新数据开始下一个,只在 selection 时把正在进行中的动作计入。所有实验都用 HGM Async 跑,这是 CPU-hours 大幅低于 DGM 的主要工程来源。附录承认异步引入偏差:评测少的 agent(简单任务先返回)经验均值虚高,评测过 50 次后才基本消失;初始化时要先并行展开根节点 5 次。
实验设置
与 DGM/SICA 的对照实验在 SWE-bench Verified 60 题子集和 Polyglot 上进行,预算 800 次任务评测,初始 agent 统一取 DGM 官方实现(单循环 LLM + 文件编辑/bash 两个工具)。为省钱换了骨干:SWE 用 GPT-5 做自改写、GPT-5-mini 做评测;Polyglot 用 Qwen3-Coder-480B-A35B(int4/int8 量化)+ 30B-A3B。三个方法全部实验总花费约 5000 美元。与人类对比的实验则扩到全量 SWE-Verified(500 题、8000 次评测),初始 agent 只留 bash 工具、时限放宽到 5 小时。
关键结果
- CMP 估计确实更准:与事后统计的经验 metaproductivity 的加权 Pearson 相关,HGM 0.778 vs DGM 0.285、SICA 0.444(SWE-Verified-60);Polyglot 上 0.626 vs 0.383/0.274。这是 MPM 存在且可缓解的直接证据。
- 自我改进对照:SWE-Verified-60 上 HGM best-belief agent 达 56.7%(初始 40%),DGM 53.3%、SICA 50.0%;Polyglot 上 30.5% vs 27.1%/25.4%。800 次评测所需 CPU-hours:HGM 517 vs DGM 1231(2.38x),Polyglot 347 vs 2385(6.86x)。
- SICA 在 SWE-Verified-60 上消耗 45% 预算后反复 context-window 报错、无法继续自改(表中时间栏写 'infinite loop'),该基线实际是跑挂的。
- 全量 SWE-Verified、8000 次评测:初始 53.2% 提升到 61.4%,作者称是 GPT-5-mini 系最高分、全部 checked 提交前十。
- 泛化到 SWE-Lite(GPT-5-mini):标准 300 题 49.0% vs 初始 44.0%,排除与 Verified 重叠 93 题后 40.1% vs 34.8%;都高于作者本地复跑的 SWE-agent+GPT-5-mini(47.6%/39.6%)。
- 换更大模型 GPT-5 后:SWE-Lite 标准设置 57.0%,比榜首 SWE-agent 的 56.7% 高 1 题;filtered 设置 47.8% 反而比 SWE-agent 的 48.3% 低 1 题。'human-level' 的头条就是这个 1 题级别的持平。
- 附录展示了两个有趣的涌现现象:有 agent 自发实现'一条自改指令内部迭代多次自我修改';多代自改后出现嵌套 diff-of-diff 文件结构,作者自称人工解析都很费劲。
实证核查
有水分方法本身(clade 级 credit assignment 优于节点级贪心)证据链完整、代码全开源、ICLR 2026 oral;但'匹配官方核验的最强人工 agent'这一头条是作者本地评测——他们提交官方榜的 PR 被关闭未收录,且差距仅 1 题;repo 存在未修复的启动崩溃和最终选择超参的数学疑点。
摘要与正文称 HGM agent '达到 human-level,matching the best officially checked results',在 SWE-Lite 榜'稳居第二/超过所有 checked 提交'。
作者向官方 SWE-bench/experiments 仓库提交的 PR #363(2025-11-06,'SWE-bench Lite submission for the best-belief agent…')因描述为空被维护者标 invalid,随后以 'Closing, no activity' 关闭,未合并;swebench.com 榜上至今(2026-08)没有 HGM 条目。也就是说所有与人类 agent 的对比都是作者本地评测,并非'officially checked'。且 GPT-5 设置下 57.0% vs SWE-agent 56.7% 只差 300 题中 1 题,filtered 设置反落后 1 题(47.8% vs 48.3%)。
代码公开可复现(README 提供一键 run.sh)。
repo(metauto-ai/HGM,420 stars,Apache-2.0)确实包含完整 pipeline,best_agent/ 目录也放了最优 agent 及其测试结果(issue #3 中作者回应)。但 issue #4(open,2025-11)报告 ./run.sh 启动即崩:hgm.py TS_sample 处 'attempt to get argmax of an empty sequence',两位用户复现同一 bug、只能自行改 mean_utility > 0 为 >= 0 绕过,作者未回应;截至 2026-08 未见公开的第三方完整复现报告。
最终 agent 按'效用后验的 ε 分位数'选出,论文写明所有实验用 ε = 1。
issue #6 和 #7(均 open,作者未答复)指出:Beta 后验的第 100 百分位恒等于 1,ε=1 时该准则无法区分任何 agent,数学上退化,实际实现用的约定不明;issue #7 用户以 ε=0.5、gpt-5.4-mini、200 评测预算复跑,最终总是选中树最早期的节点(初始 agent 的直接子代),说明 final selection 对超参相当敏感。
HGM 比 DGM 少用 2.38x/6.86x 的 allocated CPU-hours,是'更高效的自我改进机制'。
提速主要来自 HGM Async 的异步并行工程(论文 3.3 节自己说明),没有 ablation 把 'CMP 估计带来的搜索质量增益'与'异步带来的吞吐增益'分开;且对照表里 SICA 在 SWE-Verified-60 一栏是 'infinite loop'(基线消耗 45% 预算后挂掉),三方对比的严谨性打折。相关性分析(Table 1,HGM 0.778 vs DGM 0.285)倒是独立支持了 CMP 估计本身更准。
与我们方向的关系
对 rsi 方向这是 DGM 谱系的直接后继,核心贡献可以抽象成一句话:自改进搜索里的 credit assignment 应该做在谱系(clade)级而不是节点级——一个节点的价值不在它自己考多少分,而在它的后代能走多远。这个思想不依赖 coding agent 设定,凡是'搜索树节点 = 可自我复制修改的候选体'的场景(prompt 进化、agent 架构搜索、自动化科研 pipeline 迭代)都可以直接套用其 CMP 估计 + Thompson Sampling + UCB-Air 扩张规则的组合,实现成本很低(就是 clade 内计数聚合)。
两点提醒:一是其 'Gödel Machine 近似'的理论光环建立在 Assumption 1 的强简化上(证明零成本、可重复试验、只看终局效用),引用时别把它当成对原版 Gödel Machine 最优性的继承;二是评测协议——benchmark 分数既当搜索信号又当最终成绩、且头条对比未经官方核验——正是我们做 agent 自改进实验时要避免的坑,HGM 官方榜提交被关闭这件事本身就是个案例。
阅读笔记
tex 源码正文里 Polyglot unweighted 相关写成 0.8783,表格是 0.873,小笔误。Theorem 1 的证明其实一页不到:在他们定义的 Gödel POMDP 里 CMP 逐字展开就是 Q 函数,'sufficient to implement the Gödel Machine' 听起来比实际内容响亮。README 宣布 ICLR 2026 oral(iclr.cc 场次页可查)。后续已有跟进工作把它当基线:Mendel Gödel Machine(2608.07645)、Red Queen Gödel Machine(批评 DGM/HGM 都在优化固定 evaluator)。
材料清单
TeX 源码已存档:Raw/huxley-g-del-machine/source/
同类条目