3K 条轨迹打赢 32 万条:TerminalHorizon 教你什么才是"长程"终端数据
做终端智能体训练的朋友,大概率都踩过这个坑:环境合成流水线跑得很欢,任务数量蹭蹭涨,可训出来的模型碰到真正要熬几个小时的活儿还是歇菜。问题出在哪?最近这篇 TerminalHorizon(arXiv: 2610.13166)给了我一个挺扎心的答案——你合成的环境里,核心工作可能早就被"顺手"做完了。智能体进去一看,分析有人替它做了,代码有人替它写了,剩下的活儿就是改个常量。这种轨迹,再长也是假长。
核心摘要:这篇论文提出 TerminalHorizon,一个全自动的长程终端任务数据合成引擎。它的核心思路很朴素:先让一个没参与构建的独立智能体去"挑战"刚合成的任务,从执行轨迹里找出那些被提前完成或简化的关键工作,再针对性重建环境把活儿"还"给智能体;然后在同一目标下逐级扩展任务,让新增需求必须依赖前面的中间结果。最终只合成 1,535 个环境、2,852 条轨迹(平均 52.8 轮交互),SFT 出来的 TerminalHorizon-27B 在 Terminal-Bench 2.1 上从 46.82 分干到 60.67 分,涨了 13.85 个点,用不到别人十分之一的数据量反超同基座、同 harness 的 Terminal-Universe-27B。我的判断:这不是又一条"暴力堆数据"的流水线,而是少有的认真回答"长程数据到底长在哪"的工作,值得细读。
论文信息
- 标题:Scaling Agentic Data for Long-Horizon Terminal Intelligence
- 链接:https://arxiv.org/abs/2610.13166
- 作者:Shun Zou、Ziyu Ma、Yi Zou(共同一作)、Yong Wang(项目负责人)、Lin Chen、Zehui Chen、Guanhua Chen、Xiangxiang Chu、Feng Zhao
- 机构:中国科学技术大学、阿里高德(AMAP)、南方科技大学
- 提交日期:2026 年 10 月 9 日
🎯 问题动机:短轨迹教不会的东西
先想清楚一件事:终端智能体要完成的真实专业任务,和"跑几条命令"完全是两个物种。
短轨迹能教会模型 ls、grep、调工具,但它展示不了这些能力——智能体如何通过探索一点点积累证据、用证据支撑判断、根据反馈持续修正策略、把中间结果攒成最终交付物。这些"智能体行为模式"(agentic behavioral patterns)在长程任务里是横跨多个阶段、甚至贯穿整条轨迹的。

图1:左边是大量短轨迹——ls -a、cat README、grep TODO,智能体学会了用 CLI,但面对"建一个能跑的在线商店"这种任务卡时一脸懵:从哪开始?各部分怎么拼起来?右边是少量长程轨迹——追踪依赖、测试假设、修订计划、测量调优、交叉验证,一条完整的自主解题过程。
作者把问题拆成两个挑战,我觉得这个拆解是全文最清醒的地方:
挑战一:任务复杂不等于行为模式会出现。 一个任务名义上要求"调查问题、开发方案、验证结果",但环境里附带的材料可能已经把问题解了一半。智能体直接跳过探索和实施,你想诱发的行为模式根本没机会长出来。
挑战二:行为模式出现了,也不等于它们能跨阶段展开。 任务更难、轮次更多,不代表模式会延伸。关键在于新需求必须超出原始方案的能力边界,同时保持在同一目标下,并且新增的工作要建立在之前的判断、动作和结果之上。
说实话,第一个挑战我自己在做数据合成时就隐约感觉到了,但没像他们这样把它明确定义出来——"环境构建过程中被提前完成的核心工作",这个说法直击要害。
🏗️ 方法:两阶段合成引擎
TerminalHorizon 的流水线分两个阶段,我逐个拆。

