你请人修过一次水管,留下了完整录像。录像能教别人照做,却不能让学徒重新上手,也不能临时换一道题。代码 Agent 的训练正遇到类似问题:操作记录越来越多,能让 Agent 真正改文件、跑命令、接受检验的工作环境却很少。Terminal-Universe 想做的,就是根据这些旧录像,倒推出一批可以反复使用的“训练场”。
这里的录像叫 Agent 轨迹(trajectory)——Agent 完成任务时留下的用户要求、工具调用、文件变化和执行结果。轨迹只记录一次既定过程。可执行终端环境则是一套能运行的工作区,里面有文件、依赖和命令行工具。同一个环境可以重新出题,也能用测试判断答案是否有效。论文的核心判断很直接:代码 Agent 下一阶段缺的可能不只是更多示范,而是更多可以动手和验收的环境。
本文的数字与效果均来自 Terminal-Universe 论文这一单一信源,尚无独立复现。
先把录像倒放
Terminal-Universe 没有从零生成代码项目,而是利用轨迹里已经暴露的信息。Agent 读过哪些文件、写入了什么、修改前后有什么差别,这些工具记录都留下了工作区的局部形状。
第一步是确定性回放。系统按时间顺序检查读、写和编辑操作,找出每个文件最早出现的版本,把它恢复到 Agent 动手之前。Agent 在原任务中新增的文件不放回去,已经完成的修改也先扣下。这样得到的是一个“尚未解题”的工作区,而不是直接把答案复制进训练环境。
问题在于,轨迹只会暴露 Agent 当时碰过的东西。它没打开的文件、隐含的系统依赖、被截断的终端输出,都可能缺失。因此,回放得到的通常只是半间屋子。
第二步由 completion agent 补全。它负责创建缺失文件、补足不完整内容,并恢复完成任务所需的依赖,但不能顺手把原任务解决掉。随后,一个只能读取环境的 agentic judge——由模型充当的自动审查员——判断源代码、配置、数据和目录结构是否足以支持任务。只有被判定为 task-sufficient,也就是“完成这道题所需信息基本够用”的环境,才进入下一步。
论文表格称,这套流程从公开的终端 Agent 轨迹中得到 37.3k 个 task-sufficient environments。这个名称只表示它们通过了论文设定的充分性判断,不等于 37.3k 个经过人工逐一验收、完整复刻真实项目的环境。
一个环境,不只出一道题
环境恢复后,Terminal-Universe 会用四种方式重新提问。
最朴素的一种是恢复原始意图:从用户请求、Agent 操作和文件证据中重建当初到底要做什么。另一种是在同一工作区内合成新任务。生成器先查看环境,再提出五个候选题,最后随机选择一个有效候选进行求解和验证。
更有意思的是“横向”和“纵向”扩展。
横向扩展叫 Cross-WS,WS 是 workspace,也就是工作区。系统寻找两个相关环境之间的定向依赖:目标项目缺少某种能力,而参考项目已经实现。Agent 可以只读参考项目,再把相应能力适配进可写的目标项目。它不能只改单个孤立代码库,还要先理解两个项目之间的关系。
纵向扩展则把一次性指令变成多轮会话。用户 Agent 会根据每轮结果追加功能、要求修复失败,或者修改此前的需求。每轮都有验收测试,工作区持续保留。如果某轮失败,编码 Agent 看不到测试脚本和报错堆栈,只会收到用户能观察到的自然语言反馈,再继续修正。会话最多追加六轮;最终数据只保留至少含两轮验证通过结果的会话,但允许保留“先失败、后来修好”的中间过程。
这些设计服务于后训练(post-training)——基础模型完成通用学习后,再通过任务示范、反馈或试错调整行为。对代码 Agent 来说,环境尤其重要,因为结果可以通过测试、命令退出状态或文件变化自动检查。这类可验证任务不必完全依赖人工主观评分,更适合批量训练。
真正稀缺的也许是训练场
论文最终用 Qwen3.7-Max 作为教师模型,在恢复的环境里重新解题,并把通过验证的轨迹整理成监督微调数据。监督微调就是给模型看成套的任务与合格操作示范,让它学习相应行为。论文表格列出的 Terminal-Universe 训练集规模为 32.0k 条记录。
在相同的 Qwen3.5-27B 基础模型上,论文报告 Terminal-Bench 2.1 单轮成绩从 46.2 升至 58.1,提高 11.9 points。这里的 points 是分数点,不是相对提升 11.9%。在考察持续工作区和累积需求的 EvoCode-Bench v2 上,作者报告多轮 MT@4 提高 13.8 points;MT@4 会看四次独立运行中,Agent 在首次失败前能连续推进多远。
论文还报告了一个关键消融结论:让更强的教师模型在恢复环境中重新解题,比直接模仿旧轨迹更有效。其含义不难理解。旧轨迹可能带着原 Agent 的错误、犹豫和能力上限;恢复环境后,研究者可以换模型重做、用自己的测试验收,还能在同一工作区继续生成新任务。训练资源的单位由“一份固定答案”变成了“一个可以反复使用的场地”。
这也是 Terminal-Universe 最值得关注的地方。过去扩充训练数据,很容易把注意力放在多写题、多生成答案上。这项工作换了一个起点:先回收已经存在的 Agent 轨迹,从中提炼环境,再让环境持续生产题目、反馈和合格示范。如果这条路线成立,大量旧轨迹就不再只是日志,而可能成为环境供给的原料。
局限与未知
- 37.3k 个环境的充分性由自动审查流程判断。材料没有披露完整可执行率、人工验收比例及足够清楚的判定细则,因此不能把这个数字直接理解为同等数量的完整真实项目。
- 11.9 和 13.8 points 都是作者自报结果。现有材料不足以核对重复实验方差、所有对照条件及潜在 benchmark 污染,尽管论文称训练前做了污染检查。
- Cross-WS 和多轮用户反馈展示了框架能生成什么,但现有证据还不能证明这些合成互动的真实性与难度已经等同于真实软件开发。