目录入口见 README。

先看这条:4.0 的社区提交已正式关闭。 官方 leaderboard/SUBMIT.md 原文——社区提交当前关闭,只有维护方自己跑的结果会被加入榜单。自己跑只能拿到 Harbor Hub 链接,不等于上榜。

是什么

一句话:在容器化终端里考 agent 能否独立完成小时级真实工作流,是目前唯一同时测「模型 + agent harness」且未饱和的成熟公开榜。

  • 维护方:Stanford × Laude Institute;执行框架为 Harbor。
  • 榜单:https://www.tbench.ai/
  • 任务形态:66 题 / 7 领域 / 统一 8 小时超时 / 每题 5 trials = 330 trials;agent 容器与 verifier 容器隔离,verifier 自动判分。
  • 指标:Resolution rate + 95% 置信区间,同时公开成本、token、步数与 reward hack 率。
  • 当前水位:GPT-6 Astra Max + Codex 58.2%±2.8(2026-09)。

版本警示

4.0(2026-08-28)改动任务集与资源规则,与 2.x / 3.0 分数不可直接比较。各版任务数不同:1.0 为 80 题、2.0/2.1 为 89 题、3.0 为 74 题、4.0 为 66 题。榜首从 2.1 的 83.8% 回落到 58.2%,是换尺不是退步。

资源要求

66 题中 3 题需要单卡 H100:

  • fp8-rmsnorm-gemm — 写/调优 FP8 RMSNorm + GEMM CUDA kernel
  • jax-speedrun-gpu — JAX 训练配方(verifier 另需 1×H100、16 CPU、32GB)
  • math-eval-grader — 跑 pinned Qwen2.5-Math-1.5B 做数学 grader

其余 63 题为 CPU 任务。GPU 只有 modal / daytona / gke / beam / opensandbox 后端支持。

怎么打

第 1 步:装 Harbor

需 Python ≥ 3.12。

uv tool install 'harbor[modal]'

第 2 步:跑评测

harbor run -d terminal-bench/terminal-bench@4.0.0 \
  -e modal \
  -a claude-code \
  -m anthropic/claude-sonnet-5 \
  -k 5
 
harbor view jobs
harbor upload jobs/<name>        # 默认私有;加 --public 公开

关键参数:-d 数据集、-e 后端(默认 docker)、-a agent、-m 模型、-k trials(官方要求 5)、-n 并发、--upload。

第 3 步:接入自研 agent

重要:网上流传的 --agent-import-path 是 2.x 时代的旧参数,Harbor 0.23.0 已移除。当前正确写法是把 import path 直接传给 -a:

harbor run -d terminal-bench/terminal-bench@4.0.0 \
  -a my_package.my_agent:MyAgent \
  -m <provider/model> -k 5 -n 100 -e modal

两条基类路线:

基类适用必须实现
BaseInstalledAgent(推荐)agent CLI 装进任务容器内运行name()、install()、run()
BaseAgentagent loop 跑在 Harbor 侧,操纵沙箱name()、version()、setup()、run()

最小示例:

from harbor.agents.base import BaseAgent
from harbor.environments.base import BaseEnvironment
from harbor.models.agent.context import AgentContext
 
class MarkerAgent(BaseAgent):
    @staticmethod
    def name() -> str: return "marker-agent"
    def version(self) -> str: return "1.0.0"
    async def setup(self, environment: BaseEnvironment) -> None: pass
    async def run(self, instruction, environment, context) -> None:
        await environment.exec(command="echo 'Hello, world!' > /app/hello.txt")

交互靠 BaseEnvironment 对象直接调用,不是自定义 RPC:

result = await environment.exec(command="ls /app", cwd="/app", timeout_sec=60)
result.return_code; result.stdout; result.stderr

三个要点:

  • run() 正常返回即代表任务结束,不要自己停容器;成败由 Harbor 在 run 结束后跑 verifier 判定。
  • token 与成本要写进 context: AgentContext,否则榜单成本列为空。
  • 不产 ATIF 轨迹会直接过不了静态检查。

第 4 步:上官方榜——当前走不通

harbor upload 只是把 job 传到 Harbor Hub(默认私有),不等于上榜。

2.1 时代曾有的自助通道(uv run lb submit <hub-job-url>,经静态分析 → promotion → 维护者 /judge → /apply → merge)目前已关闭;2.0 的 HF PR 通道也已关闭。

当前唯一公开接触渠道是 Discord(#terminal-bench 频道)与每周四 9am PT 的公开会。没有公开的提榜专用邮箱。

即便暂时上不了榜,也应把产物准备成可提交形态:

harbor run -d terminal-bench/terminal-bench@4.0.0 \
  -a <agent> -m <provider/model> -k 5 -n <并发> \
  -e modal --upload --public

未来的收录硬性标准

来自 4.0 校验代码,现在就可按此准备:

  • 必须跑 pinned 数据集,不得修改
  • timeout_multiplier 必须为 None/1.0,不得覆盖 agent / verifier 超时与 CPU / 内存 / GPU / 存储
  • 66 题全覆盖、每题 ≥5 trials
  • 报错的 trial 按 reward 0 计入,不得剔除
  • 每个得分 trial 必须有 ATIF 轨迹

成本

官方 4.0 榜 26 行数据(仅模型 API 成本,不含沙箱基础设施费):

指标数值
完整一轮成本9,603.86
中位数 / 均值3,593
Token 区间0.89B – 21.6B
折合每 trial29.1

头部实例:

模型 + Agenteffort分数Token成本
GPT-6 Astra + Codexmax58.18%1.5B$3,267
Claude Fable 5.1 + Claude Codemax57.88%2.7B$6,244
GPT-5.6 Luna + Codexmax17.27%11.6B$347(最便宜)
Claude Sonnet 5 + Claude Codemax12.42%21.6B$9,604(最贵)

Sonnet 5 的 token 消耗与超时问题被官方在 4.0 公告里专门点名。缓存命中率对成本影响极大(如 GPT-6 Astra 缓存 1.443B vs 未缓存 1.506B)。

并发直接决定时间:330 trials 串行约 10 天量级;官方 Modal 配置 n_concurrent_trials: 330 理论约 3 小时,实际数小时到十几小时。

常见坑

  1. 以为 upload 就上榜 → 最常见误解,upload 只是传 Hub(默认私有)。
  2. 用旧参数 --agent-import-path → 0.23.0 直接报错,应传给 -a。
  3. 不写 AgentContext → 成本列缺失;不产 ATIF → 静态检查失败。
  4. 改了超时或资源覆盖 → 成绩无法用于任何官方记录。
  5. 想剔除报错 trial → 不行,按 reward 0 计入。
  6. 在 docker 后端跑 GPU 题 → 环境启动即校验失败。
  7. 没配 max_retries → 长跑中失败数被放大。模型侧错误会区分处理:AgentSafetyRefusalError 默认不重试,OutputTokenExceededError / ContextWindowExceededError / ApiUsageLimitError 等需显式排除不可重试项。
  8. 跨版本比较 → 4.0 与 2.x / 3.0 分数不通用。
  9. key 未注入 agent 阶段 → Claude Code 只认 ANTHROPIC_API_KEY,用 --ae/--agent-env 或 --env-file 传入。
  10. agent 没实现 version() 或返回 None → 提交的 source_filter 匹配不上(CI 按 agent + version + model 聚合)。

相关

信源

信息来自 tbench.ai/run、leaderboard/SUBMIT.md、Harbor 官方文档、Harbor 0.23.0 CLI 实测与 Harbor Hub 榜单 API。数据截至 2026-09-19。成本与 token 来自官方榜公开数据,仅含模型 API 成本,不含沙箱基础设施费。