Benchmarks 处于 beta 阶段,按账号开通。如果您的 workspace 中无法使用 Benchmarks,请联系我们申请开通。
概念
Benchmark 与 Benchmark Run
Benchmark 存在于您的 workspace 中,包含 task 列表、harness 与 judge 要求以及 pass threshold。Benchmark run 是针对某个 task 选择的一次执行。各个 run 相互独立:需要比较 agent、task 子集或尝试次数时,提交多个 run 即可。Agent
Agent 是 harness 与 model 的组合,例如codex 搭配 openai/gpt-5.2。一个 run 可以包含多个 agent,这是在完全相同的条件下比较 scaffold 或 model 的方式。同一 run 中的每个 agent 拿到相同的 task、相同的尝试次数和相同的评分。
尝试次数与 pass@k
attempts_per_task 决定每个 agent 在每个 task 上可以独立尝试多少次。Pass@1 是首次尝试的通过率,pass@k 是 k 次尝试内解决 task 的比率。两者都带 95% 置信区间;若统计上无法与最佳 agent 区分,该 agent 会与其并列第 1,而不是被排在其后。将鼠标悬停在其排名上可查看对比详情。
Task 选择
可以运行全部 task,也可以按命名 task set、category 或明确的 task 名称缩小范围。部分 benchmark 会公开 parity task set,即其参考分数所测量的样本。HLE 是需要特别注意的例子:若希望得到与公开结果可比的数字,请优先使用它的 parity set。添加 benchmark
在侧边栏打开 Benchmarks。Osmosis 托管的 benchmark 已在您的 workspace 中;Add Benchmark 可按名称添加 Harbor registry 中的任意 dataset。 每张卡片是 workspace 可以运行的一个 benchmark。点击卡片打开它的页面。卡片显示名称、task 列表就绪后的数量徽标,以及描述。搜索按名称过滤网格。 Harbor benchmark 的 task 列表在添加之后才会从 registry 分页同步进来,同步就绪前无法提交 run。同步进行时,卡片用进度条替换描述。若同步失败,卡片会说明原因,benchmark 页面提供 Retry sync。您自己添加的 benchmark 可以从卡片的操作菜单中移除,托管的 benchmark 不可移除。workspace 的任何成员都可以添加 benchmark、移除自行添加的 benchmark,以及提交、停止、重命名或删除 run。托管 Benchmark
每个 workspace 都有这些 benchmark,且无法移除。Benchmark 页面
每个 benchmark 页面打开时显示它的 Leaderboard 和 Benchmark Runs 表格,New Run 是提交入口。页眉显示该 benchmark 的 source 引用(点击即可复制),task 列表就绪后还会显示 task 数量徽标;操作菜单提供 View source,同步失败后还提供 Retry sync。Leaderboard
Web leaderboard 会合并 Platform run 与公开参考分数。Platform 参赛者是 harness 与 model 的组合,分数取自它最新的合格 run,因此重跑某个 agent 会更新它的名次,而不是新增一行。公开结果行带有来源和 task-set 徽标以及 source 链接;它们不属于 Osmosis run,因此点击后不会打开 run 页面。Platform 行仍会打开产生该分数的 run。 表格可按 Pass@1、Pass@k、Cost / task、Time / task 或 Tokens / task 排名。点击某个指标的列标题即可按它重新排序,当前排序指标会体现在 URL 中。每一行只与使用相同完整 task set 或 parity task set 的行排名。每个对比组内采用并列排名:并列的参赛者共享同一名次,因此名次可能跳号(如 1、1、3)。 Agent 进入 leaderboard 的条件:- run 已 finished,且该 agent 自身已 finished;
- run 覆盖了完整 task 列表,或 benchmark 为对比而公开的 parity set;
- 每个 task 与尝试的组合都产生了结果;
- 该 agent 有 pass@1 分数。
按 category 或少量 task 名称过滤的 run 有意不参与排序。它仍然拥有完整的 run 页面、分数和下载。
使用 CLI 查看 benchmark
先列出当前 workspace 可用的 benchmark,再查看准备运行的 benchmark:benchmark info 会显示 key 和准确名称、指向上游项目的 source_url(benchmark 经过适配时指向 adapter 仓库)、task 和 category 数量、命名 task set、harness 与 judge 要求,以及 pass threshold,随后是该 benchmark 的 Platform leaderboard 和 workspace 在其上的 runs。CLI 输出仍只包含 Platform 结果;公开参考结果显示在 Web leaderboard 上。若某个 benchmark 的公开分数是在特定 harness 上测得的,该 harness 会作为默认值显示。Terminal-Bench 2.1 是 terminus-2,使用其他 harness 的 run 与这些分数不可比。选择 task_names 或 categories 前,可使用 JSON 输出查看完整 task manifest:
difficulty,其值为 easy、medium、hard 或 null。null 表示 benchmark source 未提供难度,绝不能自行推断。
对于 HLE,该命令会把 parity 标记为推荐的命名 task set。省略 [tasks] 会选择完整 benchmark。
Harbor registry benchmark 的 task 列表仍在同步时,Last Run 列显示同步状态和 task 进度,此时提交会失败,直到同步完成。若同步失败,benchmark list 会在该列说明原因,并在 Tasks 列显示 unavailable,JSON 输出中包含 sync_error。返回的 platform_url 会打开该 benchmark 的页面,其中包含它的 leaderboard、runs 和 Retry sync。
从 Platform 提交 run
New Run 会打开一个带三个标签页的表单,并实时汇总即将提交的内容:- Tasks:全部 task、命名 task set、category 或明确的 task 名称。
- Agents:每个 agent 一项,包含 harness、model,以及保存该 provider API key 的 workspace 或个人 secret record。添加更多项即可在一个 run 中比较多个 agent。每个 agent 还可以按名称与值逐行填写自己的环境变量。
- Run settings:每个 task 的尝试次数、并发尝试数、超时倍数、重试次数、pass threshold、benchmark 使用 LLM judge 时的 judge 设置,以及本次 run 自行提供的 secret。
表单如何获取凭据
API key 以 secret record 名称引用,绝不粘贴到 model 或 judge 字段中。请先在 Secrets 中创建记录,再按名称选择。 Run settings 中的两个区块用于 model 与 judge 字段未涵盖的凭据:- Verifier secrets 仅出现在从 Harbor registry 添加的 benchmark 上,用于指定 dataset 自带的 LLM verifier 所读取的记录。每一项都以其记录名称交付给 verifier,agent 永远看不到。托管 benchmark 自行管理 verifier 凭据,因此不提供该区块。
- Run secrets 以名称和值随单次 run 提供。值不会加入 Osmosis secret store 或持久化 run config:run 只在
Runscope 下记录名称,并且在该次 run 中覆盖同名的已存记录。基于历史 run 重新提交时,名称会带回来但值为空,需要重新输入。
使用 CLI 提交 run
CLI 提交的是同步 workspace 仓库中configs/benchmark/ 下的 Osmosis TOML config。
提交前,先在 Platform 中把 benchmark 添加到 workspace。
[experiment].benchmark 解析的是 workspace 中已有的 benchmark,可填写其 key、名称或 ID,而不是本地 dataset path。创建 config
复制 workspace template 并编辑:configs/benchmark/terminal-bench-smoke.toml
注册 credentials
api_key_secret、harness_api_key_secret 和 judge_api_key_secret 保存 Platform secret record 名称,而不是 credential value。提交前,创建 config 引用的每个 record:
--scope workspace。
Cursor CLI 使用与 model 分离的 harness credential 进行认证。在对应 agent 上,把 harness_api_key_secret 设为 CURSOR_API_KEY。填其他值会在提交时被拒绝。Mini SWE-agent 始终拒绝 harness_api_key_secret。对于 provider 和 endpoint model,Platform 会复用 model 的 api_key_secret 并以 MSWEA_API_KEY 注入,因此该名称不能同时出现在 agent 的字面量环境变量中。Hosted model 不会收到注入的 model key,可以显式设置 MSWEA_API_KEY。
cursor-cli 外,其他 harness 会拒绝 harness_api_key_secret。完整 agent 示例参见配置文件。
HLE 和 GDPVal 使用 LLM judge,并且必须设置 judge_api_key_secret。将其设置为 Platform secret record 名称;judge_model 可选,省略时使用 benchmark 默认值。对于 HLE,创建 judge record:
[execution] table 中添加 judge record 名称:
提交 run
- 生成的 run
id和name - 初始
status - 解析后的
task_count created_at中的提交时间- Platform 中 benchmark run 的
platform_url
状态流转
监控
Run 页面
Run 的地址是/benchmarks/runs/<run-id>,侧边栏显示状态、进度、时长、已用 token、LLM cost、提交信息、锁定的 benchmark 版本及其 agent。四个标签页覆盖整个 run:
- Overview:Agent Results 是一张可排序的表格,每个 agent 一行,使用与 leaderboard 相同的指标,进度列在 run 进行期间实时显示时长。agent 的尝试次数足够时会出现 pass@k 曲线,有已评分的 category 后会出现按 category 的分解。
- Task Results:覆盖每个 task 与尝试的结果表格,可搜索、可筛选,并可查看任一结果的评分输出、对话和 artifact。通过工具栏的 Agent 筛选可只看指定 agent。
- Configuration:解析后的 run 配置(TOML 格式),包含它锁定的 benchmark 版本。
- Logs:从提交到清理的生命周期事件。
submit 或 runs info 返回的 platform_url,即可在此跟踪进度、比较 agents 并查看 task-level results。
CLI 命令
Run 生命周期命令位于benchmark runs 之下。列出当前 workspace 的 benchmark runs,其列与 Platform 的 runs 表格相同,包含每个 run 的 agent 数量和 best pass@1,然后使用名称或 ID 查看刚提交的 run:
runs info 显示该 run 的状态、进度、时长和 result totals,并按 run 页面的方式为每个 agent 打分:排名、带置信区间的 pass@1、最深的 pass@k,以及按 task 计的 cost、time 和 tokens。
使用 runs logs 查看生命周期事件和诊断失败。每页日志按时间从早到晚返回;如需查看更早的日志,将 JSON 响应中的 next_cursor 传回命令:
下载输出
Metrics、task 级结果和每个结果的 artifact 都可从 run 页面下载。使用 CLI 时,可下载 run summary 和 task-level results,或选择其他输出类型:.osmosis/benchmarks/ 下按 run 划分的目录,并通过跳过完整文件实现断点续传。可用类型为 summary、results、artifacts、logs 和 all。目录结构固定如下:
pending 或 queued 时还没有可下载的输出。下载 running 状态的 run 会得到当前快照;刷新可能在文件大小不变时发生变化的文件,请传入 --overwrite。
停止 run
pending、queued 和 running 状态的 run 可以从 run 页面或 runs 表格中的对应行停止。平台清理完 sandbox 后,该 run 变为stopped。已写入的结果会保留在该 run 上。
从 CLI 停止时,检查确认提示后执行:
扩大运行范围
Smoke run 启动并生成预期结果后:- 添加明确的
task_names、选择categories、使用已发布的paritytask set,或省略[tasks]运行完整 benchmark。 - 在 workspace 限额内提高
max_concurrent_attempts。 - 添加另一个
[[agents]]table,比较 harness 或 model 组合。 - 确认付费 run 前,检查新的 task 和 attempt 数量。
后续步骤
CLI Benchmarks
从 CLI 发现 benchmarks,并提交、查看或下载 runs。
配置文件
Benchmark TOML config 参考。
评估任务
针对 platform dataset 为自己的 rollout 打分。
Secrets
管理 agent 引用的 secret record。