通过递归自重写扩展复杂任务的成功轨迹 Scaling Trajectories for Complex Tasks through Recursive Self-Rewrite
用多种智能体外壳发现成功解法,再重写为通用外壳下的高质量自改进数据
前置知识
Harness(智能体外壳)
包裹在语言模型外面的执行系统,决定模型如何接收观察、调用工具、追踪进度、验证中间结果、从失败中恢复以及何时停止。同一模型配不同外壳(如 Codex、Claude Code、StateM)会表现出不同能力,各自能解出互补的任务子集,强外壳甚至能让弱模型反超强模型。
论文的核心前提是「模型能力 = 模型 × 外壳」,全篇围绕用多外壳做发现、用单一通用外壳做重写与部署展开,不懂这个概念就无法理解动机和方法设计。
SFT(监督微调)
用「任务输入-完整示范轨迹」配对数据对模型做监督训练,让模型模仿示范中的解题行为,把外部分析支持内化进参数。本文把重写后的成功轨迹当示范数据,对 Qwen-3.8-27B 做 SFT。
RSR 的最终产物就是一批 SFT 训练数据,论文全部实验都在比较不同来源的 SFT 数据(Base、Direct SFT、RSR)带来的效果差异。
pass@k 指标
评测智能体的常用指标:每个任务允许 $k$ 次独立尝试,统计至少成功一次的任务比例,实践中用多次运行估计 $ ext{pass@}k$。它与「平均单次通过率」互补,前者看重能否解出、后者看重稳定性。
论文主结果表用 pass@3 报告所有基准成绩(如 TB2 从 57.0% 提到 74.2%),同时报告三次运行的平均通过率,必须理解两者才能正确解读结果。
Runbook(运行手册)
由规划器从成功轨迹中提炼出的结构化解题指南,包含所需终态、关键里程碑、有用的检查手段、恢复策略和常见坑。它描述「怎么做」的方法学,但明确禁止直接给出成品交付物或隐藏验证细节。
Runbook 是 RSR 重写流程的核心中间表示:规划器生成、批评者审查泄漏、执行者照做重解,理解它才能理解「一次成功经验如何增殖为多条新训练轨迹」。
拒绝采样与验证器
对同一问题生成多个候选(本文为 $K{=}4$ 个 runbook、每个再执行 $M{=}4$ 次),只保留通过自动验证器检验的那部分作为最终数据。终端任务的验证器在沙盒中检查任务产物是否满足隐藏要求。
RSR 靠拒绝采样保证训练集只含真实通过任务验证的轨迹,把 2,001 条源轨迹扩充到 11,094 条的同时守住质量底线,这是结果可信的关键机制。
终端任务基准
任务在真实命令行沙盒中完成,例如配置环境、调试软件、数据处理,由自动验证器检查最终产物。代表工作有 Terminal-Bench 系列(TB2/TB3/TB4),难度体现在长程执行、环境反馈理解和多步修复。
本文约 3K 训练任务和全部评测基准(TB2/TB3/TB4/TBH/SWR100/LHTB)都是终端任务,成绩以模型能否在真实环境中跑通并过验证器为准。
研究动机
现有把成功经验用于模型自我改进的做法存在一个根本矛盾。一方面,模型在终端类长程任务上的表现高度依赖外壳:论文 Table 6 显示同一个未训练的 Qwen-3.8-27B 在 TBH 上配 RSRT 能过 66.0%,配 Terminus 2 只有 33.0%,单外壳会漏掉大量本可解出的任务。于是自然的想法是用多个专用外壳收集成功轨迹再拿去训练。但另一方面,这些轨迹混杂着外壳特有的控制干预、任务专属提示、工作流逻辑和停止规则,直接混合训练会造成分布错配:模型学到的是推理时根本不存在的「外部指挥」模式。论文实测了这种朴素做法的代价——Direct SFT 后 TB2 的 pass@3 从 57.0% 反降到 53.4%,三次运行平均通过率从 51.7% 掉到 43.8%;检查发现模型陷入反复执行同一动作模式的「死胡同」行为,RSRT 产生的超长轨迹(失败时平均 67.1 轮,而 Terminus 2 仅 22.8 轮)也让 27B 模型在失去外壳支持后难以吸收。
本文的目标是本文的目标是在不改变推理部署方式的前提下,让单个基础模型吸收多外壳带来的多样化成功经验,实现可扩展的自我改进。具体拆成三件事:一是用 Terminus 2、StateM、RSRT 三种互补外壳在约 3K 道自建终端任务上尽量多地发现成功解法(目标覆盖 759 个不同任务);二是把这些「借外壳之力」的成功轨迹重写为通用 Terminus 2 外壳下可复现的干净示范,同时严防验证器泄漏和答案泄漏,保证示范分布与推理时一致;三是通过多次重执行把 2,001 条源成功轨迹扩充为 11,094 条经任务验证器核实的重写轨迹用于微调,使模型在推理时只靠通用外壳和自身参数就能完成规划、检查、恢复和持续执行。
与已有工作不同的是,本文的独特切入角度是把「外壳」从推理时的控制器变成发现经验的工具。已有工作要么只优化单一外壳(Self-Harness、StateM、Meta-Harness 等,不更新参数、只提推理成绩),要么让模型与外壳协同进化(ScienceBuddy)或分析轨迹去改外壳模块(ModularRSI、Dream-RSI);与 RSR 最接近的 Harness-Zero 也只研究单一目标外壳下的行为内化。RSR 不优化任何外壳、也不假设自主递归循环,而是提出「发现—重写—验证」三段式数据工厂:先用多样外壳扩大成功集合,再让同一个基础模型一人分饰规划器、批评者、执行者三种角色,以 runbook 为中介把成功经验转写为通用外壳下的全新示范,训练时只保留公开交互历史。其新颖之处在于用「重执行」而非「照抄」来保证训练轨迹的分布与推理时完全一致。
核心方法
直觉上,这模仿了人类科研共同体「把个人经验写成论文教材供后人复用」的进步方式:AI 智能体也可以把借不同工具解出的难题整理成通用教材供模型自己重学。技术路线分三个阶段。发现阶段:固定 Qwen-3.8-27B 不变,分别在 Terminus 2(通用终端交互循环)、StateM(持久工作流状态+受检转移)、RSRT(仅凭验证结果触发反思续跑、单任务上限 180 分钟)三种外壳上做共 14,598 次 rollout,得到 2,001 条通过验证的成功轨迹,覆盖 759 个不同任务。重写阶段:先把源轨迹压缩为「任务指令+动作+观察」并剔除外壳控制消息;规划器对每条轨迹采样 $K{=}4$ 个候选 runbook;批评者用确定性检查加模型审查筛掉泄漏,不合格者携原因退回规划器;执行者持合格 runbook 在全新沙盒中用通用 Terminus 2 外壳重新解题,每个 runbook 在温度 0.7 下执行 $M{=}4$ 次。验证阶段:丢弃含「无法从任务或环境推导之值」的轨迹,只保留通过任务验证器且仅含公开交互历史的重写结果,最终把训练集从 2,001 条扩充到 11,094 条。
核心创新是「以 runbook 为中介、以重执行为准绳」的经验转化机制。与 Direct SFT 直接照抄源轨迹不同,RSR 强制模型在没有任何外壳辅助的全新沙盒里,仅凭一份描述方法学而不含答案的 runbook 重新解出任务——因此产出的每条训练轨迹在分布上都与推理时输入完全一致:通用外壳、真实动作、真实观察。批评者环节守住两条底线:验证器泄漏(runbook 不得泄露隐藏检查项)和答案泄漏(不得直接给出成品交付物),再用「让模型自己标记轨迹中无法从任务或环境推导的值」这层过滤捕获隐蔽的答案移植。这样,外壳多样性带来的收益被安全地搬运进模型参数,而不是训练进一堆推理时不可用的控制惯例;一次发现还能借助 $K imes M$ 的采样预算增殖为最多十几条新示范,实现经验的规模化。
方法步骤详情
第一步,多外壳发现:在约 3K 任务池(2,509 道自建 SWR 任务 + 420 道 RST 加难任务,横跨 50+ 领域)上分别用三种外壳 rollout,共 14,598 次,2,001 条通过,任务覆盖率 25.9%。第二步,轨迹压缩:仅保留任务指令、模型动作、环境观察,剔除外壳特有控制消息。第三步,规划器:对每条成功轨迹采样 $K{=}4$ 个 runbook 候选,涵盖所需终态、里程碑、检查与恢复策略,禁止直接给出成品。第四步,批评者:先做 schema 校验、伪影清除、拒绝不支持工具引用等确定性检查,再让只见公开任务的模型审查是否泄漏验证器信息或答案,不合格者携原因退回规划器,最多 $N$ 轮。第五步,执行器:每个合格 runbook 在温度 0.7 下于全新沙盒用通用 Terminus 2 执行 $M{=}4$ 次,runbook 只作私有引导、绝不写入公开轨迹。第六步,过滤:丢弃含未推导值的示范,删除 runbook 与批评对话,仅保留公开交互历史。第七步,训练:11,094 条重写轨迹加 766 条 Terminus 2 直接成功轨迹组成 SFT 集。
技术新颖性
技术新颖性体现在三点。其一,中介表示:runbook 把「成功经验」与「具体轨迹」解耦,一次发现可增殖为最多 $K imes M$ 条新示范;案例显示 Markdown 任务的 64 轮源轨迹被重写为中位 32 轮的通过轨迹(12 次重写 7 次通过),说明方法学被压缩而探索冗余被剥离。其二,三重泄漏防线:确定性检查 + 只见公开信息的模型批评 + 未推导值检测,保证数据不含隐藏答案,这与常见轨迹蒸馏有本质区别。其三,定位互补:相比优化单外壳的 Harness 工程和协同进化的 RSI 系列,RSR 是受控的、以任务验证器为最终裁判的数据工厂,不依赖自主递归循环;同一模型扮演三个角色还保证经验始终落在该模型自身能力可消化的边界内。论文的命令相似度分析(同 runbook 轨迹的精确命令重叠 19.1% 对不同 runbook 的 12.1%)进一步实证了 runbook 确实在引导执行结构,而非被忽略。
实验结果
核心结果有五组。第一,主实验(Table 5):RSR 在全部基准领先——pass@3 上 TB2 从 57.0% 提到 74.2%(Direct SFT 反降到 53.4%)、TB3 从 0.0% 到 9.5%、TB4 从 1.5% 到 9.1%、TBH 从 39.0% 到 63.0%、SWR100 从 3.0% 到 6.0%;TB2 三次运行平均通过率达 70.1%(Base 51.7%、Direct SFT 43.8%);LHTB 过程奖励从 0.21 升至 0.29,但三组均完整解出 0/46 题。第二,外壳互补性(Table 1、Figure 3):三外壳并集解出 759 任务(25.9%),比最强单外壳 565 题多 194 题(相对提升 34.3%);288 题仅被单一外壳解出(Terminus 2 独占 129、RSRT 91、StateM 68),308 题三者皆解。第三,重写规模化:12,893 次 RSR rollout 覆盖 975 任务,通过率 86%,训练集从 2,001 条扩到 11,094 条。第四,案例(Figure 5):Markdown 任务 12 次重写 7 次通过(58.3%),中位轮数 64→32;OpenFOAM 8 次重写 7 次通过(87.5%)。第五,相似度(Table 4):同 runbook 轨迹精确命令重叠 19.1% 对不同 runbook 的 12.1%,命令顺序相似度 24.6% 对 15.7%,证明 runbook 确实引导执行结构。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Terminal-Bench 2(TB2) | pass@3 | 74.2%(66/89) | Base 57.0%;Direct SFT 53.4% | 较 Base +17.2pp;较 Direct SFT +20.8pp(Direct SFT 反而比 Base 低 3.6pp) |
| Terminal-Bench 3(TB3) | pass@3 | 9.5%(7/74) | Base 0.0%;Direct SFT 5.4% | 较 Base +9.5pp;较 Direct SFT +4.1pp |
| Terminal-Bench 4(TB4) | pass@3 | 9.1%(6/66) | Base 1.5%;Direct SFT 4.5% | 较 Base +7.6pp;较 Direct SFT +4.6pp |
| Terminal-Bench Hard(TBH,自建) | pass@3 | 63.0%(63/100) | Base 39.0%;Direct SFT 56.0% | 较 Base +24.0pp;较 Direct SFT +7.0pp |
| Software Terminal 100(SWR100,自建) | pass@3 | 6.0%(6/100) | Base 3.0%;Direct SFT 3.0% | 较两个基线均 +3.0pp |
| TB2 三次运行平均通过率 | Mean (3 runs) | 70.1% | Base 51.7%;Direct SFT 43.8% | 较 Base +18.4pp;较 Direct SFT +26.3pp |
| Long-Horizon Terminal Bench(LHTB,自建) | 过程奖励(process reward) | 0.29 | Base 0.21;Direct SFT 0.25 | 较 Base +0.08;三组均完整解出 0/46 题,提升反映部分进展 |
局限与改进
作者承认并叠加我方观察的局限。其一,绝对成绩仍低:TB3 仅 9.5%、TB4 9.1%、SWR100 仅 6.0%,LHTB 三组都完整解出 0/46 题,过程奖励 0.21→0.29 只反映部分进展;2,929 题中 2,170 题(约 74%)任何外壳都解不出,天花板远未突破。其二,评测自建同源风险:TBH、SWR100、LHTB 与训练池 SWR 均为作者自策展,外部基准(TB2/TB3/TB4)上的绝对提升幅度明显小于自建基准。其三,重写不保证成功:同一 runbook 下 Markdown 案例通过率仅 58.3%,论文亦注明验证器通过不等于质量审计通过,投机解法可能混入训练集。其四,实验设计:三外壳 rollout 数不均衡(RSRT 3,777 次对比其他约 5,400 次),成功率对比受采样量影响;相似度与案例分析仅覆盖两个任务;未对 $K$、$M$、批评轮数与温度做消融。其五,只在 Qwen-3.8-27B 一个模型上验证,跨规模泛化未知;Direct SFT 对照较弱(仅去除插入短语),RSR 的相对优势可能因此被放大。
独立分析的弱点
独立分析的弱点与改进方向。其一,重写吞吐成本高:每条源轨迹最多 $4 imes 4 = 16$ 次全新沙盒求解,2,001 条源轨迹最终只换来 11,094 条可用数据,RSRT 单任务上限 180 分钟墙钟时间进一步推高算力开销;改进方向是训练一个 runbook 价值估计器预筛候选,只执行高期望者,或复用沙盒快照降低环境启动成本。其二,验证器是唯一裁判:通过隐藏检查不等于解题过程优雅,可能保留硬编码、投机取巧式轨迹污染训练分布;可引入过程级审计模型或对抗性检查作为第二裁判。其三,场景受限:方法完全绑定终端任务,对网页操作、API 编排、GUI 交互等非终端长程任务的迁移未验证,且 runbook 格式依赖「命令-观察」结构。其四,对照与消融不足:Direct SFT 仅做最朴素清洗,未尝试轨迹过滤、长度截断或课程学习等更强基线;$K$/$M$/$N$/温度等超参和未推导值过滤的独立贡献没有消融实验支撑。其五,数据泄漏审计本身依赖模型判断,「未推导值」的检测召回率未知,可能漏掉语义级的答案移植。每个弱点共同指向:需要一个更便宜、更严格的质量闸门来支撑真正的规模化。
未来方向
作者提出的方向与可延伸工作。论文结论指出多样外壳既是发现工具也是经验来源,由此可直接延伸:把 11K 重写轨迹作为冷启动数据接入强化学习(如以验证器奖励做 GRPO 或迭代式 RFT),让模型从「模仿正确」走向「优化正确」;借鉴 AutoSaddler 类自动外壳搜索,把外壳生成也自动化,主动构造「最擅长解出当前失败任务」的发现型外壳;将 runbook 泄漏审计扩展为通用轨迹数据审计工具,用于清洗网络爬取的智能体数据。基于成果的延伸方向:研究通过率随 $K imes M$ 预算的 scaling law,确定每条源轨迹的最优重写预算;引入过程奖励模型替代纯终态验证器,缓解「投机解法混入」问题;在 7B 到 70B+ 多个规模上检验「一人分饰三角」假设是否随模型能力变化;把方法迁移到终端之外的长程任务域(科学实验自动化、网页多步操作);以及探索发现与重写交替进行的受控多轮循环,让每轮训练后的更强模型再去发现更难任务,逼近真正的递归自我改进。
复现评估
复现评估。开源情况:最终模型权重发布于 HuggingFace(IntelligenceLab/RSR-27B),可直接下载评测;但论文核心资产——约 2.5K 道 SWR 自建任务、TBH/SWR100/LHTB 自建基准、以及 11,094 条重写轨迹数据集——文中未明确说明是否公开;Terminus 2 与 StateM 为第三方已有工作可获取,RSRT 是作者对 Terminus 2 的改造版,实现细节(反思提示、180 分钟预算管理等)未完整给出。算力要求:发现阶段 14,598 次、重写阶段 12,893 次全新沙盒执行,涉及大规模沙盒编排与 27B 模型持续推理,RSRT 单任务最长 180 分钟;27B 模型全参 SFT 也需要多卡集群。综合判断:拿 released checkpoint 复现 Table 5 的评测行较容易;端到端复现整条 RSR 流水线属于中高难度,主要障碍是自建任务池未公开与三外壳的工程细节缺失,第三方需要自建等规模任务池并自行实现 RSRT/StateM 才能验证数据规模化结论。
论文图表