← 返回 2026-06-23

Tmax:终端智能体的简单配方 Tmax: A simple recipe for terminal agents

Hamish Ivison, Junjie Oscar Yin, Rulin Shao, Teng Xiao, Nathan Lambert, Hannaneh Hajishirzi 📅 2026-06-22 👍 14 2026-07-13 08:37
强化学习 数据生成 智能体训练 终端智能体

提出大规模RL数据集和简单配方训练强终端智能体

前置知识

Terminal Agent

终端智能体是一种能够通过命令行接口与系统交互并执行自动化任务的AI系统。它能够理解自然语言指令,将其转换为具体的bash命令序列,通过shell与操作系统交互,完成包括文件操作、系统管理、代码开发、安全分析等各种任务。现代终端智能体通常使用语言模型作为核心,配备专门的工具接口来执行命令和读取输出

这是论文研究的核心对象,理解其工作原理、数据需求和训练方法是理解整篇论文贡献的基础

DPPO (Divergence Proximal Policy Optimization)

DPPO是一种改进的强化学习算法,是GRPO(Group Relative Policy Optimization)的变体。它通过mask推理和训练logprobs差异较大的token来控制策略更新的幅度,具体使用总变异(Total Variation, TV)散度的二元近似作为mask标准。当新旧策略在某个token上的logprob差异超过阈值时,该token会被mask,从而减少训练不稳定性

论文使用DPPO而非GRPO来解决长序列终端任务中的训练崩溃问题,这是保证训练稳定的关键技术选择

RL在语言模型中的应用

强化学习在语言模型中的应用通常指在预训练后的模型上使用RL进行微调,通过奖励信号优化模型输出。在智能体场景中,模型通过与环境交互产生轨迹,根据任务完成情况获得奖励(通常是0或1),然后使用策略梯度方法更新模型参数。关键挑战包括训练稳定性、长序列credit assignment和exploration-exploitation平衡

论文的核心贡献之一就是提供了一个可行的RL训练配方来训练终端智能体,理解RL的基本概念和方法是评估这一贡献的前提

研究动机

现有终端智能体训练方法面临三大核心挑战,导致学术研究落后于工业实践。首先是数据稀缺和质量问题:真实世界终端数据稀缺且常为专有数据,合成数据生成复杂难扩展,现有数据集要么过于简单(如Endless Terminals上Gemini-3-Flash达到90%+通过率),要么过度集中于单一领域(如SWE-Smith 95%集中于软件工程,SWE相关数据集只代表终端任务的一个子集)。其次是难度控制缺失:现有生成管道产生双峰分布的任务池,要么对当前模型微不足道,要么无法解决,缺乏细粒度的难度调节机制。第三是RL训练探索不足:虽然有多个数据生成工作,但大多只使用数据进行SFT训练,少数进行RL训练的工作(如Endless Terminals)提升有限(约1分),且未发布可复现的设置,训练稳定性问题也未被系统研究

本文的目标是本文的具体目标是提供一套完整的、开源的终端智能体RL训练方案,包括:(1)构建一个大规模、多样化、难度可控的终端任务数据集,覆盖多个领域和技能类型;(2)开发简单有效的RL训练配方,在Terminal-Bench等评测基准上取得竞争力的性能;(3)证明RL训练不仅能在训练任务上提升性能,还能泛化到其他任务、harness和模型家族,表明学到了真正的能力而非特定的harness行为;(4)为学术界提供强基线和可复现的实验设置,推动终端智能体研究的发展

与已有工作不同的是,与现有工作相比,本文抓住了三个被忽视的关键点。第一,大多数现有工作专注于SFT训练,而本文专注于RL训练的探索,填补了终端智能体RL训练方法的空白。第二,现有数据生成工作要么基于仓库(导致领域偏置),要么规模太小(如Endless Terminals 2.4k,OpenThinker-Agent 0.7k),本文通过组合式生成框架构建了14,600个任务的数据集,是第二大公开终端数据集的2.5倍以上,且在9个领域上均匀分布。第三,现有RL训练工作缺乏系统性的稳定性分析,未解决长序列多轮对话场景中的训练崩溃问题,本文系统分析了训练不稳定的来源,并提出DPPO、FP32 LM head、大group size等缓解措施

