Shockingly Simple Self-retrospection Improves Agentic Models Without RL
Jonathan Light, Christopher Zhang Cui, Jeonghye Kim, Roger Creus Castanyer, Emiliano Penaloza, Zhengyan Shi, Alessandro Sordoni, Marc-Alexandre Côté, Xingdi Yuan, Minseon Kim
cs.AI, cs.CL
2026-09-29
ROFT只训复盘解释,4B模型SWE-bench Verified二十步达49.2%,对照GRPO四十步48.0%。
Agent训练现在主流是RLVR(reinforcement learning with verifiable rewards,用过测试与否当奖励)。GRPO这类方法靠同一题上几次尝试的相对成败来分配advantage。一条轨迹只有一个0/1结果,分不清哪一步的假设错了;一组全失败时组内没有对比,梯度为零。长程软件工程尤其如此,中间决策多,奖励稀疏。
已有工作把反思当推理时上下文,例如Reflexion;或用反思筛出成功解答再做SFT,例如STaR、CFT、SCFT。还没人单独问:只训练模型解释自己刚做过的事,不直接监督动作,推理时也不再塞复盘文本,后续解题会不会变好。
微软研究院联合RPI、UC San Diego、KAIST、Mila提出ROFT(Retrospection-Only Fine-Tuning),用来隔离「解释到行动」的迁移。复盘是事后用自然语言把这次尝试讲清楚:发生了什么、哪个判断关键、下次碰到类似证据怎么做。循环只有四步:
把动作mask掉是为了分清涨分从哪来。如果同时模仿轨迹,就无法判断迁移来自解释还是行为克隆。复盘文本可以谈论动作和纠正,监督目标仍是事后叙述。没有外部教师,没有reward加权,成功和失败轨迹都进训练,也不做语义质量过滤。复盘输入按字段截断,轨迹摘要最多2.4万字符。优化器用AdamW,学习率1e-6,每次更新64条尝试、最多256条复盘。硬件是4张训练卡加4张推理卡的NVIDIA B200。
基座是Qwen3.5-4B,SWE-bench Verified / Pro为44.2% / 23.9%。训练集SWE-rebench-767只留基座三次尝试里既有成功也有失败的题,论文把这类题叫做learning zone。这个筛选对GRPO更友好,因为它需要组内奖励方差。用16次采样看全部500道Verified:10.4%全对,61.8%有对有错,27.8%全错。评测在held-out的Verified和更难、更长程的SWE-bench Pro。
| 方法 | SWE-bench Verified | SWE-bench Pro | 训练预算 |
| Qwen3.5-4B基座 | 44.2% | 23.9% | 无 |
| ERL | 45.6% | 未报告 | 未报告 |
| CFT(gpt-6-luna教师) | 46.0% | 未报告 | 未报告 |
| SCFT | 46.8% | 未报告 | 未报告 |
| SSD | 47.0% | 未报告 | 未报告 |
| GRPO(40步) | 48.0% | 25.3% | 8.30小时,11576次尝试 |
| ROFT(20步) | 49.2% | 26.8% | 3.05小时 |
表里的GRPO已经叠了DPPO-Binary-TV、成功轨迹长度shaping和DAPO动态采样,不是教科书原版。ROFT 10步、1.29小时就到Verified 49.0%,高于这套GRPO跑40步的成绩。相对GRPO的40步checkpoint,ROFT 20步少63%墙钟。GRPO训到90步,训练reward还在涨,Verified掉到46.0%。论文猜测ROFT约20步平台,是因为反复写同一批题的复盘,新信息变少。
单题从64次采样全失败起步,40步后online解题率到SymPy 1.75%、SymbiFlow 3.29%。近前沿的Pylint从2/64升到平滑后的12.00%。全失败组对GRPO没有advantage,ROFT仍能从失败复盘里出成功解。
行为侧,ROFT之后正确turn的似然上升比例32.41%,错误turn 21.21%;GRPO两边几乎一样,44.14%对45.30%。一次ROFT更新后,固定轨迹上分布变化主要落在reasoning,任务均衡的前向KL是tool call的3.45倍,而且更偏早期回合和Read/Glob。把复盘提示改成「怎么更直接做完」,后续轨迹少11.7%的assistant token、13.1%的回合,没有显式长度惩罚。Qwen3.5-9B上同样方向:20步ROFT 58.8%,GRPO 55.8%,墙钟1.93小时对5.33小时。
去掉最终对错标签,Verified仍是49.2%。在线生成复盘49.2%,完全离线48.0%,冻结复盘生成器、只刷新尝试47.4%。每条轨迹4份复盘在2/4/8的扫描里最好。给证据、纠正、或对user prompt注意力更高的token加倍权重,64道训练题上解题率从Uniform的50.63%升到54.22%至54.69%;这组数字不是held-out。
对要训coding agent的人,这是一条比论文里这套增强GRPO更便宜的早期路径。同样8张B200,ROFT 10步用1.29小时打到Verified 49.0%,对照GRPO 40步的8.30小时。而且不依赖最终verifier判决。失败轨迹不再是废样本。复盘提示还能当行为旋钮:想让模型写短,就让它复盘「怎么更直接」,不必上length penalty。
一个可用的机制解释是:预测复盘token时,梯度会经attention流到被mask的轨迹表示上,共享参数被改写,后续动作跟着变。ROFT被设计成最小隔离实验,涨得早,大约二十步就平台。解释文本是一类被低估的监督,和动作模仿、标量奖励并列。
作者写了几条硬约束。长程agent训练贵,实验几乎只在软件工程和Qwen3.5-4B上;一次40步GRPO约500美元GPU,Pro评测一次约200美元。ROFT求简单不求最优。自我复盘可以强化错误解释。行为分析里的对错标注来自GPT-6 Astra,不是人工核对。
论文内部还有对不上的地方。摘要与Figure 1写Pro 26.8%,第3.1节与Figure 4b写29.0%,同一档checkpoint两个数。主实验看不出多种子误差。加权实验评的是64道训练题。GRPO对照叠了2026年的若干增强,换回原版差距可能变大或变小,没有单独报告。异步生成会改变batch构成,精确复现会漂。
他们自己点的下一步:要学会哪些解释值得写进权重,免得把听起来合理、其实写错的复盘内化进去。