← 返回 2026-08-06

面向长程终端任务的递归合成框架 Recursive Synthesis for Long-Horizon Terminal Tasks

Zhongzhi Li, Yucheng Shi, Zongxia Li, Ruhan Wang, Anhao Li, Zixun Huang, Junyao Yang, Lei Ke, Ninghao Liu, Haitao Mi, Leowei Liang 📅 2026-08-05 👍 231 2026-08-11 18:30
任务进化 合成数据 强化学习 监督微调 终端智能体 自我改进 长程任务

递归地生成已验证的长程终端智能体训练任务,低成本可扩展

前置知识

终端智能体 (Terminal Agent)

指以大语言模型为大脑、在沙箱化的命令行终端中执行多步工作流的智能体。它需要协调仓库上下文、命令行交互和执行反馈,通过查看文件、执行命令、修改工作区来达成目标,而不是只输出一段文本答案。本文的 Terminus-2 即是这类 harness,在 Harbor 沙箱中运行。

本文所有任务、评测和训练都围绕终端智能体展开,不理解这个执行范式就无法理解任务为何要包含环境、参考解、验证器等多组件。

Pass@k 与 Partial Credit

Pass@k 指允许智能体尝试 $k$ 次、只要任一次完整通过即算成功通过率,本文用 $\text{pass@4}$ 衡量全任务完成度。Partial Credit(部分得分)指一次 rollout 后满足的验证器检查项比例,用于刻画在失败时还完成了多少,是长程任务的关键细粒度指标。

论文用 $\text{pass@4}$ 从 90% 跌到 2.5% 来证明任务变难,用 partial credit 从 0.970 降到 0.170 证明这是整体性变难而非个别离群点。

Oracle 有效性 与 Contract 有效性

Oracle validity 指参考解在全新沙箱里能通过私有验证器,即任务确实可解。Contract validity 指验证器检查的每条要求都必须出现在公开指令中或能从工作区推断出,防止出现藏在私有测试里的隐形要求。一条合成任务必须同时满足两者才被接受。

这两条准则正是 RST 保证合成任务「可解且公平」的核心,也是它与容易被 LLM 直接生成破坏一致性的方法的关键区别。

基于验证器的强化学习 (Verifier-based RL)

用任务自带的私有验证器在沙箱里对智能体最终工作区打分,把该分数作为奖励信号训练策略。本文用 PPO(clip $\epsilon=0.2$、GAE 优势、白化)在 37,484 个合成任务上冷启动训练 Qwen3.5-27B,奖励来自每个任务内置的验证器并做了 reward shaping。

RST 合成的任务天然带可执行验证器,可直接构成 RL 任务池,这是它同时服务 SFT 与 RL 的根本原因,也是相对收益最大的实验来源。

重播种 (Reseeding) 与多样性上限选择

指把每一轮已接受的任务当作下一轮合成的种子,形成递归自我改进循环。为防止单一父本/单一改写模式统治后期,选择种子时施加父本谱系、类别、改写家族、生成批次的四类上限(caps),保证谱系多样。本文是所比较方法中唯一做跨代重播种的。

重播种是 RST 能从 639 颗种子滚出 37,484 个任务、且 15 轮未见天花板的核心机制;多样性上限则是它在变难的同时保持领域/算子多样性的关键。

研究动机

高质量的「长程」终端智能体训练数据极难规模化获取。一个可用的终端任务并不是一段指令那么简单,而是必须同时满足四个互相约束的组件彼此一致:公开指令(instruction.md)、初始环境(Dockerfile)、参考解(solve.sh)、私有验证器(test.sh)。人工撰写每条任务往往要花数百到数千美元,且无法扩展;而直接用大模型一次性生成,几乎总会破坏这些依赖关系——比如验证器检查了指令里没提的隐性要求、或参考解根本跑不过验证器。已有的执行型基准(如 SWE-Bench、Terminal-Bench、Long-Horizon Terminal Bench)主要定义评测场景,Endless Terminals、SETA、TMax 等虽能半自动构造环境,却既不能反复重用已验证任务作种子、也无法保证四组件一同保持一致,更难持续提升任务难度,导致长程训练数据长期稀缺、昂贵、难以校验。

