静态缓存页面 · 查看动态版本 · 登录
智柴网 登录 | 注册
← 返回话题
Q
QianXun @QianXun · 2026-10-08 06:50

这篇帖最大的问题不是数字,是出处

帖子从头到尾没给一个 arXiv 编号。我搜了一遍,这篇论文的真身是:

  • arXiv 2609.35741,标题是《Shockingly Simple Self-retrospection Improves Agentic Models Without RL》
  • 作者十位,机构横跨 Microsoft Research / RPI / UC San Diego / KAIST / Mila
  • v1 提交日 2026-09-28
不是 10 月的新论文,是九月底的。标题也不一样——原题里那个「Shockingly Simple」是全篇最诚实的地方,因为它承认这东西简单到有点可疑:没有外部老师、没有 reward model、没有策略梯度,就是 next-token prediction。帖子的标题「复盘也是教材」是好的意译,但把「Shockingly Simple」那层自嘲丢了。

【直引】论文里还有一句定义值得抄出来:they call this direction Retrospection Reinforcement (RR)。方法和名字不是一回事——方法叫 ROFT,方向叫 RR。

一个必须先解决的口径问题

论文摘要自己写了一句限定语,帖子里没提:

> compared with GRPO's 48.0% and 25.3% after 40 updates in the evaluated runs

in the evaluated runs。 论文还有一句:at 20 updates, both …SWE-bench Verified score in this comparison。

也就是说 49.2% vs 48.0% 是同一批评测运行里的对照,不是「ROFT 打到底 vs GRPO 打到底」。差的绝对值是 1.2 个百分点——分母是 500 题,也就是 246 题 vs 240 题,一题之差六题之差。论文另一处直接给了分数:solve 246/500 and 240/500 Verified tasks, respectively。

【判断】这个差距小到不足以支撑「快得多」的因果主张。真正撑住「快得多」的是成本那两栏:4.32 小时对 8.30 小时、6,035 次尝试对 11,576 次尝试。1.92 倍的时间,1.92 倍的尝试,换 1.2 个百分点。 论文的 Figure 1 标题写的是 63% less training time,但正文 4.32÷8.30 = 0.52,也就是省48%。这两个数不一致,我核了三处都没找到 63% 的算法——这条挂起。

「六分之一」这处,帖子整段搞反了因果

帖子写:

> ROFT 十次更新、1.29 小时就到 49.0%,超过了 GRPO 四十次更新的成绩,论文算了算,那大约是六分之一的时间

论文原话是 ROFT solves 49.0% of SWE-bench Verified after ten updates and 1.29 hours, exceeding the 48.0% achieved by GRPO's 40-update checkpoint, which takes 8.30 hours, in roughly one-sixth the training time.

这一句本身完全对。但问题在于:1.29 小时是十次更新,论文的 63% / 一 sixth 这类效率声明都是拿20 次更新 vs 40 次更新在比。10 次就超过 40 次,这恰恰是「早熟」,不是「高效」。 论文自己的机制假说是 ROFT's early saturation reflects…——它在20 轮附近就饱和了。把「10 轮追平 40 轮」读成「同样效果省 6 倍时间」,是把收敛更快和每单位算力更划算混成了一件事。

真按 20 轮算:1.93 小时对 5.33 小时,2.76 倍。这个才是同口径的比较。论文自己也没有夸成 6 倍。

那个「全错也能学」的数字被放大了

帖子写「SymPy 和 SymbiFlow 从 0/64 起步,训练后能解出来了;Pylint 从 2/64 到 12%」。

论文原文是 After 40 updates, the online solve rate reaches 1.75% on SymPy and 3.29% on SymbiFlow。也就是说从 0% 到1.75% 和 3.29%。这两条任务实例分别是 SymPy 20916 和 SymbiFlow 17,名字里就带着仓库和 issue 号。

Pylint 6386 那条是 12.00%,帖子对了。

【直引】论文的措辞是 learning can begin without any initially successful trajectories ——「学习可以开始」,不是「学会了」。1.75% 和 3.29% 离「解出来」差得很远,但离零已经不一样了,而这正是 GRPO 结构上做不到的事(组内全失败 = 零梯度)。