核心方法

本文方法由两部分组成:数据生成和模型训练。数据生成采用组合式采样框架,每个终端任务从9个正交的结构化轴采样配置,包括领域、技能类型、人设、语言、任务复杂度、命令复杂度、fixture类型和验证器类型。使用强大的生成模型(Gemini-3-Pro)根据采样配置生成Dockerfile、单元测试验证器、源文件和任务说明,构建在预构建的领域基础镜像上。模型训练使用DPPO算法进行强化学习,采用FP32 LM head减少训练-推理不匹配,使用大group size(32)提高稳定性。整个pipeline设计简单但有效,避免了昂贵的教师模型验证步骤,通过RL基础设施的软过滤自动淘汰无贡献样本

核心创新在于三个层面的设计。在数据层面,提出组合式任务生成框架:9个正交维度的组合产生指数级多样化的任务签名,实现了细粒度的难度控制(通过任务复杂度和命令复杂度轴)和多样性保证(通过人设、语言、fixture等轴)。与现有工作依赖的昂贵教师验证不同,本文采用软过滤机制:RL基础设施自动过滤所有rollout得分为0的样本,因为这些样本不贡献梯度,实践中发现全零率很低(每批次<8个样本),使得pipeline既便宜又可扩展。在训练层面,系统解决了终端智能体RL训练的稳定性问题:DPPO通过mask推理和训练logprobs差异较大的token来限制策略更新幅度,FP32 LM head减少Qwen 3.5等模型的训练-推理数值不匹配(最大logprob差异从约4.5降到约2.0),大group size(32)提供更稳定的梯度估计。这三个层面的创新共同构成了一个简单但有效的RL训练配方

方法步骤详情

数据生成阶段:首先从9个结构化轴(领域、技能类型、原始技能、人设、语言、任务复杂度、命令复杂度、fixture、验证器)采样任务配置。领域和技能类型的种子来自Pi et al. (2026)的技能分类法,其余六个轴是本文引入以控制多样性和难度。然后使用Gemini-3-Pro作为生成模型,根据采样配置生成:(1)Dockerfile:定义任务环境和依赖;(2)验证器:单元测试或自定义验证逻辑,支持多种验证类型(精确文本匹配、指标阈值、对抗语料库、模糊等价性、多协议);(3)源文件:任务相关的代码、配置或数据文件;(4)任务说明:自然语言描述的任务目标。任务构建在预构建的领域基础镜像上,通过mini-SWE-agent harness提供服务,使用持久shell进行交互。SFT数据生成阶段:使用相同的数据生成pipeline生成2.2k环境,用Qwen 3.6 27B为每个环境生成8条轨迹,过滤掉包含未解析工具调用的轨迹,得到16.5K SFT轨迹,其中8K成功轨迹用于SFT warm-start。RL训练阶段:使用Qwen 3.5 9B作为基础模型,采用DPPO算法进行500步训练(SWE-Smith只训练100步因为解决率太高),group size为32,每batch 8个prompts,最大序列长度65536 tokens,最大工具调用64次,学习率1×10^-6,AdamW优化器。使用vLLM进行rollouts,Podman或Apptainer管理sandbox。每100步在Terminal-Bench Lite上评估选择最佳checkpoint。评估阶段:在Terminal-Bench 2.0、Terminal-Bench Lite、SWE-Bench Verified和AIME上评估,使用Daytona作为sandbox后端,vLLM作为推理后端,每个prompt运行5次rollouts(论文中主要结果为3次)

技术新颖性

与现有技术相比,本文有三个本质区别。在数据生成方面,现有工作要么从现有仓库适配任务(如SWE-Bench系列、TerminalTraj),导致领域偏置和任务类型限制,要么使用简单的分类法+种子任务生成(如Endless Terminals、TermiGen),但规模小且不控制难度。本文首次将组合式采样框架应用于终端任务生成,通过9个正交轴的组合实现难度和多样性的显式控制,规模达到14,600个任务,是第二大公开数据集的2.5倍以上,且在9个领域上均匀分布(balance score 0.998)。在验证策略方面,现有工作依赖昂贵的教师模型验证来确保任务质量和正确性(如Zhu et al., 2026; Wu et al., 2026),本文采用软过滤机制,通过RL基础设施自动淘汰无贡献样本,避免了验证步骤,显著降低了生成成本。在训练稳定性方面,现有RL训练工作(如Endless Terminals)报告了训练困难但未系统分析,本文系统分析了长序列多轮对话场景中的训练崩溃问题,发现Qwen 3.5的数值不匹配和多轮性质加剧了不稳定性,并提出DPPO+FP32 LM head+大group size的组合来缓解,使得500步的训练成为可能

TMAX Data Pipeline
Figure 2: TMAX Data Pipeline
Using DPPO limits training collapse
Figure 7: Using DPPO limits training collapse
Using a larger group size improves stability
Figure 8: Using a larger group size improves stability

实验结果

TMAX-15K数据集在多个维度上优于现有数据集。在难度方面,使用Gemini-3-Flash-Preview在250个任务子集上评估(8次rollouts),TMAX的pass@1为42%,pass@4为50%,pass@8为53%,是所有数据集中pass@8最低的(53% vs. 55-95%),表明任务难度持续存在,不会因为多次尝试而饱和。在平衡性方面,TMAX在9个领域上的分布最均匀(domain balance 0.998),而现有数据集过度集中于1-2个领域(如SWE-Smith软件工程占95%,TerminalTraj软件工程占61%,CLI-Gym数据查询占65%)。训练效果方面,在TMAX-15K上训练的TMAX-9B在Terminal-Bench Lite上达到57.2±2.5%,在Terminal-Bench 2.1上达到28.8±1.4%,显著优于在其他数据集上训练的模型(Terminal-Bench Lite:TermiGen 49.4±1.5%,Endless Terminals 52.6±1.4%,OpenThinker-Agent 53.0±0.7%,TerminalTraj 45.8±2.7%,CLI-Gym 50.7±5.9%,SWE-Smith 47.2±2.2%)。在Terminal-Bench 2.0上,TMAX-9B达到27.2%,是10B以下参数模型中最好的,优于32B的先前工作(Nemotron-Terminal 32B 27.4%,TerminalTraj 32B 22.0%)。训练动态分析显示,模型在训练过程中逐渐学会更复杂的推理:平均步数从约30步增加到约50步,平均助手轮次长度从约300 tokens增长到约450 tokens,平均工具调用长度从约150 tokens增长到约250 tokens,表明模型进行了更多的推理和更复杂的工具使用。泛化能力方面,TMAX-9B在不同harness上都有9+分的提升(Ours: 57.2±2.5% → OpenHands: 46.9±3.7%,mini-SWE-agent: 55.3±4.5%,Terminus-2: 45.3±2.4%),表明学到的能力不是特定于训练harness的。在SWE-Bench Verified上从44.0±2.0%提升到53.5±0.6%,在AIME上从73.3±2.7%提升到91.1±1.6%,表明RL训练提升了模型的通用终端使用能力。在不同模型大小上,TMAX配方都带来提升:TMAX-2B(11.8±1.4% vs. 5.7±1.6%),TMAX-4B(42.6±1.5% vs. 31.8±3.8%),TMAX-27B(68.6±4.7% vs. 70.8±2.1%,提升较小可能因为基础模型已经经过大量训练)。在不同模型家族上,Qwen 3 8B在SFT后达到11.5±0.1%(TB Lite)和6.0±1.4%(TB 2.1),在RL后达到17.7±1.9%(TB Lite)和5.2±2.3%(TB 2.1),表明配方可以迁移到其他模型家族

Terminal datasets and difficulty-related statistics with Gemini-3-Flash-Preview
Table 1: Terminal datasets and difficulty-related statistics with Gemini-3-Flash-Preview
Training on TMAX-15K results in strongest Terminal-Bench performance
Table 2: Training on TMAX-15K results in strongest Terminal-Bench performance
Improved performance generalizes across harnesses
Table 5: Improved performance generalizes across harnesses
Improved performance generalizes across tasks
Table 4: Improved performance generalizes across tasks
Terminal-Bench 2.0 results
Table 16: Terminal-Bench 2.0 results
Performance of TMAX models compared to prior work with open data and selected closed and open-weight models on Terminal-Bench 2.0
Figure 1: Performance of TMAX models compared to prior work with open data and selected closed and open-weight models on Terminal-Bench 2.0
Average step count over RL training when training Qwen 3.5 on different datasets
Figure 5: Average step count over RL training when training Qwen 3.5 on different datasets
Average length (in tokens) of assistant turns and tool calls
Figure 6: Average length (in tokens) of assistant turns and tool calls
查看结构化数据
任务指标本文基线提升
Terminal-Bench 2.0 Pass@1 27.2% (TMAX-9B) 13.0% (Nemotron-Terminal 8B) +14.2%
Terminal-Bench 2.0 Pass@1 27.2% (TMAX-9B) 6.7% (EndlessTerminals 8B) +20.5%
Terminal-Bench Lite Pass@1 57.2% (TMAX-9B) 41.9% (Qwen 3.5 9B) +15.3%
Terminal-Bench Lite Pass@1 57.2% (TMAX-9B) 53.0% (OpenThinker-Agent) +4.2%
SWE-Bench Verified Resolved 53.5% 44.0% +9.5%
AIME 2024/25 Pass@1 91.1% 73.3% +17.8%

局限与改进

作者承认的局限性包括三个方面。首先是数据生成的依赖性:数据生成管道完全依赖强大的生成模型(Gemini-3-Pro),不清楚这个管道能否用于构建让模型超越生成模型的数据,而不仅仅是匹配生成模型。其次是训练不稳定性问题:尽管提出了DPPO、FP32 LM head、大group size等措施,训练仍然不稳定,强烈性能可能部分来自于促进稳定性的特征而非增加的多样性和难度,如果训练更稳定、时间更长,发现可能会有所变化。第三是资源限制:虽然专注于训练较小的终端智能体作为学术环境中的基线,但运行大量隔离容器在开源框架中仍然昂贵且困难,限制了训练速度和效率,可能将终端智能体训练置于学术群体的能力之外。作者还提到结果可能低于可能的SOTA,因为使用了相对较短的最大序列长度65536和简单的harness,相比于强大的工业方法。此外,作者观察到了一些reward hacking行为,包括替换测试文件中的过滤器、创建伪造的Caffe二进制文件、创建伪造的POV-Ray包装器等,但发现这些行为的rollout得分为0,不影响下游性能,且模型的思维链显示并非试图欺骗验证器,而是试图简化任务到更可管理的形式

独立分析的弱点

从独立分析的角度,本文存在几个可改进的弱点。首先是数据生成模型单一性:数据生成完全依赖Gemini-3-Pro这一个模型,如果该模型存在系统性偏差(如对某些领域或技能类型的理解偏差),数据集可能继承这些偏差,进而影响训练模型。改进方向是使用多个生成模型的集成来减少单一模型的偏差,或者使用不同的生成模型生成不同领域的任务。其次是跨harness泛化的边界问题:虽然论文展示了跨harness的泛化能力,但最佳性能仍在训练harness上(57.2% vs. 46.9-55.3%),可能存在一定程度的harness overfitting。改进方向是系统研究harness泛化的边界,探索在训练中使用harness augmentation或harness-agnostic training。第三是RL训练的稳定性问题:虽然提出了缓解措施,训练仍然在300步后容易出现崩溃,限制了进一步训练的可能性。改进方向包括研究更稳定的RL算法(如添加适当的KL penalty虽然会降低最终奖励)、探索curriculum learning、改进训练-推理的对齐。第四是评估基准的局限性:评估主要集中在Terminal-Bench(Lite和2.0/2.1版本),缺乏在其他终端基准上的广泛评估,如SWE-Bench(虽然做了但不是主要)、其他自主代理基准等。改进方向是在更多样的基准上评估,包括不同领域和任务类型的终端基准。第五是缺乏消融实验:虽然展示了DPPO vs GRPO、不同group size的对比,但缺乏对数据生成各个组件的消融(如不同轴的影响、不同验证器类型的影响、不同fixture的影响等)。改进方向是进行系统性的消融实验,理解每个组件的贡献

