![[论文学习]AI的自我改进的新范式:用快速树搜索让编码智能体“低成本进化”](http://pic.xiahunao.cn/yaotu/[论文学习]AI的自我改进的新范式:用快速树搜索让编码智能体“低成本进化”)
Self Improvement via Fast Tree-search论文重点这篇论文由 MIT 和 Sakana AI 的研究者合作完成提出了一个叫SIFTRecursive Self-Improvement via Fast Tree-search的框架。它的核心洞察很直接编码智能体自我改进的瓶颈不在“改代码”本身而在于验证改动是否真的有效——每次候选修改都要跑一遍基准测试成本高得离谱。SIFT 的做法是用 LLM 作为“裁判”做两两对比配合 Bradley-Terry 模型排序把昂贵的基准测试留给最有希望的候选者最终在 Polyglot 基准上以十分之一的 CPU 耗时超越了 DGM 等先前方法。核心研究内容问题定义递归自我改进recursive self-improvement听起来很美智能体改自己的代码改完跑测试效果好就留下然后继续改。但现实中这个循环的成本结构是畸形的。每一次候选修改哪怕只是调了一行 prompt 或者改了一个工具调用的顺序都必须跑完整的基准测试来评估它的价值。DGM 在 SWE-Bench 上的单次评估成本可以到22,000 美元消耗数千 CPU 小时。小团队和学术实验室基本进不了这个赛道。论文把问题定义得很精确不是“怎么改代码”而是“怎么在预算约束下判断一个改动值不值得改”。创新方法SIFT 的核心设计是把“评估”这个环节拆成两个层次第一层是 LLM-as-a-judge 的两两对比。每当生成一个新的候选 agent 版本SIFT 不会立刻跑基准测试而是让一个 judge 模型把它和现有的强 agent 做两两比较——像裁判看两段代码判断哪一段的修改方向更合理。每个新节点只和当前存档中排名最高的10 个节点做对比控制 judge 成本。第二层是 Bradley-Terry 模型聚合。所有两两对比的胜负记录被汇总成一个全局的强度分数。Bradley-Terry 模型是经典的成对比较排序方法它的好处在于能把稀疏、甚至相互矛盾的 judge 偏好“池化”成一个连贯的排名。论文还加了一个正则化项 λ 作为伪计数避免新节点因为对比数据太少而获得不稳定的分数。有了 judge 分数之后父节点的采样规则把三个信号揉在一起[P(i) \propto \exp\bigl(-\alpha r_b(i) - \beta r_a(i) - \eta \log(1v_i)\bigr)]其中 ( r_b(i) ) 是 judge 排名( r_a(i) ) 是基准测试准确率排名( v_i ) 是节点被选为父节点的次数。第一项和第二项让搜索偏向“看起来强”的节点第三项惩罚被反复访问的节点鼓励探索新的分支。最关键的工程决策是disaggregated pipeline扩展生成新候选和评估跑基准测试完全并行。一个节点还在跑基准测试的时候judge 已经给出了足够的信号让它被选为父节点、继续生成下一代。这打破了“必须等评估结果才能继续搜索”的串行瓶颈。研究成果在 Polyglot-225 的完整基准上SIFT 的数据很干净方法编码模型Polyglot 准确率CPU 小时墙钟时间Base AgentQwen3-30B20.0%——DGMQwen3-30B27.1%——HGMQwen3-30B30.5%347—SIFTQwen3-30B31.1%2246.7hBase Agento3-mini14.2%——DGMo3-mini30.7%——SIFTo3-mini35.1%592.1h用 o3-mini 作为编码模型时SIFT 在59 CPU 小时内达到 35.1% 的准确率而 DGM 用了 80 个节点才到 30.7%。SIFT 的 CPU 耗时大约是 DGM 的十分之一。在 TerminalBench 上judge 引导的搜索从起始的 29.2% 提升到 36.7%no-judge 消融则没有提升。论文还报告了一个有意思的发现SIFT 发现的 agent harness 可以跨模型迁移。用 o3-mini 搜出来的 harness换到 gpt-5-mini 和 gpt-5.4-mini 上跑准确率依然稳定高于基线。这意味着 SIFT 优化的不是某个特定编码模型的“手感”而是更通用的 agent 工作流设计。实际落地应用的可能性SIFT 直接面向的落地场景是agent harness 的自动化设计。目前 agent 的 prompt 结构、工具调用顺序、错误恢复策略基本靠人工调SIFT 把这件事变成了一个可搜索的优化问题而且成本降到了个人研究者和小团队能承受的范围。论文中的成本数据很说明问题完整搜索 run 的 API 成本在 30-90 美元之间单次 judge 对比只要 0.044 美元。另一个实际价值是judge 作为筛选器——在跑昂贵的基准测试之前用便宜的 judge 把明显不好的候选过滤掉这个思路可以直接迁移到任何需要人工或自动化评估候选方案的场景。技术细节Bradley-Terry 聚合的数学形式BT 模型假设每个节点 ( i ) 有一个潜在的正强度参数 ( \theta_i )节点 ( i ) 战胜节点 ( j ) 的概率为[P(i \succ j) \frac{\theta_i}{\theta_i \theta_j}]SIFT 维护一个全局胜负矩阵 ( W )其中 ( W_{ij} ) 是节点 ( i ) 被偏好于节点 ( j ) 的次数。每轮 judging 后重新拟合正则化 BT 模型所有分数归一化使 ( \sum_i \theta_i n )( n ) 为节点数。Disaggregated Pipeline 的工作流SIFT 的主循环是非阻塞的每次迭代执行三个操作采样扩展按 Eq. 1 的概率采样一个节点生成候选修改然后立即跑一个4 任务的“easy gate”把明显坏掉的补丁筛掉。Judge 对比与 BT 重拟合把新 agent 和当前 top-10 的存档节点做两两对比更新胜负矩阵重解 BT 分数和排名。入队评估通过 easy gate 的新节点被插入评估优先队列按 ( r_b(i) r_a(i) ) 排序。评估和扩展在两个并行的进程中运行互不阻塞。Judge 模型的输入格式论文比较了两种 judge 输入格式。“Diffs”变体提供根 agent 实现加上从根到当前版本的 diff 链“Full files”变体提供完整的源文件。实验表明 judge 在这些格式下都能产生有效的排序信号但judge 的价值主要在于排序而非绝对准确率预测——BT 排名与真实基准分数的 Spearman 相关系数在 ρ ≈ 0.71-0.72 之间而单纯依赖搜索时的准确率来选择最佳 agent 并不可靠。成本结构模块模型单次成本 (USD)单次时间 (CPU Hours)Self-Improve扩展gpt-5-mini0.120.186LLM-Judge两两对比gpt-5.40.0440.0042Polyglot-50 完整评估o3-mini6.02.6一个节点的 judge 成本最多 10 次对比约0.44 美元而一次完整的 Polyglot-50 评估要6 美元、2.6 CPU 小时——差了一个数量级以上。SIFT 的整个策略就是围绕这个成本差异设计的。研究设定硬件与软件配置所有实验在沙箱化的 Docker 容器中运行每个容器隔离一个 agent 的评估环境。编码模型使用 Qwen3-Coder-30B-A3B-Instruct简称 Qwen3-30B和 o3-mini。自我改进模型和 judge 模型分开配置Qwen3-480B 同时承担扩展和 judge 角色在 Qwen3-30B 配置下gpt-5-mini 作为自我改进模型gpt-5.4 作为 judge在 o3-mini 配置下。评估协议论文沿用 DGM 的评估协议但做了精简用一个4 任务的 easy gate快速过滤坏补丁然后在一个50 任务的固定子集Polyglot-50上做中间评估完整的225 任务 Polyglot留作最终 held-out 评估。搜索步数统一限制在30 步扩展与 HGM 的 800 次评估预算对齐确保比较公平。消融设置TerminalBench 上做了 judge vs. no-judge 的对照实验两个 run 都从同一个起始 agent14/50出发各跑 30 次扩展。Judge-guided run 的最佳 agent 在全量 89 任务上平均 36.7%no-judge run 的最佳 agent 停留在起始水平29.2%。还额外比较了 gpt-5.4-high 和较弱的 gpt-5 作为 judge 的效果发现弱 judge 仍能引导搜索到强候选34.5%但在 top-5 排名精度上明显退化。综合分析SIFT 最有价值的地方不是某个单项技术而是把“评估”这件事重新定义为搜索中的一个可分解信号。先前的工作DGM、HGM把基准测试当成“真相”搜索必须等待真相揭晓才能继续。SIFT 说真相太贵了我们先用便宜的代理信号judge 对比来导航只在最后才去验证那些真正有希望的方向。这个思路的普适性很强——任何“生成-评估”循环中如果评估的成本远高于生成就应该考虑引入中间信号来做粗筛。不过SIFT 也有值得审视的局限。首先judge 的可靠性高度依赖 judge 模型本身的能力。论文自己的数据就显示gpt-5 作为 judge 时top-5 内的 pairwise agreement 只有 0.50而 gpt-5.4-high 是 1.00。如果 judge 模型本身对代码质量的判断有系统性偏差搜索可能会被带偏。其次Bradley-Terry 模型假设节点之间的比较是“可传递的”——如果 A 优于 BB 优于 C那么 A 应该优于 C。但代码修改的价值判断未必满足这个假设一个在错误恢复上更好的版本和一个在工具调用效率上更好的版本可能在不同任务上各有胜负BT 模型会把这种“不可比性”强行压缩成一个一维分数。另一个值得注意的细节是easy gate 的设计。论文用 4 个任务来快速筛掉“catastrophically bad”的补丁。这个设计很务实但 4 个任务的信号噪声很大——一个补丁可能只是碰巧在这 4 个任务上失败了就被直接丢弃。论文没有报告 easy gate 的假阴性率这是一个实际部署时需要关注的参数。从更宏观的视角看SIFT 代表了自我改进研究的一个务实转向从“能不能自我改进”到“能不能便宜地自我改进”。Gödel Machine 的理论框架追求的是全局最优的自我修改SIFT 接受的是一个更谦逊的目标——在有限预算内找到足够好的 harness 设计。这种转向让自我改进从理论好奇变成了可操作的工程方法。实践应用如果你在工程中想借鉴 SIFT 的思路有几个具体建议第一先量化你的“生成-评估”成本比。SIFT 有效的根本前提是评估成本远高于生成成本。如果你的评估是自动化的、毫秒级的比如单元测试引入 judge 层可能反而增加噪声。但如果你的评估涉及人工评审、端到端集成测试、或者昂贵的模型调用SIFT 的分层策略就值得考虑。第二judge 模型的选择要做分层设计。论文的结果暗示了一个实用的 tiered 配置用便宜的 judge比如 gpt-5 级别做大部分粗筛只在 frontierBT top-5 左右用强 judge 做精细排序。粗筛阶段 judge 的排名相关性已经不错ρ ≈ 0.71精细阶段再花钱买精度。第三disaggregated pipeline 是工程收益最大的部分。论文的消融显示异步 pipeline 贡献了大部分速度提升judge 的 speculative expansion 是在此之上的增量优化。如果你已经在做某种形式的 agent 搜索先把扩展和评估解耦并行化往往比引入更复杂的评分机制见效更快。第四注意 easy gate 的阈值调优。SIFT 用 4 个任务做 gate在你的场景中这个数字需要根据任务分布和容错率来调整。如果任务之间方差很大可能需要更多任务来避免假阴性如果任务很同质4 个可能够用。第五跨模型迁移性是一个值得验证的假设。论文的迁移实验是在同类编码模型之间o3-mini → gpt-5-mini如果你的场景涉及完全不同的模型家族比如从闭源模型迁移到开源模型harness 的迁移效果需要重新验证。参考资料原始论文: Self-Improvement via Fast Tree-search, Xinghong Fu, Aravinth Kulanthaivelu, Yutaro Yamada. arXiv:2609.19526, ICLR 2026. https://arxiv.org/abs/2609.19526