自动化发现没有普遍优越的框架

Automated Discovery Has No Universally Superior Harness

arXiv: 2607.18235v1

论文信息

标题: Automated Discovery Has No Universally Superior Harness

作者: Akshat Gupta, Jermaine Lei, Alexander Lu, et al.

发布日期: 2026-07-20

arXiv ID: 2607.18235v1

PDF 链接: 下载 PDF

3 分钟速览

  • 研究问题:这篇论文要回答 “自动发现系统中的搜索马具(harness)是否具有通用性”――一种固定的组件组合配方,能否在多种模型和不同问题上始终保持优势。
  • 核心方法:作者将 OpenEvolve 和 TTT‑Discover 两大主流马具配方逐层拆解为独立组件(如精英存档、随机探索、搜索树策略),然后在 4 个 LLM、3 个数学任务上运行了 30 种预算匹配配置,总计超 310 万次生成,再用可重复的 bootstrap 和跨配对检验评估通用性。
  • 关键结果:没有一种固定马具在所有 12 个模型–问题对上显著超越简单基线;最强的是一种使用 20% 随机探索的轻量变体,但经过多重检验校正后也不再显著(见论文第 4.2 节,图 5a)。更有价值的发现是:利用部分运行反馈动态分配预算的自适应策略,平均最终得分比固定选择提高约 1.3 个百分点(从 84.35% 到 85.75%,见表 1)。
  • 主要局限:实验只在 3 个数学发现任务和 4 个模型上进行,未扩展到代码生成或科学发现等场景;自适应策略本身仍依赖提前准备的马具候选池,其性能受限于池中配置的质量。
  • 适合读者:研究 LLM 驱动的自动代码演化、进化搜索、代理架构设计,或关注实验评估严谨性的工作者。对正在搭建自己 “发现系统” 的工程团队也很有参考价值。

论文背景和研究动机

大语言模型引导的自动发现系统,如 FunSearch、OpenEvolve 和 TTT‑Discover,通常采用一种复合的 “马具”(harness)来编排生成–评估–改进循环。马具决定了在每一步让模型从历史存档中选择哪个程序作为 “父代”,再生成若干候选子代去评估。这类系统已经展示出求解困难任务的潜力,但马具本身却很少被单独审视。

问题在于,一条完整的马具配方往往混合了存档构建、父代选择、探索概率、搜索结构、算力分配等多项设计决策,而由于发现运行耗时且结果随机,已有研究通常只用极少的独立试验来比较整个配方,根本无法区分真正的组件贡献和运行间的波动。OpenEvolve 的进化式搜索和 TTT‑Discover 的基于 PUCT 的树搜索到底哪些部件在发挥作用?它们能否跨模型、跨问题稳定移植?

正是出于这些疑问,本文提出一个诊断式问题:当发现系统成功时,其马具选择是通用的方法学原则,还是模型和问题依赖的超参数? 为回答它,作者需要一次大规模的、预算受控且统计严谨的组件化评估。

核心方法和技术细节

作者首先给出一套统一框架,将所有马具视为同一类历史选择规则的变体。记 xx 为候选程序,S(x)S(x) 为评估器返回的分数,HtH_t 是第 tt 步前所有已评估程序的历史。定义精英存档 EtK=TopK(Ht,K;S)E_t^K = \text{TopK}(H_t, K; S)。每一步马具从存档中采样一个父代,用 LLM 生成 NN 个孩子,评估后更新 Ht+1H_{t+1}。在固定总生成次数 B=NTB = NT 的前提下,不同马具的差异仅在于如何选择父代。

基线:贪心 Sequential BoN。每一步始终从历史中取最高分程序作为父代,即 pt=arg⁡max⁡x∈HtS(x)p_t = \arg\max_{x\in H_t} S(x),或等价地从 Top‑1 存档 Et1E_t^1 中采样。

逐步走向 OpenEvolve。从基线出发,依次加入四个设计决策:(1)用 Top‑KK 精英存档替换 Top‑1;(2)引入 ϵ\epsilon‑贪心探索,以 ϵ\epsilon 的概率从全历史 HtH_t 中随机选父代,否则从精英存档中选;(3)在固定总预算下降低 NN 并增加 TT,即从广度搜索转向深度搜索;(4)加入 MAP‑Elites 灵感采样、多岛并行与交叉等 OpenEvolve 的特有机制。图 1a 上半部分对此进行了可视化。

逐步走向 TTT‑Discover 搜索。同样从贪心基线出发,将父代评分从局部分数 S(x)S(x) 改为子树价值估计 Qt(x)=max⁡d∈Dt(x)∪{x}S(d)Q_t(x) = \max_{d \in D_t(x) \cup \{x\}} S(d),并加入 UCT 探索奖励,再进一步引入基于排名的先验得到 PUCT 规则;最后允许每一步同时扩展多个父代(图 1a 下半部分)。

