Terminal-Bench完整指南:4步跑通你的第一个AI终端评测

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+、系统为 Linux(Ubuntu 最顺)、磁盘空间留足(每个任务都要构建一个镜像)。

装好后跑这条命令:

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/,可以把多次运行的准确率、pass@k、失败模式、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-game:Agent 要在容器里和命令行迷宫游戏交互,从 f(1,1) 走到 f(9,9)。

📋 tb run 参数速查表与进阶用法

参数说明推荐值
--agent代理名称;oracle跑参考解,terminus等接真实模型oracle(验环境)/ terminus(正式评测)
--model模型名,供应商/模型名格式按你要评测的模型填写
--dataset数据集名称==版本,如terminal-bench-core==0.1.1(榜单对应版本)terminal-bench-core==0.1.1
--task-id指定任务,可重复出现,支持 glob 通配抽查 3~5 个
--n-concurrent并发任务数(每个 trial 一个容器)2~8,按机器资源调
--n-attempts每个任务的尝试次数,影响 pass@k 计算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 报错?A:Docker 是硬依赖,不是可选组件。先装好并跑通docker run hello-world,再回来折腾tb。

Q:第一次运行慢得离谱?A:正常。每个任务首次都要构建沙箱镜像。跑通后加--no-rebuild复用已有镜像;评测结束用默认的--cleanup(或加--cleanup)删掉镜像,防止磁盘被几百个任务镜像塞满。

Q:怎么确认评测结果不是任务本身的 bug?A:用--agent oracle重跑该任务。参考解应当通过,oracle 挂了说明任务或测试有问题,和模型无关。

Q:为什么我的结果和榜单对不上?A:数据集没钉死版本。--dataset不指定版本时默认head(最新开发分支),要复现榜单成绩必须显式传--dataset terminal-bench-core==0.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),仅供参考

相关新闻

免 root 三步跑通 WorkTool:你的企业微信自动回复机器人

免 root 三步跑通 WorkTool:你的企业微信自动回复机器人

免 root 三步跑通 WorkTool&#xff1a;你的企业微信自动回复机器人 【免费下载链接】worktool 一款安全稳定的Android无障碍服务工具&#xff0c;支持控制企微/微信来运行的无人值守群管理企业微信机器人 项目地址: https://gitcode.com/GitHub_Trending/wo/worktool W…

2026/10/21 2:02:39 阅读更多 →
STM32驱动W25Q64 SPI Flash实战:从硬件连接到代码实现

STM32驱动W25Q64 SPI Flash实战:从硬件连接到代码实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:02:39 阅读更多 →
如何用 Jasna 自动修复 VR180 视频:从分眼处理到投影选择的完整新手教程

如何用 Jasna 自动修复 VR180 视频:从分眼处理到投影选择的完整新手教程

如何用 Jasna 自动修复 VR180 视频&#xff1a;从分眼处理到投影选择的完整新手教程 【免费下载链接】jasna Video restoration tool 项目地址: https://gitcode.com/GitHub_Trending/ja/jasna Jasna 是一款面向 GPU 的视频修复工具&#xff0c;内置 VR180 自动修复能力…

2026/10/21 2:02:39 阅读更多 →

最新新闻

Quartz动态设置并发数量

Quartz动态设置并发数量

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/21 2:48:00 阅读更多 →
AI Agent ROI评估指南:从成本结构到收益测算全解析

AI Agent ROI评估指南:从成本结构到收益测算全解析

1. 先别急着算账&#xff0c;想清楚AI Agent的ROI和传统IT项目有什么不同这两年不少公司都开始折腾AI Agent&#xff0c;有的把它接到客服系统&#xff0c;有的让它帮着写代码&#xff0c;还有的用它处理合同和报表。但当你真坐下来算这笔账时&#xff0c;会发现一个尴尬的问题…

2026/10/21 2:48:00 阅读更多 →
基于卷积神经网络的食物图像识别实战:从ResNet迁移学习到部署

基于卷积神经网络的食物图像识别实战:从ResNet迁移学习到部署

简介&#xff1a;基于卷积神经网络的食物图像识别项目完整代码与数据包&#xff0c;面向具备Python基础并希望实践CNN图像分类的开发者与学习者。资源围绕TensorFlow与tf.keras构建食物识别模型&#xff0c;涵盖数据预处理、网络定义、训练评估与预测全流程&#xff0c;并引入迁…

2026/10/21 2:48:00 阅读更多 →
SECS-II/HSMS调试工具实战:从协议原理到模拟器应用

SECS-II/HSMS调试工具实战:从协议原理到模拟器应用

简介&#xff1a;面向半导体制造与MES系统集成场景&#xff0c;这份SECS-II HSMS调试工具模拟器适合设备工程师、上位机开发人员使用。它可模拟客户端与服务端&#xff0c;用于验证自定义程序是否符合SECS-II通信标准&#xff0c;减少现场联调时的错误与返工。压缩包为rar格式&…

2026/10/21 2:48:00 阅读更多 →
eNSP校园网拓扑设计实战:VLAN划分、DHCP配置与静态路由全解析

eNSP校园网拓扑设计实战:VLAN划分、DHCP配置与静态路由全解析

简介&#xff1a;面向计算机网络期末设计、课程设计及eNSP仿真练习的完整项目资料包&#xff0c;围绕某中学校园网络拓扑设计展开。方案包含网络拓扑选型、综合布线系统规划、教学楼/行政楼/宿舍接入设计&#xff0c;以及VLAN划分、IP地址分配、路由协议配置等模拟配置要点&…

2026/10/21 2:48:00 阅读更多 →
思科模拟器6.2:从安装到避坑的完整实战指南

思科模拟器6.2:从安装到避坑的完整实战指南

简介&#xff1a;这是一份思科模拟器6.2安装包&#xff0c;官方名称为Packet Tracer&#xff0c;面向网络技术学习者、思科认证考生以及开展网络实验教学的教师。软件以图形化方式搭建虚拟网络环境&#xff0c;可模拟路由器、交换机、无线接入点、防火墙等设备&#xff0c;支持…

2026/10/21 2:47:00 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →