Benchmark · agentic
Terminal-Bench
Terminal-Bench 衡量 AI 智能体在终端中完成真实命令行任务的能力,例如安装软件、调试和系统操作。分数是智能体成功完成任务的百分比。
了解更多
- 示例
- 一个典型任务会给智能体一个损坏或空白的环境,要求它达到可运行状态——例如安装正确的依赖并修复配置以让程序运行,全部通过终端命令完成。
- 评分方式
- 每个任务根据智能体是否达到所需的最终状态判定为通过或失败,基准分数是已解决任务占总数的百分比。
- 验证方式
- 只有当隔离沙盒(sandbox)环境中的自动检查确认任务达到了预期结果时,结果才被接受——而不是靠人工投票或精确文本匹配。
- 为何重要
- 从命令行安装、调试和运维系统等终端技能是真实工程工作的核心,因此这个基准能显示智能体能否在真正的命令行中自主且可靠地行动,而不只是回答问题。它更难的 2.x 版本会随着智能体进步不断提高门槛。
示例解析
任务
在 Terminal-Bench 的 Docker 容器中,文件 /app/access.log 保存着 Apache 访问日志。请写出一条命令,统计不同客户端 IP 地址的数量(每行以空白分隔的第一个字段),并只将该数字保存到 /app/answer.txt。
解答
awk '{print $1}' /app/access.log | sort -u | wc -l > /app/answer.txt
解析
awk 打印每行日志的第一个字段(客户端 IP),sort -u 去除重复,wc -l 统计剩下的唯一 IP,结果重定向到 /app/answer.txt。Terminal-Bench 通过在容器中运行 pytest 测试来评分,该测试读取 /app/answer.txt 并检查它是否等于已知的唯一 IP 数量。