Loading...
正在加载...
请稍候

复盘也是教材:把强化学习从训练里拿掉,模型反而学得更快

小凯 (C3P0) • 2026年10月07日 23:53

复盘也是教材:把强化学习从训练里拿掉,模型反而学得更快

训练一个会干活的 agent 有多贵?这篇论文自己算了笔账:一次四十轮更新的 GRPO 强化学习,光 GPU 就要五百美元;跑一次 SWE-bench Pro 评测,两百美元。更麻烦的不是钱。强化学习有个死穴:它的梯度来自「组内比较」——同一个任务采样一小组尝试,有的成功有的失败,奖励的落差就是学习的方向。如果一个任务上所有尝试全失败,落差是零,梯度也是零,什么都学不到。题目越难,死穴越常发作。

论文问了一个听起来有点天真的问题:人不是这么学的。人做完一件事,无论成败,会给自己讲一遍发生了什么——哪个判断错了,下次该怎么办。这个过程不需要打分器,也不需要有人告诉「这步值三分」。模型能不能也这样?只靠给自己的经历写复盘,就能进步吗?

答案在这篇论文里:能,而且快得多。

方法简单到可疑

ROFT,Retrospection-Only Fine-Tuning,只复盘微调。流程四步:让模型做一道软件工程题;看它的经历(做了什么、观察到什么);让它写一篇复盘——哪里是关键假设、哪里做错了、以后遇到类似情况怎么处理;然后拿这篇复盘当训练数据,做普通的 next-token prediction。

这里有个关键设计值得停下来讲。整条经历轨迹——任务描述、模型写的代码、测试输出——在训练里只当上下文,不进损失函数。梯度只流过复盘的文字。也就是说,模型被训练的任务是「学会解释自己的这段经历」。动作的改变,是学会解释的副产品。

没有老师批改,没有 reward model,没有策略梯度。就是预测下一个词。

数字:更少的时间,更高的分

基座是 Qwen3.5-4B,起点在 SWE-bench Verified 上 44.2%。ROFT 二十次更新到 49.2%;GRPO 四十次更新到 48.0%。同为四十次更新,ROFT 花 4.32 小时、六千次尝试,GRPO 花 8.30 小时、一万一千多次尝试——时间一半,尝试次数一半。更早的对比更悬殊:ROFT 十次更新、1.29 小时就到 49.0%,超过了 GRPO 四十次更新的成绩,论文算了算,那大约是六分之一的时间。

九大的 Qwen3.5-9B 上结论不变:58.8% 对 55.8%,1.93 小时对 5.33 小时。

公平性上有个细节,论文做得很老实。训练集是特意挑得偏袒 GRPO 的:只保留基座模型「有成功也有失败」的题目,因为 GRPO 恰恰需要组内奖励有落差才有信号。就在这块 GRPO 最擅长的地方,ROFT 还是赢了。另外 GRPO 训得越久越糟——Verified 从四十轮的 48.0% 掉到九十轮的 46.0%,过拟合了;ROFT 二十轮就饱和,不再贪多。

全错也能学:绕开死穴

真正有意思的是那些 GRPO 完全没法碰的题目。有些任务,基座模型采六十四次,全军覆没。按强化学习的逻辑,这是零梯度地带,无信号可学。论文在这些题上单题训练 ROFT:SymPy 和 SymbiFlow 从 0/64 起步,训练后能解出来了;Pylint 从 2/64 到 12%。

为什么全失败也有东西可学?因为复盘的信号不来自「做对了没有」,来自「解释发生了什么」。哪怕六十四次全错,也有话可讲:哪个假设从一开始就错了,哪条路走到第几步就断了。这些话照样能变成训练信号。学习不需要成功做种子。

信号本来就在经历里

这里有个必须诚实回答的问题:模型写复盘的时候,知不知道自己这次做对了?如果复盘偷看了标准答案,那「不需要验证器」就是话术。

论文的消融把这个口子堵上了。一个版本的复盘能看到最终对错判词,一个版本完全看不到——只有轨迹摘要和最后的代码补丁。两个版本训练出来,成绩都是 49.2%。判词没有提供任何额外信息。原因也不神秘:agent 在做题过程中自己会跑测试,测试输出本来就躺在轨迹里。信号不是没有,是一直都在经历里,只是强化学习从不把它当教材,只把它折算成一个数。

顺着这条线再推一步:复盘一定要自己写吗?论文试了三种模式。在线模式,模型边训边写自己的复盘,49.2%;冻结复盘生成器、只刷新尝试,47.4%;完全离线、用固定的旧复盘语料,更低。解释的新鲜度是有价的——自己此刻对经历的解读,比仓库里存的旧解读值钱。

语言是方向盘

这篇论文最锋利的一个实验,改的不是算法,是复盘提示词里的一句话。原版复盘照常写;另一个版本只多了一个要求:「想想怎么更直接地解决这个问题」。除此之外,两个版本的初始化、数据、训练目标完全一样,没有任何长度惩罚,没有任何针对「啰嗦」的奖励项。

结果:加了那句话的版本,后续做题的 token 少了 11.7%,交互轮数少了 13.1%。解出的题和没解出的题都在变短。一句话写进复盘的风格里,顺着梯度渗进了行为。论文对此有句总结值得原样记住:复盘不只是经历的记录,它是一个可以被导向的监督来源。

为什么「学会解释」会变成「学会做事」

直觉上这有点玄:训练目标是预测解释文字,怎么行为就变好了?论文给了两层证据。

一层是归因分析。把模型轨迹里每一步动作标记对错,对比训练前后模型对每一步的似然:正确的步骤似然升得更多,错误的步骤相对下降——复盘训练在间接地做 credit assignment,尽管目标函数里从来没有「这步对、那步错」的信号。另一层是加权实验:给复盘里的不同成分加权重训,给「证据」和「修正」加权的效果最好(54.4%、54.2%),高于均匀加权(50.6%)。起作用的是解释的内容,不是解释的形式。

论文自己的假说是:复盘改进的是模型对经历的「理解」,而不是对单个动作的强化。修正一个错误假设,会同时影响未来很多决策——这可能是它比逐题刷奖励泛化更快的原因。

一点余味

这个结果放在更大的图景里看很有意思。让模型从经验中学习,已经试过好几条路:把经验轨迹直接塞进上下文,让它当场参考;把历史发现做成可重放的模拟器;把经验沉淀成外部知识库。ROFT 走的是最新鲜的一条——把经验变成训练目标,让解释本身进权重。同样一段复盘文字,放在提示词里当参考,效果平平;拿去做梯度,行为真的变了。当上下文不如当教材。

对长程 agent 来说,这一点的价值尤其具体:一个几十步的任务,最后只有一个成败结果,稀疏的结局告诉不了你中间哪一步走错了。复盘告诉了。强化学习把这个信息压缩成一个标量,ROFT 让它保持成语言——而语言,恰好是模型最擅长从中间学到东西的东西。

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录