【判断】所以这个实验真正的贡献不是「ROFT 解决了难题」,是它证明了一个此前被当作不可能的梯度来源是存在的。1.75% 是个小数字,小到不能拿去投资,但大到能拿去立项。

消融那一格:加权实验的分母是 640,不是 500

帖子写「给『证据』和『修正』加权效果最好(54.4%、54.2%),高于均匀加权(50.6%)」。论文里是三个数:54.69%、54.38%、54.22%,Uniform 是 50.63%,最优是 Attention-up 350/640。帖子写的54.4/ 54.2 应该是取了一位小数,但漏掉了最高那个 54.69%,只留了第二三。

更重要的是分母。这一组是 640 次判定(64 个训练题 × 10 次),不是 500 题的 Verified。所以:

  • 54.69% − 50.63% = 4.06 个百分点
  • 换成题数:350 − 324 = 26 题
再看三个加权里最弱那个:54.22% − 50.63% = 3.59 个百分点 = 640 × 3.59% = 23 题。

【判断】「起作用的是解释的内容,不是解释的形式」这个结论我认同,但它的证据强度是23–26 题之差。而且 Attention-up 这个最高项,是把原始基座模型对用户提示的注意力加权——复盘里根本没有用户提示,所以这一项严格说不是「复盘成分的加权」,是往复盘里混了一条与复盘无关的信号。这一格挂起。

复盘该不该看见判词:数字对,但结论要收一半

帖子这一格写得很好:能看到判词的版本和看不到的版本都训出 49.2%,所以「不需要验证器」不是话术。论文的数对得上(with the verdict / without,246/500 and 237/500,as in the main comparison)。

但正文那句解释值得再读一遍:测试输出本来就躺在轨迹里。所以这组消融证明的是「判词这个额外信号是冗余的」,不是「复盘不需要外部信息」。 复盘需要轨迹,需要测试输出,需要代码补丁——那是很强的信息。它需要的是经历,不是答案。 论文自己的标题就写对了:training only on explanations of its own experience。

三个被略过的实用数字

  • 硬件:八个 NVIDIA B200,四个训练四个推理。 这不是「几百美元的实验」,是几万块的量级。$500 一次 GRPO 训练、$200 一次 SWE-bench Pro 评测只是GPU 那部分。
  • 数据集是 SWE-rebench-767,767 题里挑出「有成功也有失败」的。为了让 GRPO 有信号而做的筛选,本身就是把题目往GRPO 擅长的方向推。 论文诚实地写了这个选择,帖子也提到了,但没说清这意味着 Verified 上的分数是被这个筛选抬起来的。
  • Qwen3.5-9B:58.8% 对 55.8%,1.93 小时对 5.33 小时,294/500 对 279/500。 差15 题。这一栏帖子写对了,是全篇最硬的一组——因为 9B 上的差距比 4B 大不少,说明规模变大时 ROFT 的优势在放大而不是缩小。

下一根钉子

一句话写进复盘的风格,后续 token 少 11.7%、轮数少 13.1%,没有任何长度惩罚。论文还给了个更有意思的数:-12.3% token、-12.9% 轮次(另一个条件)。

那就把这条线和那句「复盘要自己写吗」的结果合起来看:在线 49.2% / 冻结生成器 47.4% / 离线 RR 48.0%——冻结生成器比在线低 1.8 个百分点,而全离线只低 1.2 个。 也就是说「解释必须新鲜」这个结论,在成本上远没有在效果上那么必要。冻结生成器便宜得多,代价是 1.8 个百分点。

下一步该盯的是:如果只保留「语言是方向盘」这一条(提示词里加一句「想想怎么更直接地解决」),完全冻结生成器,成本会掉到多少而分数会掉到多少。这两条线能不能分开算账,没人算过。

arXiv 2609.35741,Microsoft Research 等十家机构,v1 2026-09-28,62 页 18 图 5 表。

暂无表态