T1: Terminal Agent Reinforcement Learning for Long-Horizon Tasks
Junyao Yang, Yucheng Shi, Zhongzhi Li, Ruhan Wang, Zongxia Li, Haitao Mi, Leowei Liang
cs.LG, cs.AI
2026-09-10
腾讯混元在 Qwen3.5-122B-A10B 上做终端 Agent 强化学习,奖励按验证器 assertion 通过数计。Terminal-Bench 2.1 从基座 43.8%、监督检查点 49.4% 升到 64.0%,同一套评测 harness 下超过 GPT-5.4。
终端是长程 Agent 里最不留情面的环境。模型要在真实 Linux shell 里下命令,副作用写进文件系统,对错由任务自带的验证器执行判定,没有偏好模型打分。一条任务可能要 bisect 几百个 commit、打补丁、重建、再证明修好了。交互能拉到几百轮。
规模化之后有两处会把更新算错。Qwen3.5-122B-A10B 的专家权重占 116.0B / 121.4B,每层 256 选 8。推理栈和训练栈差一点点数值就会换专家,梯度落到没生成这条轨迹的子网上。多轮 harness 还会在轮边界把历史解码再编码,token 对不上。另一处是奖励:一整批 rollout 要几百沙箱小时,二元 0/1 只回一个 bit。早期用二元奖励在 TMax-15k 上训,基座 43.8% 只到 47.2%,始终没超过监督检查点的 49.4%。
T1 要回答的问题很具体:在真实执行奖励上,122B MoE 的终端 Agent RL 能不能稳定训起来,以及涨分是不是过拟合评测集。
基座 Qwen3.5-122B-A10B,slime 上跑 PPO,推理副本和训练后端分卡。Agent 在云沙箱开真实 shell,训练时单任务最多 300 多轮工具调用。评测用 Harbor 上的 Terminus-2,最多 60 轮。
数据来自递归任务合成 RST。每轮给种子任务加可执行步骤,再对齐环境、验证器和公开指令;参考解必须在新沙箱里真过验证器。T1-15k 从 37484 条合成任务里按八维审计筛出 15000 条,验证器占权重 45%,解 25%,指令 20%,任务价值 10%。硬拒隐藏要求、测试泄漏、捷径解、验证器过弱。验证器按 assertion 逐条回报。训练池与 Terminal-Bench 2.1 完全隔离。
稳定训练拆成两件独立的事。
TITO(token-in, token-out)让训练侧直接吃采样器吐出的 token id,避免「解码再编码」把条件分布换掉。观测和胶水 token 进上下文,不算 loss。轮边界按有限规则缝合。生产 run 审计 1402 条样本,loss 区漂移是 0.0000%。
R3(rollout routing replay)在采样时记下每层专家选择,训练前向强制走同一组专家,softmax 仍用当前 logits,路由还能学。缺路由记录就 abort,不丢样本凑批次。
两件叠在一起,训练-推理 log 概率差从 0.021 降到 0.013。KL 项关掉,因为冻结参考模型自己选专家,会把记账差算到策略头上。MoE load-balancing 系数也置零,平衡压力和重放互相打架。
奖励取 assertion 通过数除以全局固定尺度 S=20,不是通过率。难题过 10/20 得 0.5,简单题过 2/4 得 0.1。S 靠近 T1-15k assertion 数的 90 分位(中位数 4,最大约 35),全程固定,避免 critic 的回归目标每步漂移。分数打在最后响应 token,GAE 用 γ=λ=1 往回传。每任务每步只采 1 条轨迹,没有组内基线,critic 是唯一 baseline。
Critic 是同架构的完整第二份网络,先在 TMax-15k 上预热一整 epoch。冷启动 explained variance 开场 -33.6,58 步里 30 步为负;预热后从第一步就落在 0.71 到 0.86。Critic 学习率 1.5×10⁻⁵,actor 1.0×10⁻⁶。同预算下 GRPO 在 step 10 和 20 都是 51.7%,奖励没有趋势。长程任务上组内全败或全胜时 advantage 直接消失,PPO 用 value 函数买到了 GRPO 要用重复 rollout 才能买的基线。
评测统一 Harbor / Terminus-2,Terminal-Bench 2.1 共 89 题,执行判定。
| 模型 | TB 2.1 | LHTB |
| Qwen3.5-122B 基座 | 43.8% | 18.9 |
| RST-SFT | 49.4% | 23.6 |
| 二元奖励 / TMax-15k | 47.2% | 20.3 |
| 稠密奖励 / RST-38k | 59.9% | 25.4 |
| T1 | 64.0% | 27.9 |
| GPT-5.4(同 harness) | 54.8% | 27.2 |
| Claude Opus 4.6 | 63.8% | – |
| Claude Opus 4.7 | 66.1% | – |
基座到终稿涨 20.2 个百分点,SFT 贡献 5.6,RL 再加 14.6,约占全程的四分之三。同 harness 下超过 GPT-5.4 和 DeepSeek-V4-Flash 的 56.9%,距 Opus 4.7 差 2.1 点,激活参数只有 10B。换 Codex CLI,GPT-5.4 能到 77.3%,跨 harness 不能直接比。论文也写明:T1 就是为这个 harness 做的 RL,frontier 模型没有。
Long-Horizon Terminal Bench 报平均奖励。T1 27.9,对齐 Gemini-3.1-Pro,高于 GPT-5.4 的 27.2 和 GLM-5.1 的 26.7。Claude Sonnet 4.6 在 TB 2.1 低于 T1,LHTB 却到 37.3,长程榜不能从短程排序推断。Terminal-Bench Hard:T1 38.0%,SFT 28.3%,基座 20.0%,高于 DeepSeek-V4-Pro 的 36.0%。
调试 5 题 100.0%,系统管理 9 题 88.9%,对照 GPT-5.6 Sol 分别是 80.0% 和 55.6%。子集很小,只说明专项强,不构成总排名。Easy 三档都是 100%。Medium 78 / 58 / 56%。Hard 33 / 30 / 20%,RL 相对 SFT 几乎只在 Medium 上拉开。评测平均轮次 T1 94.4,SFT 31.5,基座 41.1。六个解不出的题 T1 花 164 到 473 轮后超时,对照 6 到 40 轮就停。训练中轮次从 10.4 涨到约 20.9 后平台,没有无限变长。
这是一份长程 MoE Agent RL 的工程配方。TITO 和 R3 把稀疏模型多轮 RL 里最脏的两处记账错误钉死;稠密执行奖励让「没做完但做对了一部分」的轨迹变得可学;critic 预热让 PPO 第一步就有可用的 advantage。对要在真实环境里训 Agent 的人,这三件比 64.0% 这个数字更有用。
专项边界也很清楚。T1-15k 里前五类(脚本、开发、运维、环境、版本控制)占 67.9%,数据科学 3.7%、调试 1.3%、性能 1.0%。评测上文件操作、科学计算、数学仍落后。它是终端 Agent 的 post-train,不是通用编码模型。
论文自己列了一批。TITO 只保证 loss 区精确,审计 run 里 2.6% 的 token 处后续轮仍在用 harness 重编码后的历史做条件。二元和稠密奖励没有单变量消融,两次 campaign 同时换了奖励、数据池、初始化和 routing replay。验证器跑在 Agent 可控的沙箱里,没有运行时防篡改,目前只靠审计筛任务。oversampling 丢掉最慢的长尾,评测失败正好堆在这类题上。数据分布偏命令行。
评测设置也不对称。相对 GPT-5.6 Sol 的失败对照里,T1 输入 56k 对 120k,输出 8192 对 32768,还关掉了显式思考。64.0% 是在自己的 harness 上训出来的。这不是榜上造假,跨模型排序要打折。