test.sh(通常运行 pytest)检查 agent 的产出是否符合预期,并将奖励值写入 /logs/verifier/reward.txt。奖励值为 0.0~1.0 之间的浮点数:部分任务为二元判定,少数任务根据测试通过率给出部分分数。没有评委 model,判题不产生 API 开销。
数据版本
SkillsBench 有两个数据版本,均包含相同的 87 道任务,但文件布局不同。data_version 参数控制 Benchmark 所使用的版本,默认 "1.1"。
data_version 同时决定从 Docker 中心拉取的镜像:v1.1 → ailabdocker/ac-skillsbench-v1-1:<task_id>,v1.0 → ailabdocker/ac-skillsbench-v1-0:<task_id>。
工作原理
SkillsBench 一次运行分为两个阶段——agent 执行与验证。agent 执行
被测 model 作为编程 agent 在 Docker 容器内工作。在 Harness(已验证可用:openhands、openclaw 或 claude_code)驱动下,agent 接收任务描述、浏览工作区、编写代码、调用技能,并产出所需的输出文件。
验证
agent 完成(或超时)后,Benchmark 执行以下步骤:- 上传验证脚本(
test.sh+ 测试文件)从本地数据集到容器内的/verifier/(v1.1)或/tests/(v1.0)。 - 运行
test.sh,在 agent 修改过的工作区中执行。脚本通常安装pytest、运行测试用例,并将奖励值写入/logs/verifier/reward.txt(部分任务为1/0二元判定,少数任务按测试通过率给出0.0~1.0的部分分)。 - 读取奖励值——分数是确定性的、可复现的。
任务数据格式
每个任务目录包含:
数据版本(v1.1 / v1.0)由
data_version 参数显式指定,决定上表的文件布局与对应镜像,详见上方 数据版本 章节。
参数
通过--benchmark-params '{...}' 传入一段 JSON;也可写进 --config 指定 YAML 的 benchmark.params 块,同名项以命令行为准。合并与优先级见 Benchmark 概览。
| 参数 | 类型 | 默认值 | 可选值 / 取值 | 说明 |
|---|---|---|---|---|
data_version | 字符串 | ”1.1" | "1.1” / “1.0” | 数据布局版本,同时决定镜像版本(v1.1 → ac-skillsbench-v1-1,v1.0 → ac-skillsbench-v1-0)。默认 “1.1”。 |
sample_ids 等共享 Benchmark 字段遵循 Benchmark 参数 的约定。SkillsBench 将标量 score 声明为 Metric Contract 主观测,并将二元 passed 声明为辅助观测。k>1 时使用 avg 聚合完整观测;由于主指标是标量,选择 pass 会在预检时报错,详见指标与聚合。
任务类别(点击展开)
任务类别(点击展开)
难度分布:简单(6)、中等(53)、困难(28)。合计 87 道任务。
运行示例
SkillsBench 的运行命令格式如下:skillsbench—— Benchmark ID;<harness>—— 驱动编程 agent 在容器内工作的 Harness。推荐openhands;也支持openclaw、claude_code。<model>—— 被测 model;其访问凭据通过--model-base-url/--model-api-key传入。
--env docker——每道任务运行在各自的 Docker 容器中。skillsbench_docker Recipe 会自动应用,按任务从 Docker 中心解析正确的镜像:v1.1 版本拉取 ailabdocker/ac-skillsbench-v1-1:<task_id>,v1.0 版本拉取 ailabdocker/ac-skillsbench-v1-0:<task_id>,由 data_version 决定。
运行前请确认本地 Docker 可用,并设置 MODEL_NAME、MODEL_BASE_URL 和 MODEL_API_KEY,分别指定被测 Model、API 地址和密钥。
推荐 Harness
推荐使用openhands。
- 冒烟测试(单条跑通)
- 自定义参数
- AgentCompass 推荐配置
通过
sample_ids 仅评测一条任务,用于验证 agent 与验证器的端到端流程是否正常。其他可选 Harness
claude_code 和 openclaw 是另外两个可选 Harness。以下命令均评测 v1.1 的全部 87 道任务,并使用与主路径相同的超时倍率。
- Claude Code
- OpenClaw
使用 Claude Code 运行完整评测。请将前述 Model 接入变量设为支持 Anthropic Messages API 的模型端点。
评测结果
通用结果说明见运行目录、汇总成绩和单题文件与公共字段。评分指标
SkillsBench 保留前文验证流程产生的部分分,并另外记录是否获得满分:
两项汇总值均越高越好。部分分会提高
score,但不会记为通过。由于主指标是标量,SkillsBench 不支持 --attempt-strategy pass;辅助 passed 指标不会启用提前停止。
多次尝试、分类聚合和计分异常的处理见指标与聚合。
单题结果与评分依据
meta.benchmark 下的 verify_log 保存验证器记录:
