Terminal-Bench完整指南4步跑通你的第一个AI终端评测【免费下载链接】terminal-bench-1A benchmark for LLMs on complicated tasks in the terminal项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1你的Agent演示很精彩可它在终端里真能干成活吗想验证却没有现成的评测环境、任务库和评分标准。Terminal-Bench 就是为此准备的约100个真实终端任务加上一套把语言模型接进 Docker 沙箱的评测执行器harness一条命令就能拿到带准确率的评测结果。⏱ 10分钟完成第一次终端评测最短路径只有一条装上 CLI用内置的 oracle 代理跑一个任务。oracle 不需要任何模型 API Key它直接执行任务的参考解oracle solution所以第一次运行既能验证环境是否搭好又能立刻拿到一份真实的评测结果。uv tool install terminal-bench # 推荐uv 会把工具装在独立环境里不污染系统 Python # 也可以pip install terminal-bench # 想改源码就先 clone 再 editable 安装 # git clone https://gitcode.com/GitHub_Trending/tb/terminal-bench # cd terminal-bench pip install -e .用 uv 装的理由很简单它把tb命令隔离在独立虚拟环境中和你日常开发的依赖互不干扰。安装前确认三件事Docker 可用沙箱就是容器、Python 3.12、系统为 LinuxUbuntu 最顺、磁盘空间留足每个任务都要构建一个镜像。装好后跑这条命令tb run --agent oracle --task-id hello-world --output-path ./first-run--agent oracle指定用参考解跑通流水线--task-id锁定一个任务避免全量执行--output-path把结果指到自定义目录。跑完后终端会打印一张汇总表Resolved / Unresolved / Accuracy./first-run/时间戳/下则落盘了results.json、run.log和每个任务的详细记录。想换成真模型只需改成tb run --agent terminus --model anthropic/claude-3-7-latest--model统一是供应商/模型名的格式。 刚结束的评测里到底发生了什么把刚才的流程类比成一场闭卷考试任务数据集是题库Docker 沙箱是考场harness 是监考老师测试脚本是阅卷程序。每个任务在 original-tasks/ 下都是独立文件夹四件套缺一不可task.yaml英文指令、难度、超时上限等元信息、Dockerfile考场环境、tests/阅卷脚本通常由run-tests.sh驱动、solution.sh参考解。比如 hello-world 的指令只有一句创建/app/hello.txt并写入 Hello, world!但它的测试脚本会严格校验文件路径和内容。harness核心代码在 terminal_bench/cli/ 与terminal_bench/harness/的完整动作是按任务的 Dockerfile 构建并启动隔离容器 → 把task.yaml里的指令交给 Agent → Agent 在容器终端里自主敲命令干活 → 到点后执行run-tests.sh判定成败 → 汇总所有 trial 的结果。沙箱的意义在于 Agent 的所有操作都被关在容器里宿主环境不受影响评测也可随时推倒重来。结果侧除了前面提到的results.json和日志项目还带了一个基于 Streamlit 的 dashboard/可以把多次运行的准确率、passk、失败模式、token 消耗可视化对比。 它能评什么从修权限到解迷宫目前约100个任务beta 阶段仍在扩张按使用场景大致分三类每类都贴一个具体任务说明。系统管理与运维覆盖软件包安装配置、服务管理、权限与安全。典型任务是 fix-permissions——容器里有个/app/process_data.sh死活跑不起来Agent 要自己定位是权限、解释器还是依赖的问题并修好再比如 openssl-selfsigned-cert 要求生成自签名证书并配好服务。这类任务考的是对 Linux 生态的肌肉记忆。开发环境Python 环境配置、依赖管理、编译构建。broken-python 是代表作系统级 Python 的 pip 坏了Agent 要恢复包安装能力还得避开用 apt 直接砸掉的粗暴方案。同类还有 fix-pandas-version、依赖冲突消解、C/C 编译调试等任务。数据处理与脚本文件操作、格式转换、数据库。csv-to-parquet 要求把/app/data.csv转成同名 Parquet 文件——看着简单但 Agent 得自己判断用什么库、装没装、读出来的 schema 对不对。此外还有一批交互式任务比如 interactive-maze-gameAgent 要在容器里和命令行迷宫游戏交互从 f(1,1) 走到 f(9,9)。 tb run 参数速查表与进阶用法参数说明推荐值--agent代理名称oracle跑参考解terminus等接真实模型oracle验环境/ terminus正式评测--model模型名供应商/模型名格式按你要评测的模型填写--dataset数据集名称版本如terminal-bench-core0.1.1榜单对应版本terminal-bench-core0.1.1--task-id指定任务可重复出现支持 glob 通配抽查 3~5 个--n-concurrent并发任务数每个 trial 一个容器2~8按机器资源调--n-attempts每个任务的尝试次数影响 passk 计算1正式评测可加大--output-path结果输出目录./runs 或自定义进阶用法一指定任务 多次尝试 自定义输出路径一条命令全搞定tb run \ --agent terminus --model anthropic/claude-3-7-latest \ --task-id hello-world --task-id broken-python --task-id csv-to-parquet \ --n-attempts 3 --output-path ./eval-spotcheck--task-id写三遍就是跑三个任务——这是 CLI 的设计可重复选项代替了数组参数。进阶用法二控制超时任务自带的max_agent_timeout_sec会被全局参数覆盖--global-timeout-multiplier按比例缩放--global-agent-timeout-sec/--global-test-timeout-sec则直接指定秒数适合跑慢模型时避免误杀。进阶用法三跑一半断线不用重头来tb runs status --run-id id查看每个任务处于 passed / failed / incomplete / not started 哪一档再tb runs resume --run-id id从断点继续已完成且有results.json的 trial 会自动跳过。给自己的评测加一道题自定义任务与适配器加新任务不用手写目录结构tb tasks create会基于 terminal_bench/cli/template-task/ 模板生成一个任务骨架里面已经备好Dockerfile基于官方 ubuntu-24-04 基础镜像、docker-compose.yaml、run-tests.sh、solution.sh和tests/的空位。你只需填三处task.yaml里的英文指令、tests/里的判定逻辑、solution.sh里的参考解。开发过程中用tb tasks interact直接进入容器敲命令边试边调指令的措辞。任务写好后放进 original-tasks/ 目录tb run --task-id 你的任务即可验证。想接别的基准或新框架参考 adapters/ 目录那里已有 SWE-bench、USACO、algotune、mlebench 等一批适配器每个都是数据源 模板任务 run_adapter.py的固定套路照着写一个新适配器就能把外部评测集灌进 Terminal-Bench 的流水线。⚠️ 避坑清单Q容器起不来日志里一堆 Docker 报错ADocker 是硬依赖不是可选组件。先装好并跑通docker run hello-world再回来折腾tb。Q第一次运行慢得离谱A正常。每个任务首次都要构建沙箱镜像。跑通后加--no-rebuild复用已有镜像评测结束用默认的--cleanup或加--cleanup删掉镜像防止磁盘被几百个任务镜像塞满。Q怎么确认评测结果不是任务本身的 bugA用--agent oracle重跑该任务。参考解应当通过oracle 挂了说明任务或测试有问题和模型无关。Q为什么我的结果和榜单对不上A数据集没钉死版本。--dataset不指定版本时默认head最新开发分支要复现榜单成绩必须显式传--dataset terminal-bench-core0.1.1。Q全量 100 个任务 API 成本吃不消A先用--task-id抽 5~10 个任务、--n-concurrent 2低并发试跑看 oracle 和真实模型的差距再决定是否扩大样本。Terminal-Bench 的定位一句话一套可复现的任务集 模型接入终端沙箱的执行器把 AI 代理的终端真实水平量化成准确率。现在就tb run --agent oracle --task-id hello-world跑通第一题你的评测基线就有了。【免费下载链接】terminal-bench-1A benchmark for LLMs on complicated tasks in the terminal项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考