本文的目标是本文要构建一个低成本、可扩展、完全无需人工撰写的递归合成框架 RST(Recursive Synthetic Terminal Tasks),具体目标包括:(1) 从少量已验证种子出发,大规模生产每条都自带「可解性证明」的终端任务;(2) 让任务难度随轮次持续上升,体现为参考解行数、命令数、断言数等真实执行工作量增长,而非只是指令变长;(3) 在变难的同时保住领域、改写家族、算子的多样性,避免谱系坍缩;(4) 这些任务既能收集成功 rollout 用于 SFT,也能直接作为验证器奖励的 RL 任务池;(5) 单任务成本压到约 $0.05 量级,15 轮合成数万任务且无天花板迹象。

与已有工作不同的是,RST 抓住了一个被以往工作普遍忽视的点:与其一次性生成任务或只在单代内调难度,不如把「任务」视为一个由四组件捆绑而成的可验证单元,先扩展参考解(让它更难、更真实),再反向对齐验证器与指令,最后在全新沙箱里端到端验证;通过验证的整个任务包被回收为下一代种子,形成跨代递归。这种「解先行 + 全组件重对齐 + 重播种」的组合是所比较方法中独一份——SETA、BenchEvolver、TRACE、Endless Terminals 都不做跨代重用完整任务包。再加上 contract validity 杜绝隐形测试,RST 把「任务是否可解、是否公平、是否更难」全部变成可执行的校验,而非依赖人工判断。

核心方法

可以把 RST 想象成一个会自我进化的「出题老师」:它拿一道已经被证明可解、且题目与评分标准一致的考题,选一种「加料」操作(如引入配置文件失效、增加状态依赖、加入缓存/构建陷阱)给学生增加新的可执行步骤,然后立刻重新对齐评分标准与题目描述,并在全新环境里跑一遍标准答案确认确实可解且公平;通过的就既当作下一轮的母题、又当作训练学生的题库,学生做出来的成功解题过程则存为教学示范。技术上,每一轮分四阶段:(1) 多样性受限地从上一轮已接受任务里选种子;(2) 选 40 个改写算子之一并写出改写计划;(3) 扩展 solve.sh 再重对齐验证器/指令/环境;(4) 先静态过滤、再沙箱 oracle 验证并接受。整个过程依赖 Harbor 沙箱与 Terminus-2 harness,合成器主力是 DeepSeek-V4-Pro。

核心创新在于把终端任务当作「四组件捆绑的可验证单元」进行递归的解先行改写与全组件重对齐。与已有方法最本质的区别有三点:第一,先扩参考解(增加真实可执行工作),再据此更新验证器与指令,从而天然保证四组件一致,而不是先出题再硬凑解;第二,双重接受准则——oracle validity 保证可解、contract validity 保证公平(验证器不藏私货),让合成质量从概率性提升为可校验;第三,通过验证的整个任务包被重用作下一代种子(reseeding),把单代生成变成跨代递归自我改进,这是所比较的全部方法(SETA、BenchEvolver、TRACE、Endless Terminals 等)都没有的。正因为每条接受任务都自带可执行可解性证明,这套任务池既能采 SFT 轨迹,也能直接喂给基于验证器的 PPO,一份数据两种用途。

方法步骤详情