图2:左边是 Challenge-Guided Long-Horizon Synthesis——Planner Agent 从任务档案和反馈里识别覆盖缺口,批量产出 research briefs;Deep Research Agent 调研真实世界需求、专业记录、开放问题和依赖关系,产出 task seed(指令草稿+研究证据);Construction Agent 构建 instruction.md、environment/、solution/、tests/、task.toml 五件套;Independent Challenger 只拿公开信息去挑战;Horizon Gap Analysis 对比"预期工作"和"实际执行",找出核心工作在哪丢失,指导重建再挑战——这是内循环。外循环把执行反馈回灌给 Planner 规划下一批。右边是 Progressive Horizon Expansion——Evolution Agent 沿四个方向扩展(拓宽角色、深化机制、丰富证据、升级方法),用三种交互依赖设计(探索判断、动作反馈、实例变化适配)把新工作和已有进度绑在一起,任务从 T⁰ 一路演化到 T²。
任务形式化
每个任务包是五元组 \(T = (I, E, S, V, M)\):公开指令 \(I\)、可执行环境 \(E\)、参考解 \(S\)、私有验证器 \(V\)、执行配置 \(M\)。智能体执行时只能看到公开部分 \(\mathcal{P}(T) = (I, E)\)。
有一条约束我觉得设计得很讲究:
左边是验证器检查的完成条件,右边是指令和环境中可发现证据所支持的条件。翻译成人话:评分不能考智能体根本发现不了的东西。测试数据可以私有,但评分标准不能超出公开契约。做可验证环境的人都知道,这条约束挡住了多少"验证器偷偷看答案"的脏活儿。
第一阶段:挑战引导的长程合成
这阶段的核心是那个"Independent Challenger"——一个完全没参与构建的智能体,拿不到研究记录、蓝图、参考解和私有测试,只能凭公开指令和环境去硬解:
跑完一条轨迹 \(\tau_r\) 后,验证器打分 \(\rho_r = V_r(s_{H_r})\),然后做综合诊断 \(d_r = \mathcal{A}_{\mathrm{syn}}(T_r, \tau_r, \rho_r)\),记录运行时缺陷、信息泄漏、评分不一致、以及预期工作是否被保留。
接着是 Horizon Gap Analysis——把 seed 里规定的工作和实际轨迹对比,追溯被省略的工作到底丢在哪:是初始材料给多了?对象关系暴露了?还是工具行为太贴心?举个论文里的例子:任务要求实现一个核心函数,结果环境里已经提供了,剩下的活儿退化成了改一个常量。重建就是把实现和调试这个函数的必要性还回来,同时保留公开规格。
有个细节值得注意:诊断时会区分"高效地完成了该做的工作"和"工作在构建期就被做完了"——前者是好的,后者才是要修的。这个区分很细,说明作者真被误伤过。
外层还有个批次级循环:Planner Agent 根据已接受任务集 \(\mathcal{D}_b\) 和累积记录 \(\mathcal{F}_b\) 产出下一批研究简报 \(\mathcal{Q}_b = \operatorname{Plan}(\mathcal{D}_b, \mathcal{F}_b; n_b)\),执行中发现的缺口既指导当前任务重建,也回灌给未来的研究方向。
第二阶段:渐进式视野扩展
一个能解的任务不是终点,而是深挖的起点。Evolution Agent 对已接受的任务 \(T^{(g)}\) 提扩展提案 \(\delta^{(g)}\),四个方向:
| 扩展方向 | 干什么 |
|---|---|
| 拓宽角色 | 用已有产物和状态支撑相关职责 |
| 深化机制 | 把之前简化的关系、依赖、不确定性变成工作本身 |
| 丰富证据 | 加入更多记录、观测和专业材料,支撑跨源分析 |
| 升级方法 | 要求对原方案做实质扩展或重新设计 |
光有加料还不够,关键是让新工作依赖旧进度。三种交互依赖设计:探索与判断(后续决策依赖公开查询和观测到的证据)、动作与反馈(工具/系统的可观测效果把早期操作和后续诊断修正串起来)、实例变化与适配(固定公开规格下对象和状态随运行变化,逼着智能体检查当前实例再动手)。
我的第一反应是:这个"扩展必须在同一目标下、且依赖先前结果"的约束,其实是和市面上"递归加难度"做法拉开差距的地方。难度叠加容易,依赖关系难造。
📊 数据长什么样
用这套引擎,作者生成了 1,535 个任务环境包,用 DeepSeek-V4-Pro-0813 当老师模型、Terminus2 当执行 harness,每个任务采两条轨迹,经三道过滤(轨迹有效性、环境支撑的进步、多轮训练价值)后保留 2,852 条,构成 TerminalHorizon-3K。训练前还做了严格的基准去污染。

