TerminalWorld: Benchmarking Agents on Real-World Terminal Tasks¶
会议: NeurIPS 2026
arXiv: 2605.22535
OpenReview: https://openreview.net/forum?id=dtdZBik7WV
代码: https://github.com/EuniAI/TerminalWorld
领域: 其他
关键词: 终端智能体评测、逆向工程、Docker环境复现、执行反馈校准、效率悖论
一句话总结¶
TerminalWorld 通过从 80,870 个 asciinema 真实终端会话中逆向工程意图、自动化构建 Docker 容器并引入三方试错闭环校准测试集,构建了包含 1,530 个任务(及 200 个高质量人审 Verified 核心子集)的真实终端评测基准,实验证明前沿模型在真实环境下面临 62.5% 的性能天花板和失败开销倍增的效率悖论。
研究背景与动机¶
终端环境(CLI)作为自主智能体与底层软件系统、工具链和运行时环境交互的核心载体,正随着 SWE-agent、OpenHands 等开源框架以及 Claude Code、Codex CLI 等原生终端助手的爆发而受到前所未有的关注。然而,如何真实、可扩展地评估终端智能体在实际软件工程与系统运维中的综合解决能力,始终缺乏可靠的评测基准。现存主流基准(如 Terminal-Bench、LongCLI-Bench)严重依赖领域专家的人工编撰;这种人工构造方式不仅成本高昂、难以跟上快速迭代的现代开发实践与工具生态,而且专家往往倾向于设计偏向算法或智力谜题的对抗性用例,导致评测任务与从业人员日常面对的真实终端工作流产生严重脱节。另一方面,近期涌现的基于合成轨迹的方法虽然规避了人工成本,但大多服务于训练数据生成,缺乏严谨的验证机制来保证测试集的真实性与判决准确性。
开发一个既贴近真实开发流又具备内生扩展性的评测系统,核心矛盾在于:真实的终端操作轨迹高度非结构化、噪声极大且缺乏显式语义意图,更缺少与之配套的隔离执行环境和自动化判定套件(Test Oracle)。具体而言,开发者公开发布的操作轨迹往往充斥着输入手误、冗余重试与海量交互输出;其次,录制文件仅记录了 I/O 文本流,并不包含机器底层的操作系统配置、环境变量和软件依赖链;最后,终端任务是开放式的,依赖静态大模型生成测试断言极易引入假阳性(未解决但通过)与假阴性(正确解法被误判)。
针对这些阻碍,本文提出逆向工程自然发生的人类真实轨迹来构建内生真实(authentic by construction)的评测体系。依托 asciinema 平台上海量由开发者自愿共享的高保真会话录屏,设计自动化的端到端数据引擎。核心 idea:利用大语言模型从非结构化的 asciinema 录屏中蒸馏出面向结果的任务目标与参考脚本,驱动智能体在沙盒中物理构建 Docker 镜像并根据运行时反馈迭代修复环境依赖,最终通过包含全通、空跑与局部解的三方试错执行闭环自动化校准测试集。
方法详解¶
整体框架¶
TerminalWorld 的自动化数据合成引擎由四个核心串行阶段组成:首先从 asciinema 采集大规模人类真实终端录屏并进行安全、合规与纯 CLI 过滤;随后逆向提取开发者的真实意图,形式化为面向终态的目标指令,并提炼出干净的 Bash 参考脚本;接着利用自动化智能体根据参考脚本推断依赖、动态构建 Docker 容器并根据执行错误日志循环修复环境;最后利用执行前后的文件系统快照差分合成测试集,并依托三方试错执行闭环完成断言的抗噪与去歧义校准。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["原始终端录屏数据<br/>80,870 条 asciinema 会话"] --> B["1. 多阶段数据清洗与筛选<br/>剔除 PII/TUI/不可重现会话"]
B --> C["2. 任务指令形式化与参考解抽取<br/>面向结果描述 + 纯净 Bash 脚本"]
C --> D["3. 基于执行反馈的 Docker 环境复现<br/>依赖反推 + 容器内执行试跑 + 错误修复"]
D --> E["4. 测试集生成与三方试错校准闭环<br/>快照差分 + 全通/空跑/局部解三试错验证"]
E --> F["高保真 TerminalWorld 基准<br/>1,530 个全量任务 + 200 个 Verified 核心集"]
关键设计¶
1. 多阶段数据清洗与筛选:在海量噪声轨迹中锚定纯净 CLI 操作
真实开发者录屏虽然保证了操作源头的原生真实性,但也引入了海量不可控噪声与潜在安全隐患。清洗阶段制定了严格的多层过滤流水线:第一,安全与隐私合规筛查,全面过滤包含个人身份信息(PII)、敏感凭证(如 API Key、Token)或破坏性危险命令(如 rm -rf *)的会话;第二,界定纯 CLI 评测边界,剔除涉及 Vim、Nano、Emacs 等全屏文本用户界面(TUI)或图形界面的交互流,聚焦纯标准输入输出(stdin/stdout/stderr)的自动化工作流;第三,剔除强依赖外部不可达 URL、Windows 系统专有环境或专有商业软件的会话以确保容器内确定性复现;第四,利用大模型评估过滤过于冗余或纯无目的探索(如反复执行 ls、cat)的无意义片段,最终将 80,870 个原始录屏收敛至 9,492 个高价值会话。
2. 任务指令形式化与参考解抽取:剥离过程提示并规范状态契约
为防止任务提示泄露特定解法,指令合成阶段采用大语言模型对清洗后的会话进行意图逆向工程。模型结合录屏标题、描述及执行流,仅提炼出最终期望达成的系统终态,严禁在指令中出现具体工具名、命令序列或步骤枚举。同时,指令显式规定持久化输出的路径契约(如强制要求将结构化结果写入 /app/result.txt),抹平不同用户定制的临时打印与环境变量干扰。与此对应,参考脚本提取模块对包含冗余系统输出的长文本切块解析,去重并过滤调试重试命令,拼接成一条幂等的标准 Bash 解决方案,并将原本在终端飞逝的关键输出重定向至指令指定的持久化文件中,构建起严格的状态判决锚点。
3. 基于执行反馈的 Docker 环境复现:驱动智能体闭环修复软件运行上下文
录屏仅包含字符流,缺失原始主机的运行底座与系统依赖。针对静态大模型容易幻觉环境配置或缺失隐藏动态库的问题,系统引入终端智能体(Claude Code)承担逆向系统工程师角色。智能体首先根据参考解中涉及的命令、运行时与仓库依赖推断基础镜像与系统包,编写 Dockerfile 与 docker-compose.yaml。随后在真实主机环境中构建镜像、启动容器并注入参考脚本执行。若执行返回非零状态码或报错,智能体捕获包含动态链接库缺失、包依赖冲突或环境变量未配置的 stderr 日志,自适应修改 Dockerfile 重新构建,直到参考脚本能够以退出码 0 顺畅复现,成功为 5,035 个任务还原了隔离可运行的真实沙箱。
4. 测试集生成与三方试错校准闭环:利用容器执行差分根除假阳性与假阴性 为解决开放式终端任务判决标准的自动化构建(Test Oracle Problem),数据引擎利用智能体在复现成功的 Docker 容器中抓取参考解执行前后的系统快照,依据精准的文件系统与配置差分生成针对持久化结果(如文件存在性、哈希校验、结构化输出)的判定脚本,并规避时间戳或临时进程 ID 等非确定性校验。为保证测试集判决的可靠性,生成的测试套件必须在三个独立的全新容器中通过三方试错验证: - 全通校验(AllPassing Trial):在跑完参考解的容器中运行测试,要求 100% 测试项通过,杜绝过度严苛导致的假阴性; - 空跑校验(Nop Trial):在未做任何操作的初始容器中运行测试,要求 100% 测试项失败,防止测试断言形同虚设引发的假阳性; - 局部解校验(Partial Trials):截断或消融参考解部分步骤后运行测试,要求至少有一个测试断言失败,确保测试具备对不完整方案的区分度。 只有完全通过三方试错的测试集才被正式收录,最终淬炼出 1,530 个全量标准任务,并经四位具有 3 年以上开发经验的研究员人工逐行实跑与多维交叉审核,提炼出 200 个高难度的 Verified 核心评测集。
实验关键数据¶
主实验¶
在 TerminalWorld-Verified(200 个任务)子集上,使用标准化的 Terminus-2 评测脚手架(基于 Harbor 框架,网络完全物理隔离 network_mode: none)对当前前沿的 8 款主流闭源与开源基础模型进行端到端对比评测。
| 模型类型 | 模型 | 解决率 Pass Rate (%)† | 平均交互轮次 (Turns) | 平均消耗 Token (K) | 平均耗时 (min) | 评测总成本 ($) | 单任务通过成本 ($/Pass) |
|---|---|---|---|---|---|---|---|
| 闭源模型 | Claude Opus 4.7 | 62.5 (64.8) | 16.7 | 261.5 | 3.6 | 63.47 | 0.51 |
| 闭源模型 | Gemini 3.1 Pro | 55.0 (57.0) | 10.6 | 173.2 | 4.0 | 56.82 | 0.52 |
| 闭源模型 | GPT-5.5 | 53.5 (56.6) | 14.8 | 499.0 | 3.0 | 100.28 | 0.94 |
| 开源模型 | Kimi K2.6 | 57.5 (60.2) | 16.9 | 289.6 | 5.5 | 17.68 | 0.15 |
| 开源模型 | GLM 5.1 | 57.0 (58.5) | 15.5 | 189.1 | 7.0 | 18.24 | 0.16 |
| 开源模型 | Qwen3.6-Max-Preview | 54.0 (56.8) | 12.5 | 172.2 | 6.9 | 21.44 | 0.20 |
| 开源模型 | DeepSeek-V4-Pro | 50.0 (52.1) | 20.1 | 398.0 | 9.4 | 17.35 | 0.17 |
| 开源模型 | MiniMax M2.7 | 49.0 (50.8) | 27.5 | 683.6 | 9.3 | 10.95 | 0.11 |
注:† 括号内数值为 Resolved Rate = Pass / (Total - Errors),排除了宿主机 harness 初始化偶发的环境级故障任务。
消融实验¶
为探究智能体框架架构对真实终端操作能力的影响,固定底层模型为 Claude Opus 4.7,对比四种不同智能体框架在 TerminalWorld-Verified 上的任务表现与资源消耗差异。
| 智能体框架 (Agent Scaffold) | 底层模型 | 通过率 Pass Rate (%) | Resolved Rate (%) | 平均交互轮次 (Turns) | 平均 Token (K) | 总花费 ($) | 单通过成本 ($/Pass) |
|---|---|---|---|---|---|---|---|
| Terminus-2 (原生脚手架) | Claude Opus 4.7 | 62.5 | 64.8 | 16.7 | 261.5 | 63.47 | 0.51 |
| Claude Code (CLI 原生助手) | Claude Opus 4.7 | 58.0 | 60.7 | 18.0 | 667.7 | 105.12 | 0.91 |
| mini-SWE-agent | Claude Opus 4.7 | 52.0 | 59.8 | 17.1 | 206.4 | 56.94 | 0.55 |
| OpenHands | Claude Opus 4.7 | 45.0 | 57.3 | 21.9 | 410.9 | 371.21 | 4.12 |
关键发现¶
- 真实终端任务暴露前沿模型天花板:即便是表现最优的 Claude Opus 4.7,在真实多步终端任务上的通过率也仅达到 62.5%,所有测试模型的平均通过率仅为 54.8%,证明从现实工作流逆向提取的真实用例比传统的合成用例更具综合考验度。
- 效率悖论(Efficiency Paradox)显著:在真实复杂终端环境中,消耗更多的步数和 Token 并未带来正确率的提升。任务成功率与轮数(\(r = -0.49\))及 Token 消耗(\(r = -0.62\))呈现明显的负相关。分析显示,失败的尝试平均消耗了 3.3 倍的 Token 和 1.4 倍的时间,占据了总开销的 63%,这表明模型缺乏精准的止损与反思机制,易陷入无意义的环境盲目探索。
- 与专家基准弱相关(Pearson \(r = 0.20\)):对比模型在 Terminal-Bench 2.0 与 TerminalWorld 上的表现发现,专为对抗设计的基准与真实运维工作流显著脱钩。例如 GPT-5.5 在 Terminal-Bench 2.0 获得高达 82.7% 的分数,但在 TerminalWorld 上仅有 53.5%;开源模型 Kimi K2.6(57.5%)和 GLM 5.1(57.0%)在真实终端场景中逆袭超越闭源主流模型,且每道通过任务的成本降低了 4 至 8 倍。
- 异构命令求解而非死板模仿人类:通过对成功解题轨迹与人类录屏参考解的命令 Jaccard 相似度分析发现,命令集重合度中位数仅为 21.4%。智能体在很多时候通过调用不同的底层工具链(例如人类使用 ettercap 解析流量包,智能体使用 Python + tshark 达成目标)以不同路径成功完成状态修改,证明了面向终态评测机制的包容性。
亮点与洞察¶
- 内生真实且可持续演进的数据飞轮:依托社区开发者自发沉淀的 asciinema 操作录屏,直接跨过了专家构想任务的主观偏差。随着开发者持续上传新型技术栈的终端流,评测基准能够以全自动化流水线持续增量演化,避免基准静态老化。
- 动态闭环环境生成克服静态大模型缺陷:巧妙地将智能体置于“自写 Dockerfile - 实机运行 - 捕获 stderr - 修复重试”的环境复现闭环中,成功将 5,035 个复杂系统的系统底座在容器中动态恢复,解决了复杂异构运行时的复现壁垒。
- 三方试错闭环杜绝评测假阳性:创造性地将软件工程的“全通、空跑、局部解”三态检验引入测试集自动化生成流中,严格杜绝了空解侥幸得分或断言脆弱带来的误判。
局限与展望¶
- 交互模态局限于标准 CLI:作者明确指出了当前流水线剔除了所有涉及全屏交互的 TUI(如 Vim、Top、Htop 等)以及涉及交互式密码输入的复杂流,未来仍需探索支持伪终端(PTY)与终端可视化的多模态评测。
- 基准运行对基础设施要求极高:约 10% 的任务涉及较老旧或特殊的 Linux 发行版镜像(如 Ubuntu 16.04、CentOS 6 等),在第三方复杂智能体框架(如 OpenHands)尝试在容器内注入 Node.js/Python 运行时时容易由于系统源停止维护而发生 harness 崩溃。
- 改进方向:可进一步将环境生成策略泛化到跨平台操作系统(如 macOS、Windows 容器),并在测试集校准中引入更多形式的属性变异测试以进一步压缩测试集的误判空间。
相关工作与启发¶
- vs Terminal-Bench / LongCLI-Bench: 传统基准依靠领域专家手工设定对抗性题目和预设沙盒,题量较少、偏向智力谜题且更新成本高昂;TerminalWorld 从 8 万多个真实录屏中自动逆向生成 1,530 个任务,涵盖 18 个细分领域与 1,280 个独立命令(其中 91% 未在 Terminal-Bench 中出现),提供了规模化、多样化的真实评测基底。
- vs TermiGen / CLI-Gym / Endless Terminals: 现有的自动化环境生成方案大多基于预设模板或模型纯合成轨迹,其目标以强化学习或监督微调(SFT)的训练为主,缺乏严格的三方执行判决校验;TerminalWorld 聚焦于高保真评测,构建了涵盖指令抽象、环境自愈修复与全通/空跑/局部解的完整真实性保证闭环。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ [首创从人类公开真实终端录屏逆向工程出自动化评测基准并形成三方试错闭环,方法极具创新性]
- 实验充分度: ⭐⭐⭐⭐⭐ [评测涵盖 8 款最前沿闭源与开源基础模型及 4 种智能体框架,实验维度深厚,深入剖析了效率悖论与人机行为差异]
- 写作质量: ⭐⭐⭐⭐⭐ [论文论述严密清晰,工作流与实验图表专业,方法细节与工程细节交待完备]
- 价值: ⭐⭐⭐⭐⭐ [为真实世界的自主终端智能体评测提供了至关重要的真实基准与自动化构建工具链,大幅推进了 Agentic CLI 的评测标准]