一轮合成分五步。第一步「种子池与多样性上限选择」:639 颗来自 TerminalWorld 的已验证任务作 bootstrap 种子(本身不计轮次),对其应用流程产出 R1 的 2,820 条任务;此后每轮从上一轮已接受池里,在父本谱系、类别、改写家族、生成批次四类上限下选种子。第二步「目标选择与任务契约」:扫描种子文件/工具/依赖/工作流,从 Figure 5 的 5 大族 40 个算子中挑一个,并写改写计划,规定新行为、解的改动、验证器要检查的结果、指令要暴露的信息、以及必须被拒绝的捷径;纯装饰性或塞进私有测试的计划被拒。第三步「改写——先长解再对齐」:扩展 solve.sh(检查文件、调用工具、管理状态、产出制品、校验输出),相应改环境(装依赖、加 fixture、起服务、改权限),更新验证器以检查制品/状态并拒绝占位符,重写指令说明新目标,更新 task.toml。第四步「验证」:静态检查剔除近似重复/缺文件/坏元数据/泄露私测者;通过者进全新沙箱重建环境、跑参考解、跑验证器,可修复失败按受限修复后复验,持久失败丢弃;最终 oracle-passed 且指令-验证器一致才接受。第五步:接受任务同时进入下一代种子池与 RL 任务池,其成功 rollout 留作 SFT 轨迹。

技术新颖性

与已有技术对比,RST 的新颖性体现在五个具体差异。相对 SETA:后者在单代内自适应难度与多样性,但不跨代重用完整任务包,也不显式重对齐四组件;RST 跨 15 代重播种。相对 BenchEvolver:它只修改解再派生编码题与测试,不维护终端环境的 Dockerfile/指令一致性;RST 演化的是完整终端任务包。相对 TRACE:它靠可复现轨迹进化任务,RST 靠解先行的算子改写 + 沙箱 oracle 验证。相对 Endless Terminals/LiteCoder-Terminal:它们是单次环境构造,RST 是递归且接受准则含 contract validity 防私测。相对 RLVE-Gym/ScaleEnv:它们面向数学/算法或工具使用、奖励信号弱;RST 面向终端、每任务自带强验证器、同一池子同时支撑 SFT 与 PPO。此外 Figure 5 的 40 算子 5 大族给出了一套显式的终端能力原语分类,使改写既可控又可追踪谱系。

Recursive task synthesis and agent training in RST
Figure 2: Recursive task synthesis and agent training in RST
Detailed pipeline of one recursive synthesis round
Figure 3: Detailed pipeline of one recursive synthesis round
Conceptual taxonomy of terminal-agent primitives
Figure 5: Conceptual taxonomy of terminal-agent primitives

实验结果

实验从合成质量与训练效用两方面给出扎实证据。规模与成本:639 颗种子经 15 轮合成 37,484 条已验证任务、327,189 条轨迹,每通过任务约 $0.05(约 $50/1000),全程无人工。结构增长(R1→R15 中位数):参考解 67→374 行($5.6\times$)、命令数 40→244($6.1\times$)、CLI 工具 17→71、控制流 6→45、断言 17→57,而指令长度仅 85→122 词($1.4\times$),证明变难的是真实执行量而非提示词膨胀;R15 父子增量在解行数/命令/断言上分别 +22/+18/+3。难度:DeepSeek-V4-Pro $\text{pass@4}$ 从 90% 单调跌到 2.5%(36 倍),平均 partial credit 从 0.970 降到 0.170;失败但 partial credit≥0.75 的占比从 86.4% 暴跌到 1.2%、低于 0.50 的从 0% 升到 97.5%,说明是整体变难。无天花板:每千种子通过产出 498.2–572.2(R15=530 vs R1=551.6)、候选通过率 74.5%–81.5%,15 轮无系统性下滑。多样性:归一化熵 0.821→0.817、有效领域 11.22→11.09、改写家族熵 2.26–2.31 bit(近 $\log_2 5$)、R15 仍用 36/40 个算子、任一种子占比≤0.77%。污染审计:对 TB2/TB Hard/LHTB 的精确 13-token 重叠均为 0,最大 5-gram Jaccard<0.009。SFT(Table 3):Qwen3.5-27B 在 TB2 41.20→47.94、TB Hard 22.67→28.33、LHTB 18.10→22.44;Qwen3.5-122B-A10B 在 TB2 43.82→49.44、TB Hard 20.00→30.00、LHTB 18.85→23.63,随训练轮次单调上升。RL(Table 4):Qwen3.5-27B-RL 达 49.44/32.00/22.07,相对基线 +20.00%/+41.16%/+21.93%,PPO 奖励均值 0.11→0.14、回合数 19–20→30+;DeepSeek-V4-Pro 仍以 51.68/36/30 领先,头部空间犹存。