图3:(a) 领域覆盖——25 个专业领域,从芯片、物理、天文到金融、护理、地理空间,把真实工作统一塞进终端交互格式;(b) 任务材料丰富度——初始文件数 P50 为 8、均值 87.5(长尾拉得很高),不同文件类型 P50 为 4;(c) 交互视野——交互轮次 P50 为 40、均值 52.8、P90 为 98,反馈链长度中位数 25 轮、均值 31.3;(d) 行为模式多样性——27 种行为模式分五大家族(信息探索与判断、诊断与纠错、构建与工作推进、验证与保障、策略与执行协调),每条轨迹平均含 8.6 个核心模式,P90 达 11 个。
几个数字值得停一下。平均 52.8 轮交互、P90 到 98 轮——作为对比,论文 Figure 4 显示其他开源合成方法在相同老师协议下明显更短。反馈链中位数 25 轮意味着"动作—环境反馈—下一个动作"的链条能持续五十步以上不中断,这才是长程训练真正要的信号。
8.6 个核心行为模式/轨迹这个数也挺能说明问题:轨迹里不只是命令执行,而是探索、诊断、构建、纠错、验证交织在一起。
🧪 实验:3K 条轨迹的含金量
训练配置:Qwen3.5-27B 基座,SFT 3 个 epoch,最大序列长度 262,144 token,fused AdamW,学习率 \(1 \times 10^{-5}\),5% warmup 后 cosine 衰减,BF16 + DeepSpeed ZeRO-3,144 张 H20-141GB(18 节点)。
Terminal-Bench 主表
| 模型 | 基座 | 轨迹量 | TB 1.0 | TB 2.0 |
|---|---|---|---|---|
| TerminalTraj-14B | Qwen2.5-Coder-14B | 50.7k | 28.9 | 19.1 |
| SkillSynth-32B | Qwen3-32B | 10.7k | 33.8 | 29.6 |
| LiberCoder-235B | Qwen3-235B-A22B | 48.3k | 46.1 | 31.0 |
| CLI-Universe-32B | Qwen3-32B | 6k | 38.8 | 33.4 |
| RST-27B | Qwen3.5-27B | 327.2k | – | 49.4 |
| Terminal-Universe-27B | Qwen3.5-27B | 32.0k | – | 52.8 |
| Qwen3.5-27B (base) | – | – | 46.3 | 41.6 |
| TerminalHorizon-27B | Qwen3.5-27B | 3k | 55.0 | 55.8 |
这张表最扎眼的是数据效率:Terminal-Universe-27B 用同样的基座和 harness、32k 条轨迹做到 TB 2.0 的 52.8 分;TerminalHorizon 只用 2,852 条——不到十分之一——就做到 55.8 分。RST-27B 更是用了 32.7 万条,49.4 分。信息密度这个词在这里不是修辞。
12 个基准全绿
| 基准 | Qwen3.5-27B | TerminalHorizon-27B |
|---|---|---|
| Terminal-Bench 2.1 | 46.82 | 60.67(涨 13.85 个点) |
| AutomationBench (Pass Rate) | 5.5 | 17.2(涨 11.7 个点) |
| AutomationBench (Partial) | 26.4 | 49.7(涨 23.3 个点) |
| τ²-bench Airline | 79.0 | 84.5(+5.5) |
| τ²-bench Retail | 84.9 | 87.5(+2.6) |
| VitaBench Cross-domain | 20.5 | 31.8(涨 11.3 个点) |
| MATH-500 | 96.9 | 98.9(+2.0) |
| GSM8K | 96.3 | 97.3(+1.0) |
| AIME 2024 | 93.3 | 96.7(+3.4) |
| AIME 2025 | 86.7 | 93.3(+6.6) |
| KOR-Bench (Cipher) | 90.1 | 91.2(+1.1) |
几个观察。AutomationBench Partial 涨 23.3 个点是全场最大增幅——真实生产力任务恰好最吃"持续推进+部分交付"的能力,和长程轨迹的训练信号对得上。通用推理不但没掉,还普遍小涨,AIME 2025 从 86.7 到 93.3。说实话看到这组数我愣了一下:终端轨迹训练反哺数学推理,合理的解释是长程任务里的"假设—验证—修正"循环和数学推理的探索结构是相通的。τ²-bench 提升相对小(+5.5/+2.6),基线本身已经 79/84.9 了,天花板效应,可以理解。
消融与扩展性
老师模型对比(100 个任务采样):GLM-5.2 平均 46.1 轮、反馈链 19.2、重复动作率 15.8%、通过率 44.0%;DeepSeek-V4-Pro 平均 53.5 轮、反馈链 30.3、重复率 13.2%、通过率 50.0%。任务本身对两个老师都能诱发长轨迹,说明环境设计不挑老师;DeepSeek 反馈链更长、重复更少,所以选它。
模型尺寸:同一套数据 SFT 到 Qwen3.5-35B-A3B 和 Qwen3.5-122B-A10B 上,TB 2.1 分别涨 13.11 和 14.98 个点——训练价值不绑定单一基座。
数据 scaling:

图6:从 0(基座 46.82)到 1,000 条(57.30)、2,000 条(58.43)、2,852 条全集(60.67),曲线还在往上走,没有饱和迹象。
前 1,000 条就吃下了大部分收益(46.82 → 57.30,涨 10.48 个点),之后边际递减但未饱和。作者暗示继续扩数据还有空间——这个我信,但也好奇成本曲线长什么样,论文没细说单条轨迹的合成开销。
RSI 案例:12 小时预算下的差距
这部分是我个人觉得全文最有说服力的实验。RSI-Exam 的设定是给模型 12 小时自主研究预算,看它能不能在找到初始解之后继续改进、并把有效改进保留到最终交付。

图7:左边是优化曲线——Qwen3.5-27B 基座在 12.1 分钟就自我感觉良好地停了("Excellent results! The solver is ready for submission."),自设计代理指标 F-score 48.04;TerminalHorizon-27B 持续实验 12 小时,经历对齐融合、全局精炼、置信度过滤等阶段,提交时 F-score 77.68。隐藏奖励从 0.2193 提升到 0.4896(多拿 0.2703 分,相对高 27.03%)。右边是四个场景的重建可视化对比,TerminalHorizon 的 F-score 全面碾压(88.12 vs 53.62、70.83 vs 40.34、80.55 vs 51.92、68.79 vs 36.69)。
这个案例漂亮在哪?基座模型不是不能干活——它 12 分钟就搞出了个高分方案,问题是它被自己设计的代理指标骗了:单参考视角的一致性高,不等于完整场景重建得好,其他视角才能看到的表面全丢了。TerminalHorizon-27B 则主动怀疑自己的度量,引入 leave-one-view-out 诊断暴露覆盖不足,再去改跨视角对齐和全局精炼。
等等,这不就是"会考试"和"会做事"的区别吗。训练数据里那些"验证—发现代理指标失真—修正方法"的行为模式,在这里直接变成了可交付的差距。
🤔 我的判断
这篇论文最值钱的地方,是把"长程数据"从长度重新定义为结构。轮次多是表象,真正的信号是行为模式跨阶段的连接:发现支撑决策、反馈驱动修正、中间结果沉淀为交付。挑战—重建内循环解决"活儿还在不在",渐进扩展解决"活儿能不能串起来"——两个机制对着两个真实痛点,不是为创新而创新。
也得泼点冷水。其一,整条流水线重度依赖强模型当老师(DeepSeek-V4-Pro)和评审(诊断、Gap Analysis、演化提案都是 agent 驱动),合成成本和质量天花板都绑在老师能力上,论文没有给出成本核算。其二,2,852 条轨迹的规模还小,scaling 曲线漂亮但只有四个点,"未饱和"的结论下得略早。其三,RSI 案例是 case study 而非大规模量化评估,+27.03% 是单个案例的隐藏分,说服力靠直觉多于统计。其四,27 种行为模式的分类体系是人工定义的,是否完备、是否正交,留给读者自己判断。
但瑕不掩瑜。对做 agent 数据的同学,有几个可直接抄的思路:
- 独立挑战者机制——构建者和执行者必须隔离,否则"环境替智能体干活"的泄漏几乎必然发生;
- 验证器公开契约约束——评分条件不许超出指令+可发现证据的语义范围;
- 扩展要造依赖——新需求必须挂在先前结果上,而不是平行堆难度;
- 数据密度的胜利——3K 条精心构造的长轨迹打赢 327K 条普通轨迹,在算力受限时这条路性价比极高。
更本质的问题其实还悬着:当基座模型强到一定程度,它能自己识破"被简化过的环境"并主动给自己加戏吗?到那天,挑战引导重建可能要从"修环境"变成"修模型对环境的利用方式"。这篇论文没回答,但它把问题推到门口了。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我