首页 / 资讯中心 / 文章详情

Terminal-Bench:3步跑通AI终端评测

Terminal-Bench:3步跑通AI终端评测 ★ FEATURED ARTICLE
Terminal-Bench3步跑通AI终端评测【免费下载链接】terminal-bench-1A benchmark for LLMs on complicated tasks in the terminal项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1Terminal-Bench 是一个 AI 代理基准测试工具它把模型放进真实的 Docker 终端里让它逐条完成编译代码、管理服务、处理数据这类任务再用自带的测试脚本判定是否通过。它解决的是会写命令和真能在环境里把事办完之间隔着一条鸿沟的问题。下面按装好、跑通一次、看懂结果这条主线走照着做就能完成第一次终端评测。图评测运行界面——左侧是代理正在执行的终端会话右侧是当前状态分析与即将执行的命令两个组件任务数据集与执行 harness一句话定位一套把任务交给模型、用测试打分的终端评测工具。它由两部分构成。任务数据集每个任务是一个自包含的目录英文自然语言指令、验证是否完成的测试脚本、一份参考解法oracle。仓库自带约 100 个任务覆盖安装软件包、修复 git 仓库、跑训练脚本等场景任务本身都在容器里完成不污染你的宿主机。执行 harness连接模型与终端沙箱的桥梁。它为每个任务构建 Docker 容器把指令交给 agent让其在沙箱内自由执行命令最后运行测试脚本判定通过与否并把各 trial 的结果汇总成统一报告。命令行入口是tb核心逻辑在 terminal_bench/harness/。两种安装方式两条命令uv tool install terminal-bench pip install terminal-bench推荐第一条 uv 方式装进独立的 tool 环境不碰系统 Python装完直接得到tb命令。pip 方式适合你已经有现成 venv 的场景。想读源码或贡献代码也可以git clone https://gitcode.com/GitHub_Trending/tb/terminal-bench后用uv sync或pip install -e .做可编辑安装。有一个硬性依赖Docker。harness 每个任务都要起容器Docker 没运行tb run第一步就会失败。先执行docker ps确认守护进程在跑。第一次跑通评测 先不接模型用内置 oracle参考解法做冒烟测试确认链路是通的tb run \ --agent oracle \ --dataset terminal-bench-core0.1.1 \ --task-id hello-world--agent oracle执行任务自带的参考解法不消耗模型调用也不需要任何 API key。--dataset指定榜单默认数据集及版本不传则回退到本地tasks/目录。--task-id只挑一个小任务几分钟出结果避免一上来就全量。跑完终端会直接打印汇总表resolved / unresolved 数量、accuracy、passk并给出结果文件路径。首次运行要拉取基础镜像并构建容器预留几分钟之后加--no-rebuild可跳过重建。换成真实模型做 AI 终端评测把 agent 换成 terminus 并指定模型即可--agent terminus --model anthropic/claude-3-7-latest。对应模型厂商的 API key 按环境变量约定写入再执行同一条命令。tb run 参数速查日常最常用的就这几个完整清单看tb run --help参数说明示例值--agent/-a使用的 agent默认 oracleterminus--model/-m模型provider/model 格式anthropic/claude-3-7-latest--dataset/-d数据集支持 nameversionterminal-bench-core0.1.1--task-id/-t指定任务支持 glob可重复hello-world、fix-*--n-concurrent并发任务数默认 48--n-attempts每任务尝试次数默认 13上一节的冒烟命令只用到了其中一半。跑全量时去掉--task-id即可并发数按机器内存定2~8 是常见区间。参数定义可以直接读源码 terminal_bench/cli/tb/runs.py。跑完看什么结果文件与查看命令结果默认落在runs/run_id/run_id 形如2026-10-20__13-30-00的时间戳。长任务结束后先别翻目录用两条命令看总览tb runs status --run-id run_id列出哪些任务通过、失败、未完成tb runs summarize --run-id run_id输出指标表含失败模式分布。需要定位问题时按文件读文件用它看什么results.json汇总指标解决数、accuracy、passk先看它run.log完整运行日志出错的第一个排查点{task}/trial-1/results.json单次 trial 的通过与否与失败模式{task}/trial-1/commands.txtagent 跑过的全部命令看它卡在哪一步agent-logs/、panes/agent 日志目录与终端快照pre-agent / post-agent / post-test单次 trial 的目录结构定义在 terminal_bench/handlers/trial_handler.py对照着看不会迷路。自定义任务与适配器入口要评自己的任务从模板 terminal_bench/cli/template-task/ 起最小文件结构是my-task/ ├── Dockerfile ├── docker-compose.yaml ├── run-tests.sh ├── solution.sh └── tests/test_outputs.pyDockerfile定义容器环境官方基础镜像在 docker/base-images/ 下按需选。run-tests.sh负责跑测试模板默认装好 pytest 后执行tests/test_outputs.py。solution.sh是参考解法需要交互式键盘输入的任务改用solution.yaml描述按键序列。也可以用tb tasks create交互式生成任务骨架。想接入外部基准SWE-bench、MLE-bench 之类入口在 adapters/每个基准一个目录adapter.py负责格式转换run_adapter.py负责跑对照实验。任务格式细节与贡献流程见 README跑评测遇到问题可以直接提 issue。【免费下载链接】terminal-bench-1A benchmark for LLMs on complicated tasks in the terminal项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站