未来方向

作者提出的未来工作方向包括三个。首先,进一步研究训练-推理不匹配问题,特别是为什么Qwen 3.5需要FP32 LM head而Qwen 3不需要,以及是否有更系统的方法来处理不同模型的数值特性。其次,改进训练设置以支持更长的训练运行,包括解决训练不稳定性和基础设施瓶颈问题(如sandbox管理的资源争用),探索更高效的容器编排方案。第三,探索更好的SFT混合配方,虽然论文发现现有SFT数据集会降低Qwen 3.5的性能,可能是因为使用了弱教师模型(如DeepSeek v3.2),但研究更好的SFT混合仍有价值。基于论文成果可延伸的未来方向包括五个。第一,将组合式生成框架应用于其他智能体领域,如web agents、database agents等,探索类似的难度控制和多样性保证方法。第二,研究多模态fixture的更充分利用,虽然论文引入了图像、音频、视频、二进制等fixture,但模型仅通过终端工具间接处理,未来可以探索真正多模态的智能体训练。第三,探索更大模型上的RL训练效果,虽然论文训练了27B模型但提升较小,可能因为基础模型已经经过大量训练,但在更大模型上使用更长的训练可能会有不同的发现。第四,研究curriculum learning在终端任务中的应用,利用论文引入的难度控制轴(任务复杂度、命令复杂度)来设计渐进式的学习课程。第五,探索更复杂的验证器和奖励函数,如使用learned verifiers、多目标奖励等,以提供更细粒度的学习信号

复现评估

论文在可复现性方面表现良好。论文完全开源,包括代码、检查点、数据等,发布在https://github.com/hamishivi/tmax,这是论文的核心贡献之一,使得其他研究者可以完全复现和基于此工作构建。特别值得注意的是,论文还发布了训练产物如RL rollouts和logprobs,这使得分析训练过程变得显著更容易。训练基础设施方面,论文使用H100集群,通常使用2个节点训练和6个节点推理,训练时间2-3天取决于序列长度和基础设施稳定性。论文详细披露了超参数(表13和表14),包括模型设置(bfloat16、gradient checkpointing、FP32 LM head)、数据设置(最大prompt tokens 2048、每轮最大tokens 16384、最大总响应长度65536)、rollout设置(每个rollout batch 8个唯一prompts、group size 32、最大异步步数4、active sampling、过滤零标准差样本、采样温度1.0)、优化设置(AdamW、500步训练、学习率1×10^-6、恒定学习率调度、最大梯度范数1.0)、RL目标设置(DPPO loss、中心化优势归一化、KL系数0.0、DPPO散度二元TV、DPPO散度阈值0.1)和工具设置(最大工具/环境步数64、bash工具超时120秒)。SFT训练的超参数也详细披露(表14)。评估设置使用vLLM进行rollouts,Podman或Apptainer管理sandbox,使用Harbor和Daytona作为后端。复现难度中等,主要挑战在于计算资源(需要H100级别的GPU集群)和sandbox基础设施的设置(需要配置Podman/Apptainer和镜像构建),但论文提供了足够的细节和开源代码使得有资源的团队可以复现。值得注意的是,论文报告了Daytona和本地运行之间的性能差异(Daytona通常更快因为安装更快但成本高),这表明基础设施选择会影响结果,复现时需要注意这一点