EvoDuet: Bilevel Co-Evolution of Web Searching and Task Solving for Scientific Discovery
Young-Jun Lee, Jinheon Baek, Soyeong Jeong, Minki Kang, Seungyeon Jwa, Jonghyun Choi, Seungho Han, Dongyeop Kang
cs.CL
2026-10-01
在 OpenEvolve 外套一层查询进化,按知识缺口决定何时检索;Gemini NDG 61.3%→82.3%,8 项任务刷新公开最优。
FunSearch、AlphaEvolve、OpenEvolve 这类进化搜索框架,由 LLM 提候选程序、确定性评估器打分、高分候选当下一轮种子。知识来源只有两个:运行历史和模型参数,搜索是封闭的;一旦进步需要外部知识(比如新版本库的 API 用法),循环就卡住。
预实验量化了这件事:31 个任务上每轮人工喂入任务相关的 oracle 文档,OpenEvolve 平均 NDG 升 10.3%(Qwen3.5-9B)和 4.0%(GPT-5.6-Luna)。但好处不自动兑现:Sums/Diffs 上每轮 1 个候选时 oracle 文档毫无作用,放到 8 个才有 +14.9%;直接给模型联网搜索工具,它反复检索同一批页面,88.1% 的 URL 重复,50 轮后停滞。查询得跟着解法一起变。
EvoDuet 把发现过程写成双层优化:外层进化解法,内层进化搜索词,模型参数全程冻结。
关键设计是把内层目标代理化:查询好不好,本要生成并评估候选之后才知道,在内层逐个查询跑一遍太贵;改用模型预测的分数当替代信号,实测它与真实分的相关性为 Spearman ρ=0.86(4,324 次检索)。
21 个任务、每轮 1 个候选:
| 模型 | NDG 变化(N=1) |
| GPT-5.6-Luna | 74.1% → 78.0% |
| Gemini-3.8-Flash | 61.3% → 82.3% |
| Qwen3.5-9B | -14.4% |
候选数从 1 提到 16,两个前沿模型的 NDG 单调上升:GPT-5.6-Luna 89.6%→95.7%,Gemini-3.8-Flash 84.5%→89.6%(8 个任务)。最好的运行在 8 个任务上超过此前公开报道的最高分、3 个打平,包括 Swap Reduction(Q20 量子编译,15,186→14,835 次 SWAP)和 Rosetta,11 次运行平均成本 $45.56;Denoising 上拿到 100.27% NDG、花费 $38.45,比 SimpleTES 的估算成本低 6.9 倍。
消融支撑各组件:知识缺口门在 Denoising 上 84.5% NDG,EvoX 式的停滞启发式只有 60.6%;同为联网,双层设计 84.5%,把搜索工具直接塞进解循环只有 43.2%,先深研再改代码的串行式(DeepEvolve 一类)在 Burgers 上 0.6666 对 EvoDuet 的 0.7846。叠到 Top-K 与 EvoX 上,Sums/Diffs、Denoising 的增益分别为 +46.7/+63.6 与 +55.1/+37.8。机制层面,检索到至少一份「预测分超过父代实际分」的文档时,候选在 67.1% 的迭代中超过父代,无文档时是 52.1%;文档最常见的用途是把检索到的方法直接搬进程序(82 次运行中 55 次)。
它把「何时搜索、搜什么」从固定策略变成搜索过程自身进化的对象,实现方式是外挂循环,不动模型参数,可以直接叠在 OpenEvolve、Top-K、EvoX 上,代码已开源。收益位置也明确:基线 NDG 在 20-40% 的半解决任务中位增益 +17.5%,基线超过 80% 的任务中位增益为 0。这是给 scaffold 家族补上「开放知识」短板的渐进改进,机制清晰,数字扎实。
论文自己承认:Qwen3.5-9B 不受益,N=1 时反降 14.4%,抽查的修订里 26% 要么没用上检索到的方法(6%),要么实现错了(20%),协同进化要求模型既能找证据也能用证据;预测的文档收益不可靠,82 次运行里 29 次照着检索内容改反而更差,最终仍靠评估器把关;基线越强增益越小(相关系数 r=-0.41)。
读下来另有两点。主实验 21 个任务、预实验 31 个,截掉的 10 个为何不在,正文没有交代。另外 6/82 的运行出现直接复用公开构造的行为,附录虽然记录了出处,但「刷出的 SOTA 里有多少是检索来的现成答案」,会是这类系统越来越绕不开的追问。