Terminal-Bench 上手手册:100 道终端考题,帮你在两个模型之间做选择
【免费下载链接】terminal-bench-1A benchmark for LLMs on complicated tasks in the terminal项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1
谁更能干活:你缺的是一块统一的终端考场
你在两个大模型里挑一个当"终端民工":一个 demo 在编译工程,另一个在修管道,画面都唬人,但 demo 是挑出来的。你缺的是统一且可复现的考场——Terminal-Bench 就是它:约一百道终端考题,加一个自动判分的执行器,把"谁更能干活"从演示比拼变成数字比拼。
题集加裁判:Terminal-Bench 的两块拼图 🧩
先看题集。每道题都是三件套:一段英文指令(做什么)、一个验证脚本(事后判过不过)、一份参考解(证明题有解,也能当对照组)。题目按"一题一目录"存放在 original-tasks/,目录里是 task.yaml、Dockerfile、测试脚本和解法脚本,换掉任何一题都不牵动其他题。
再看执行器。核心逻辑在 terminal_bench/harness/,分工按顺序展开:先为任务起一个 Docker 沙箱,再把指令交给指定 agent,让它自由操作终端,最后跑验证脚本,把每题过没过、花多久,写进结果文件。一句话:题集定"考什么",执行器管"怎么考、怎么收卷"。两者合起来,就是这套终端 Agent 基准测试的全部家当。
装一次,跑通第一条 tb run ⚡
安装方式只推荐这一条:
uv tool install terminal-bench装完后你多了一个tb命令;习惯 pip 就换成pip install terminal-bench,想钉住某个源码版本,就 clone 仓库后执行pip install -e .(仓库地址:https://gitcode.com/GitHub_Trending/tb/terminal-bench)。
装好就能点第一次对比:
tb run --agent terminus --model anthropic/claude-3-7-latest \ --dataset-name terminal-bench-core --dataset-version 0.1.1意思是:选 terminus 这套"手",选这个模型当"脑",考排行榜用的 0.1.1 版题集。关键参数四个:
--agent:手,模型借哪套 agent 实现去敲键盘--model:脑,provider/model 写法--dataset-name/--dataset-version:钉住排行榜版本,结果才和别人可比--n-concurrent:同时开几道题,机器吃得住给 4~8
Docker daemon 要在跑,执行器拿容器当沙箱。
跑完一轮,去 runs/ 目录找答案
每轮结果默认落在runs/下,按时间戳一个子目录,三个产出各回答一个问题:
results.json:哪题过了、断言卡在哪、重试几次、耗时多少——结论在这里run.log:完整执行日志,某题挂了时,翻它看 agent 敲了什么命令、终端吐了什么- 看板:dashboard/ 负责跨多轮聚合,把几个模型的数字摆到同一张表里
指标别贪多,就三类:完成率(一百题做了几题)、耗时(单题多久,有没有撞超时)、资源(并发开多大、机器还有余量)。这三个数摆出来,"A 比 B 强"才算有凭据。
换模型、圈任务:四个旋钮 🎛
对比实验就是这四个参数的排列组合:
--model:换脑。同一题集跑两遍,就是对照表--agent:换手。问题变成"哪套实现更配这个模型"时用它--task-id:可重复传、支持 glob,先圈几道热身,再上全量--n-attempts:每题重试几遍,判 flaky 题的开关
按场景给建议值:第一次体验圈 2~3 道,用--task-id点名即可;模型对比上全量,--n-concurrent给 4;怀疑某题不稳,--n-attempts 3,三遍结果仍不一致,那题本身值得你单独研究。
自己出一道题:tasks 目录四步法
题集覆盖不到你的业务时,补一道。流程四步:
- 建目录:kebab-case 命名,目录名就是任务 ID
- 写指令:task.yaml 里填英文 instruction,讲清"做什么、产出放哪"
- 写判分:
tests/下测试脚本加 run-tests.sh,退出码 0 即算过 - 写参考解:solution.sh 先让自己做一遍,证明题有解
题集里最简单的 hello-world 题就是最小样例,指令、测试、解法三件齐全,抄结构就能开工。
下一步:今晚就跑一组对照
Terminal-Bench 的价值,是把"谁更能干活"变成可以拿数字回答的问题。给你一个具体动作:把数据集版本钉在 0.1.1,今晚让两个候选模型各跑一遍 terminal-bench-core,两份results.json并排打开,看完成率和单题耗时——第一张对照表就成了。
【免费下载链接】terminal-bench-1A benchmark for LLMs on complicated tasks in the terminal项目地址: https://gitcode.com/GitHub_Trending/tb/terminal-bench-1
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考