Benchmarks 负责什么
任务加载
从数据集、本地文件、服务或 benchmark-specific repository 加载
TaskSpec。任务选择
应用通用
sample_ids filtering,以及 category、split 等 benchmark-specific 参数。任务准备
把原始 task 转成包含 prompt、media、files、tools、workspace 和 metadata 的
PreparedTask。评分
对
RunResult 评分,写 per-task details,并聚合成 summary.md。核心接口
数据对象
用法:选择单个任务
sample_ids 是通用 runtime filtering。它匹配 TaskSpec.task_id,如果 id 不存在会 fail fast。
用法:运行一个类别
category 的语义由 benchmark 定义。对 ScreenSpot 来说,它选择 GUI grounding 子集;其它 benchmark 的支持参数请看对应 reference 页面。
Tag 词表
公开文档中的 benchmark 页面按字母序排列。能力维度是 tag,不是互斥分类,因此一个 benchmark 可以同时匹配多个方向。
各 benchmark 的参数说明和运行示例见 Benchmark 参考。
开发者说明
当 dataset、scoring 或 task preparation 与现有 benchmark 有实质差异时,新增 benchmark。不要为了改变 provider 设置而新增 benchmark;那应该放在 environment config 或 recipe 中。实现 Checklist
- 定义稳定
id和可读description。 load_tasks返回稳定 publictask_id。- scoring 字段不要隐藏在 harness-private 假设里。
- provider hints 放在 task metadata,不直接调用 provider SDK。
- 支持用
sample_ids复现单任务。 - details 中保留足够信息,方便不 rerun 就调试失败。