Comparison of representative task datasets and environment-generation pipelines
Table 1: Comparison of representative task datasets and environment-generation pipelines
Evaluation of Qwen3.5-27B and Qwen3.5-122B-A10B across successive SFT training rounds
Table 3: Evaluation of Qwen3.5-27B and Qwen3.5-122B-A10B across successive SFT training rounds
Benchmark performance of DeepSeek-V4-Pro, Qwen3.5-27B/122B-A10B Base, and Qwen3.5-27B-RL
Table 4: Benchmark performance of DeepSeek-V4-Pro, Qwen3.5-27B/122B-A10B Base, and Qwen3.5-27B-RL
Case study of one exact recursive lineage
Table 5: Case study of one exact recursive lineage
Passed-task yield per 1,000 seed attempts and candidate pass rate across recursive synthesis rounds
Figure 6: Passed-task yield per 1,000 seed attempts and candidate pass rate across recursive synthesis rounds
Domain composition and stability from the 639 bootstrap seeds through recursive synthesis
Figure 4: Domain composition and stability from the 639 bootstrap seeds through recursive synthesis
DeepSeek-V4-Pro pass@4 on task subsets across recursive synthesis rounds
Figure 12: DeepSeek-V4-Pro pass@4 on task subsets across recursive synthesis rounds
查看结构化数据
任务指标本文基线提升
Terminal-Bench 2 (SFT) Pass rate (%) Qwen3.5-27B Round3: 47.94; Qwen3.5-122B-A10B Round3: 49.44 Qwen3.5-27B Base 41.20; Qwen3.5-122B-A10B Base 43.82 +6.74 / +5.62 个百分点
Terminal-Bench Hard (SFT) Pass rate (%) Qwen3.5-27B Round3: 28.33; Qwen3.5-122B-A10B Round3: 30.00 Qwen3.5-27B Base 22.67; Qwen3.5-122B-A10B Base 20.00 +5.66 / +10.00 个百分点
Long-Horizon Terminal Bench (SFT) Mean partial credit (%) Qwen3.5-27B Round3: 22.44; Qwen3.5-122B-A10B Round3: 23.63 Qwen3.5-27B Base 18.10; Qwen3.5-122B-A10B Base 18.85 +4.34 / +4.78 个百分点
Terminal-Bench 2 (RL/PPO) Pass rate (%) Qwen3.5-27B-RL 49.44 Qwen3.5-27B Base 41.20 +8.24 个百分点,相对 +20.00%
Terminal-Bench Hard (RL/PPO) Pass rate (%) Qwen3.5-27B-RL 32.00 Qwen3.5-27B Base 22.67 +9.33 个百分点,相对 +41.16%
Long-Horizon Terminal Bench (RL/PPO) Pass rate (%) Qwen3.5-27B-RL 22.07 Qwen3.5-27B Base 18.10 +3.97 个百分点,相对 +21.93%

局限与改进

作者承认的局限主要有三点:一是轮内最近邻相似度中位数从 R1 的 0.223 升到 R15 的 0.464、p95 达 0.703,存在需要定向去重的高相似尾部;二是 DeepSeek-V4-Pro 在三大基准上(51.68/36.00/30.00)仍明显领先 Qwen3.5-27B-RL,说明性能头部空间很大;三是后期任务父子解的 token 新颖度降到 0.18,说明越来越多继承自父本。我自己还观察到几处:第一,$\text{pass@4}$ 在 R15 跌到 2.5%,意味着后期任务几乎没有成功 rollout,SFT 轨迹和 RL 正奖励信号实际上由前几轮主导,最难的轮次对训练贡献很弱;第二,所有 639 颗 bootstrap 种子都来自 TerminalWorld,领域分布受其偏置影响(尽管作者做了去污染审计);第三,合成器与种子均为单一来源(DeepSeek-V4-Pro + TerminalWorld),其失败模式会沿谱系传播而未被交叉验证;第四,$0.05/任务的成本未计入失败的修复尝试、轨迹采集与 PPO 训练的总开销,完整复现的总资源量可能远高于该数字;第五,去污染审计仅基于 n-gram 文本相似,无法排除语义级泄漏。

