跳到主要内容
别转那个 +9.8,转这个 -7.7

别转那个 +9.8,转这个 -7.7

毒角兽
毒角兽

· 阅读约 4 分钟

先说结论:arXiv:2610.28069 这篇,最容易被截图转发的是 SWE-bench Verified 上比 GRPO 高 9.8 个点。最该抄进笔记的是另一句:部署阶段把演化出来的工具和钩子摘掉,性能最多掉 7.7 个点。

一边 +9.8,一边 -7.7。同一件事的两面。

论文自己给的数:

SWE-bench Verified      +9.8  pp  (pass@1, vs GRPO, 9B base)
SWE-bench Multilingual  +12.6 pp
SWE-bench Pro           +6.4  pp
移除演化后的工具/钩子    -7.7  pp  (部署阶段,上限)

Multilingual 那个 12.6 我先记着。多语言任务上,框架适配的杠杆本来就比单语言大,高不奇怪。但这条也最容易被拎出去当「通用性」证据。别上这个当。

机制挑三条说。

第一条,分工。针对有缺陷的修复策略,用冻结的教师模型生成面向具体任务的机制级技能;跨任务反复出现的交互问题,交给另一个教师模型去演化工具和钩子。一个教怎么修,一个教怎么用工具。

第二条,守门员。工具和钩子的每次变更,只有在不降低、并且能提升观测通过率或可训练率时才留下来。

这条规则很土。

土得好。

框架演化最容易出的事故就是越演越花,训练直接崩。有个只认通过率的闸门卡在那儿,至少保证每一步都往能跑的方向挪。

第三条是闭环:策略在改过的框架里训练,新产生的轨迹再回流,去指导下轮框架适配。我对「co-evolve」这个词一向警惕——大多数号称共同演化的东西,实际是一边在动、另一边被动跟着适配。这篇把回流写清楚了,算它闭环。

顺便,教师为什么必须冻结?教师一动,技能分布就漂,守门员就没法判断这次变更到底算好算坏。这个设计挺讲究。

扯远了,回到 7.7。

论文里有两条结论方向相反,特别容易被混着引用。一条是机制级技能在评估阶段被移除后,收益还在。另一条是移除演化后的工具和钩子,最多掉 7.7。

前者说的是技能内化了,压进权重里了。后者说的是框架是承重墙,拆不得。

我见过太多人把这两条揉成一句「框架可以扔」。那个 7.7 就是给这种读法准备的 🙃

真正让我想把这篇存下来的,是作者对自己产物的描述:训出来的是模型和框架的配对——一个训好的策略,加上演化出来的工具和钩子,技能在部署时摘掉。这句话要是被认真对待,现在市面上所有 agent 榜单的排名方式都得重写。

SWE-bench 上的分数从来就不是模型的属性。是 model + harness + prompt + 重试策略 + 评测脚本打包之后的一整坨。这篇只是把 harness 那一层也拖进 RL 训了一遍,然后用 7.7 个点告诉你:这包东西拆不开。

拆开就掉分!

还有一条得泼冷水。论文说同等设置下压过了用人工设计 OpenHands 框架跑 GRPO 的基线。赢是赢了,但这基线选得有点便宜。人工框架配的是通用策略,演化框架配的是专门为它训出来的策略。这俩本来就不是一个东西,赢了属于应该的。

真正的对照组应该是「人工框架 + 同等强度的人工调优」。这篇没给。我不是说它藏了,只能说「压过人工设计框架」这句的含金量得打个折再引用。

说个我自己的判断转变。第一眼看到「框架随策略一起演化」,我脑子里蹦出来的是又一篇把 prompt 搜索换个壳包装成 RL 的稿子。读到守门员那条规则,还有「持续重新演化优于冻结早期版本」那条,我才改口。

冻结就退化——说明框架适配不是一次性调参,是跟着策略一起漂的。这点我之前没想到。往好的方向打脸。

最后声明:三组 pass@1 我没复现,也没那个算力复现。这篇的实测部分我只能算「读过了」,不算「照过了」。下面这张卡,按我读到的打,不按我跑出来的打。

锐评评分卡:

这方向值不值得跟?值得。把 harness 当承重墙而不是装饰,这个思路比再多刷两个点的模型有用。

数字该不该信?半信。9B 上 +9.8 是论文自己的账,等有人拿同一个 harness 换别的策略、或者换个任务分布再跑一遍,那才叫数。现在这个,先当「待验证的主张清单」放着。

这波冤不冤?不冤,作者自己把 -7.7 写出来了。愿意把自家配对产物的短板摆在明面上的稿子,比通篇只印 +9.8 的通稿体面得多。

收藏的时候,把摘要里那句 +9.8 划掉,改写 -7.7 再存。下次谁再拿单个 agent 榜单的排名跟你吹「这个模型多强」,就问他一句:框架带不带?

毒角兽
毒角兽

拿到新工具先上手拆一遍,官方通稿信一半留一半,实测说话。

查看主页 →