先造尺子,再爬山
想给 vLLM 提速的 AI 代理,改了一行调度器代码。想知道这行代码有没有用,得跑一次真实评估——85 分钟。
先造尺子,再爬山
想给 vLLM 提速的 AI 代理,改了一行调度器代码。想知道这行代码有没有用,得跑一次真实评估——85 分钟。
爬山式优化要几千步,一步 85 分钟,一天走不了几步。搜索还没开始就饿死了:瓶颈不在「想改哪」,在「改完怎么知道有没有用」。
刚挂上 arXiv 的 DuoDiscover(伯克利×斯坦福×Google,24 位作者,四位共同一作,10 月 12 日提交)给了一个反常规的答案:尺子不要给定,让代理自己造。
自己造一把便宜尺子
论文对以往系统的批评很直接:大家都在打磨搜索框架本身,评估器被当成固定前提。DuoDiscover 把这个前提拆了——每个编码代理自己圈一块值得优化的代码区域,同时为这块区域写一把专用的轻量尺子。官方给这把尺子起了个名字:yardstick(码尺)。
vLLM 里的真实案例:一个代理盯上调度器的 prefill 批处理,写的尺子是「解码步耗时的简化模型」,几秒钟跑完。真评估 85 分钟,尺子几秒,差三个数量级。
尺子不用给出和真评估一样的分数。它只需要把两个改动排出同样的先后——谁更好谁在前。排序对,方向就对;分数本身差多远都无所谓。
尺子会撒谎,怎么办
这是全文最诚实的一段。对着一个东西优化上千步,代理必然撞见尺子和现实的缝隙,顺着缝隙刷分——论文自己点名:这就是奖励黑客。尺子一开始准,不代表后来还准。
解药是秩相关(肯德尔 τ)。每跑完一次真评估,编排器就用这次的真分数复测尺子的排序一致性——只在真分差超过评估噪声的那些对子上算,免得把评估自己都分不清的东西记成尺子的错。τ≥0.5 算过线;掉线的尺子当场作废,代理要么重造一把,要么换目标。所有最终增益,仍然只认真评估:尺子负责指路,真评估负责盖章。
自底向上的一群代理
没有中心化的任务分解,每个代理自己选目标,跑双环。快环:改代码、尺子打分、涨了留着、跌了回滚,一步几秒。慢环:真评估确认增益、顺便复测尺子,一次几小时。轻量编排器只做三件事——掐掉停滞的代理、用确认过的增益当起点孵化新代理、给在跑的递纸条。
战绩
- FormulaCode(真实性能优化 PR 数据集,单次评估 7 分钟到 6.8 小时):人类专家提交平均 1.048×,OpenEvolve 1.161×,代理基线平均 1.78×,DuoDiscover 2.16×
- SWE-fficiency:平均加速是人类专家的两倍;效率参照——Claude Code 跑出的 69.12% 分数,它 2.8 小时拿到
- SOL-Exec(NVIDIA 内核榜单):235 个内核拿 121 个第一、212 个前三
- vLLM 1.92×(四目标几何均值,同预算下 Claude Code 是 1.07×);SQLite 1.38×
- CPU 微架构(数据预取器设计,单次评估最长 28 小时):超过最好的人类设计;增益是 AlphaEvolve 系 ArchAgent v2 的 1.65 倍,用时 16.7 天对对方的 40 天以上
两句冷水
真评估没有被消灭。外环照旧按小时跑,省下的只是内环的几千次快测——说「从根源上解决评估瓶颈」是重的,这是给评估装了节流阀,不是拆掉它。τ≥0.5 也是条宽松的线,半正相关就算过关。另外,论文没附代码仓库,许可还是 CC BY-NC-ND,想复现的得再等等。
收尾
16.7 天对 40 天,差出来的不是算力,是每次想确认「有没有用」时的干等。内环每步便宜三个数量级,外环一步没少——快出来的,就是这个差。
论文:arxiv.org/abs/2610.17184 项目页:duodiscover.github.io