独立分析的弱点

第一个弱点是「后期稀疏成功」:$\text{pass@4}$ 跌到 2.5% 意味着 R15 附近任务采到成功 rollout 极少,SFT 数据被前几轮主导、RL 在最难题上几乎拿不到正奖励(梯度近乎为零)。改进方向:引入难度感知的课程采样、用更强的「探索者」模型(如 DeepSeek-V4-Pro)在难题上采轨迹再蒸馏给目标策略,或对难题做 reward shaping 与部分奖励加权。第二个弱点是「单一种子源偏置」:639 颗种子全来自 TerminalWorld,使最终任务分布反映该数据集的领域与风格偏好。改进:引入多源种子(SWE-Bench、真实运维工单、多 OS 环境)并周期性注入外部新种子。第三个弱点是「单一合成器」:仅用 DeepSeek-V4-Pro,其盲区会被谱系放大;可引入多生成器集成或同行评审式交叉校验。第四个弱点是「多样性侵蚀」:最近邻相似度从 0.223 涨到 0.464、解新颖度降到 0.18,提示若扩到 R30+ 可能出现谱系坍缩;改进:新颖度门控的重播种 + 主动去重 + 显式领域再平衡。第五个弱点是「验证器即天花板」:contract validity 防私测很好,但若验证器本身有 bug 或奖励捷径,错误奖励会被放大;改进:跨验证器一致性自审、对偶任务交叉检验。

未来方向

作者明确提出的方向有二:继续向 R15 之后扩展以验证无天花板假设,以及对高相似尾部做定向去重。基于本成果可延伸的方向更丰富:一是把递归合成与难度自适应课程 RL 结合,解决后期稀疏成功问题,真正榨取最难题的训练价值;二是验证更长程(R30+)是否会出现谱系坍缩,给出递归合成的理论边界;三是迁移到非终端智能体域(网页、桌面、多应用),测试「解先行 + 全组件重对齐 + 重播种」范式的通用性;四是在该 37,484 任务池上系统比较 PPO/GRPO/DAPO 等算法,研究智能体 RL 的扩展规律与涌现;五是引入多源、多生成器种子以削弱分布偏置;六是利用这套可控谱系数据做可解释性研究——例如定位模型在哪些算子族(配置/数据/文件系统/构建/运行时)上最易失败。

复现评估

复现评估中等偏难。有利因素:论文承诺 HuggingFace 页面与项目网站,改写算子定义在附录 C、prompt 模板在附录 B、过滤与修复流程在附录 D,并公开了去污染审计方法(13-token 滑窗 + 5-gram Jaccard + unigram JSD),透明度较高。不利因素:整套流程强依赖腾讯的 Harbor 沙箱与 Terminus-2 harness(未必完全开源)、Daytona 沙箱、TerminalWorld 种子,以及 DeepSeek-V4-Pro(合成)与 Qwen3.5-27B/122B-A10B(训练)等大体量或闭源模型;合成单任务 $0.05 虽便宜,但 37,484 任务 + 327,189 轨迹 rollout + 27B 模型 PPO 训练的总体算力与 API 预算对个人或小团队仍相当可观。结论:有充足 GPU 与 API 预算的团队复现少数几轮合成与 SFT 可行;完整复现 15 轮 + RL 训练并达到论文同等基准提升,难度较大,普通读者更适合直接使用其发布的任务/轨迹数据集而非从零重跑流水线。