评估体系。实验覆盖 Qwen2.5‑3B、Qwen3‑4B、GPT‑OSS‑20B 和 GPT‑OSS‑120B 四个模型,在 Circle Packing、Heilbronn Triangle、Second Autocorrelation Inequality 三个数学发现任务上,总计 12 个模型–问题对。每对下所有马具有相同的生成预算(Qwen 模型 1600 次,GPT‑OSS‑20B 320 次,GPT‑OSS‑120B 160 次),每种马具重复 5 次独立运行。贪心基线则大量重复(Qwen 对 100 次,GPT‑OSS 对 30 次)以构建经验零分布。

统计检验分两层:对级检验是对每个模型–问题对,计算候选马具 “五取优” 最大值相对 bootstrap 基线最大值分布的用单侧 p 值,判断该次试验是否显著强于基线;跨对检验则汇总 12 对的 “五取优” 向量,用多数胜出概率 P^maj\hat P_{\text{maj}} 和置换检验 p 值(经 Holm 校正)来衡量一个固定马具在整套评估中是否普遍优于基线。

创新点和贡献

  1. 迄今最详尽的马具组件统计评估:在 30 种预算匹配配置、12 个模型–问题对上,通过超过 310 万次 LLM rollout 进行分析,并采用配对 bootstrap 与跨对多重检验,确保结论不受个别幸运运行干扰。
  2. 发现固定马具不通用:实验表明,没有一种马具能可靠地跨模型、跨问题保持优势;更令人意外的是,增加 OpenEvolve 的完整组件往往比简化版本更差(图 1b)。马具选择应视为与模型和任务绑定的超参数,而非万能配方。
  3. 提出早期反馈驱动的在线分配:发现搜索进展与最终性能高度相关(在 50% 预算处 Spearman 相关普遍 >0.70),据此设计了自适应马具组合,即先启动多种马具、运行至部分预算后进行剪枝,再把算力集中给表现好的候选。在相同总预算下,该策略平均成绩(85.75%)超过固定单一马具(82.49%)和非自适应组合(84.54%),且优于传统贪心基线(84.35%)(表 1)。
  4. 开源可重用统计基础设施:作者公开了全部 310 万条 rollout 记录、每一步的评估分数及各对的基线零分布,后续研究可直接以此作为假设检验的参考分布,降低新马具评估的成本。

实验结果分析

组件消融(图 2、图 3、图 4)揭示,仅增大精英存档(K>1K>1)而没有随机探索几乎不产生对级显著收益;当 K=1K=1 并引入 20% 的全历史探索时,某些对上出现名义显著提升,但另一些对上却下降。向 OpenEvolve 方向逐步添加深度分配、灵感采样、多岛并行后,只有 GPT‑OSS‑20B 在 Heilbronn Triangle 上观察到名义显著提升,在其他对上反而拖累成绩,完整配方往往不如简单中间变体。树搜索路径中,引入 UCT/PUCT 后部分对(尤其是 Heilbronn Triangle)有所改善,但进一步降低广度、并行化父代扩展后,改善并不一致。

固定马具跨对比较(图 5a)给出了清晰的排名端倪:在 max 统计量下多数胜出概率最高的是一种轻量 ϵ\epsilon‑贪心(K=1,ϵ=20%K=1, \epsilon=20\%,P^maj=0.914\hat P_{\text{maj}}=0.914,未校正 p=0.023p=0.023)。然而经过 Holm 校正后,这一配置的 pp 值升至 0.678,不再显著;完整 OpenEvolve 类配置的多数胜出概率仅有 0.033。换言之,没有一个固定马具能确信无疑地胜过简单基线。

自适应分配实验(表 1)则展现了另一幅图景。使用与贪心基线相同的 5 个完整运行等价预算,先启动多个马具(如 12 个),在 25%、50%、75% 处进行三轮剪枝,最后保留 1 个最优者跑完。12→5→2→1 的调度在所有 12 对上的平均得分达到 85.75%,远高于纯贪心基线的 84.35%,且几乎在所有单对上都超过非自适应的组合。这一效果并不源于 “多试几种马具”,因为在都不使用中间反馈的前提下,非自适应组合仅得到 84.54%。

实践建议

本研究的结论对工程实践有直接指导:

  1. 避免盲从 “高级” 马具。如果你的任务在模型、问题特征上与论文覆盖的范围类似,不要直接套用 OpenEvolve 或 TTT‑Discover 的完整配方。先从极简基线(贪心 Sequential BoN)开始,再逐步加入轻量探索(ϵ\epsilon≈20%)或简单的 UCT 树搜索,因为这些轻量版本在多数情况下的泛化表现反而更好。

  2. 将马具选择当作在线超参数调优。与其在运行前就拍定一种马具,不如利用早期评估反馈来动态调整。具体做法是:同时启动几个不同马具的部分运行(比如 10–12 个),运行到 25% 或 50% 总预算时,根据已取得的最佳分数剪掉末位,将剩余算力分配给幸存的 1–2 个马具继续跑完。文中采用的单阶段 25% 检查点(17 启 1 留、14 启 2 留)和多阶段 25%/50%/75% 剪枝(12→5→2→1)均表现优异,实现难度不高。

  3. 善用开源数据作为基线。作者释放的数百万条运行轨迹和基线零分布,可用于检验你自己设计的马具是否真正超出随机波动。在类似的数学发现任务上,可以直接将这些分布作为假设检验的参考,为小样本试验提供统计支撑。