← 科研空间 首页
Agent Skills / Benchmark arXiv v3 · 2026-03-13

SkillsBench: Benchmarking How Well Agent Skills Work Across Diverse Tasks

这篇论文不是在提出一个 Skill optimizer,而是在给 Skill Optimization 建立最基础的测量地基:同一任务、同一 agent-model 配置下, curated Skills 到底让 agent 多解决了多少问题,以及什么时候反而会伤害结果。

原版 PDF
版本说明

本文基于公开 arXiv 页面/PDF/source、公开 GitHub 仓库、项目站点与公开数据集入口整理,检索日期为 2026-05-27。文中所有实验配置和模型名按论文报告复述;不额外声称这些商业模型或 harness 的当前可用性。

Cheat Sheet

先给结论

+16.2ppcurated Skills 的平均 pass rate 提升:24.3% 到 40.6%。
-1.3ppself-generated Skills 平均不如无 Skills,说明“让模型自己写 skill”并不可靠。
84 / 1184 个被评估任务,覆盖 11 个领域,配 deterministic verifiers。
73087 个 agent-model 配置、三种 Skills 条件下的有效 trajectories。
SkillsBench architecture and aggregate pass rates
Figure 1. SkillsBench 的 layered framing 与七个 agent-model 配置上的 pass rate。图中展示 No Skills、curated Skills,以及支持该条件时的 self-generated Skills 对比。

这篇论文真正重要的地方

它把 Skill 从“好像有用的上下文包”变成了可做 paired evaluation 的干预变量。对于每个任务,论文比较无 Skills、curated Skills、self-generated Skills,使我们能讨论 Skill 本身的边际贡献,而不只是讨论模型绝对能力。

不要读成“Skills 总是有用”

论文明确显示 16/84 个任务出现负 delta,且 4+ Skills 和 comprehensive documentation 的收益明显下降。Skill 优化的目标不是把文档越写越长,而是让 agent 在正确时机读取正确程序,并少走弯路。

Why

研究动机:为什么需要 SkillsBench

LLM agent 已经能在 CLI、代码仓库、数据环境里执行多步任务,但基础模型的泛化知识和具体领域 workflow 之间仍有明显缺口。Fine-tuning 昂贵且不灵活;Skills 则把可编辑、可复用、可版本化的程序性知识放在 inference-time。

这篇论文要回答的不是“额外上下文会不会有帮助”这种近似同义反复,而是更难的问题:

这正好补上现有 agent benchmarks 的盲区:SWE-bench、Terminal-Bench、OSWorld 等主要评估固定系统完成任务的能力,而 SkillsBench 评估 runtime augmentation 的边际效果。

Boundary

概念边界:Skill 不等于 Prompt、RAG 或 Tool

论文给 Skill 的操作性定义很重要,因为后面所有实验都依赖这个边界。一个 Skill 至少要满足四点:

程序性内容

包含 how-to workflow、SOP、常见坑、校验步骤,而不是单纯事实检索。

任务类适用

适用于一类问题,而不是泄露某个 benchmark 实例的答案。

结构化组件

SKILL.md,并可附带 scripts、templates、examples、references。

可移植

基于文件系统,便于编辑、版本控制、分享,并被兼容 harness 加载。

和几种相邻概念的差别

范式 核心作用 为什么不是 Skill 和 Skill 的关系
Prompt 一次性指令或策略 通常缺少模块边界、资源文件和可版本化结构 Skill 里可以包含 prompt-like guidance,但不止于 prompt
RAG 检索事实或文档片段 主要解决 information access,不保证程序性 workflow Skill 可以引用资料,但重点是 how to execute
Tool documentation 描述工具 API 能做什么 描述 capability,不一定给出任务类程序 Skill 可以把工具文档压缩成可执行 SOP
Few-shot examples 通过例子诱导模式 通常是 declarative demonstrations,不一定模块化 Skill 可以包含 examples,但还要有流程和校验

我的读法:Skill optimization 确实很像 prompt optimization,但 Skill 的状态面更多:触发描述、程序正文、资源文件、示例、脚本、文件布局、harness 调用机制、跨任务适用范围。这些都是可 drift 的对象。

Benchmark

算法流程/方法:SkillsBench 如何构造

SkillsBench 建在 Harbor / Terminal-Bench 风格的 containerized evaluation 上。每个任务不是一段静态问答,而是一个可执行模块:

Instruction

人写任务描述,说明目标、输入格式、输出要求。

Environment

Docker 环境,包含任务数据和可选的 skills/ 目录。

Oracle

参考解法证明任务可解,并用于提交前质量控制。

Verifier

确定性测试脚本,输出 pass/fail,避免 LLM-as-judge 噪声。

SkillsBench pipeline
Figure 2. SkillsBench 的构造流程:收集 Skills 与任务,经过自动检查、人类 review、泄漏防护和反作弊审查,再在三种 Skills 条件下运行多个 commercial agent harness。

质量控制为什么关键

如果 Skill 含有 task-specific 文件名、magic number、测试答案或精确命令序列,那么 benchmark 测到的是泄漏,不是程序性知识。论文要求 Skill 面向任务类,而不是面向某个实例;并通过 CI agent、人类 review、oracle execution 和 deterministic verifier 做过滤。

任务与生态规模

SkillsBench domain distribution
Figure 3. 论文报告的 84 个被评估任务覆盖 11 个领域。

从候选到最终评估

  • 105 contributors 提交 322 candidate tasks。
  • 论文最终列出 86 个任务,其中 84 个进入主实验。
  • 任务按人类完成时间分为 Core 17、Extended 43、Extreme 26。
  • Skill 生态分析中,去重后得到 47,150 unique Skills。
Protocol

实验设计:三种 Skills 条件

论文评估三个 commercial agent harness:Claude Code、Codex CLI、Gemini CLI;七个论文报告的模型配置;所有模型 temperature 设为 0。每条 trajectory 是 agent 在某个任务、某个条件下的一次完整尝试,直到完成、失败或超时。

No Skills

只给任务指令,环境中没有 Skills。它是 baseline。

With Skills

提供完整 curated environment/skills/,包含说明、示例、代码或资源。

Self-Generated Skills

不给 curated Skills,而是要求 agent 先写 1-5 个可复用 skill documents,再用它们解决任务。

指标

主指标是 pass rate。论文还报告 normalized gain,用来衡量从 baseline 到完美表现之间填补了多少比例:

$$g = \frac{\text{pass}_{\text{skill}} - \text{pass}_{\text{vanilla}}}{1 - \text{pass}_{\text{vanilla}}}$$

注意:normalized gain 有天花板效应。一个 baseline 已经很高的系统,绝对提升小也可能有较大 g;所以这篇论文同时报告 absolute delta 和 normalized gain。

Evidence

实验结果:curated Skills 有用,但不是单调魔法

主结果表

Harness Model No Skills With Skills Delta Self-Gen
Gemini CLI Gemini 3 Flash 31.3% 48.7% +17.4pp --
Claude Code Opus 4.5 22.0% 45.3% +23.3pp 21.6% / -0.4pp
Codex GPT-5.2 30.6% 44.7% +14.1pp 25.0% / -5.6pp
Claude Code Opus 4.6 30.6% 44.5% +13.9pp 32.0% / +1.4pp
Gemini CLI Gemini 3 Pro 27.6% 41.2% +13.6pp --
Claude Code Sonnet 4.5 17.3% 31.8% +14.5pp 15.2% / -2.1pp
Claude Code Haiku 4.5 11.0% 27.7% +16.7pp 11.0% / 0.0pp
Mean 24.3% 40.6% +16.2pp 21.0% / -1.3pp

最强的结论不是某个模型赢了,而是 curated Skills 在所有 7 个配置上都提高了 pass rate;同时 self-generated Skills 平均没帮助,且在 Codex + GPT-5.2 上显著变差。换句话说,模型可以消费好的程序性知识,但不稳定地生产好的程序性知识。

领域差异很大

Domain No Skills With Skills Delta 我的读法
Healthcare 34.2% 86.1% +51.9pp 专业流程、单位 harmonization、实验数据处理,Skill 很容易变成关键 SOP。
Manufacturing 1.0% 42.9% +41.9pp 约束优化和排产流程不是通用语言能力能稳定覆盖的。
Cybersecurity 20.8% 44.0% +23.2pp 工具链和审计流程明确,适合写成 procedure。
Natural Science 23.1% 44.9% +21.9pp 方法、单位、数据处理 pipeline 对结果影响很大。
Software Engineering 34.4% 38.9% +4.5pp 模型已有较强预训练覆盖,额外 Skill 的边际收益小,还可能引入噪声。

任务级别:最大增益和负增益同时存在

最大正增益

  • mario-coin-counting: 2.9% 到 88.6%,+85.7pp
  • sales-pivot-analysis: 0.0% 到 85.7%,+85.7pp
  • flood-risk-analysis: 2.9% 到 80.0%,+77.1pp
  • sec-financial-report: 0.0% 到 75.0%,+75.0pp
  • software-dependency-audit: 8.6% 到 69.4%,+60.9pp

负增益样例

  • taxonomy-tree-merge: -39.3pp
  • energy-ac-optimal-power-flow: -14.3pp
  • trend-anomaly-causal-inference: -12.9pp
  • exoplanet-detection-period: -11.4pp

这些 case 是后续 Drift Monitor 最该盯住的地方:Skill 不是单向增强,更新后可能缩小作用域、引入冲突策略或让 agent 过度执行错误流程。

Task-level Skills uplift heatmap
Figure 4. 任务级 Skills uplift heatmap。蓝色代表正向提升,红色代表 Skills 伤害结果;它直观说明 Skill 效果是高度异质的。

Skill 数量和复杂度:少而准更好

Skills Count With No Delta
1 skill 42.2% 24.4% +17.8pp
2-3 skills 42.0% 23.4% +18.6pp
4+ skills 32.7% 26.9% +5.9pp
Complexity Pass Rate Delta N
Detailed 42.7% +18.8pp 1165
Compact 37.6% +17.1pp 845
Standard 37.1% +10.1pp 773
Comprehensive 39.9% -2.9pp 140

这两个表对 skill 优化非常关键:优化目标不是“堆更多知识”,而是让知识更可定位、更程序化、更短路径、更少冲突。

Mechanism

成本与失败模式:Skills 改善的主要是质量失败

Cost-performance Pareto figure
Figure 5. 论文的 cost-performance view:with-Skills 条件整体把 frontier 往上推。成本估计依赖论文中的 2026 年 2 月价格假设,Claude Code 成本数据不完整。

成本结论要谨慎读

  • Codex/Gemini 的 Skills 条件输入 token 增加约 6-13%。
  • GPT-5.2 单次成本从 USD 1.85 到 USD 2.07,+12%。
  • Gemini 3 Flash 从 USD 0.54 到 USD 0.57,+6%。
  • Gemini 3 Pro 反而从 USD 1.13 到 USD 1.06,-6%,论文解释为 Skills 减少探索轮数。

失败分类

Failure mode Count Share 含义
Quality Below Threshold 2577 49.8% 输出结构有了,但数值、质量或阈值不达标。
Agent Timeout 922 17.8% 策略可能在走,但没有在预算内结束。
Incomplete Solution 527 10.2% 完成一部分 deliverables,遗漏关键组件。
No Output Produced 411 7.9% 连 required output file 都没有生成。
Domain Knowledge Gap 251 4.9% 领域概念、单位、公式或方法理解错。

最有价值的分析是:With Skills 把整体 failure rate 从 78.4% 降到 61.1%;Quality Below Threshold 的绝对数量从 1184 降到 819,下降 30.8%。这说明 Skills 不只是让 agent 产生文件,而是让已经进入解题轨道的 agent 更接近 verifier-facing 的正确输出。

My Review

我的评论:它是 Skill Optimization 的地基,不是终点

优点

  • paired evaluation 设计正确:同一任务下比较有无 Skill,直接测边际贡献。
  • deterministic verifier 降低 judge noise,使结果适合后续做 optimizer benchmark。
  • 承认负例和 self-gen 失败,没有把 Skills 包装成普适增强。
  • 提供任务级、领域级、数量/复杂度、失败模式多个视角。

限制

  • Skills 注入也增加 context length,仍需要更强 length-matched controls 来隔离“程序结构”本身的因果作用。
  • curated Skills 是乐观场景;真实 Skill 生态质量参差,自动检索/选择会引入更多噪声。
  • harness-specific invocation 很强:with Skills 不是一个统一干预,Claude/Codex/Gemini 的读取路径不同。
  • 任务集中在 terminal/containerized 设置,GUI、多模态、多 agent 和更长 horizon 还没有覆盖。

和 SkillOpt / SkillEvolver 的关系

SkillOpt 这类工作通常问:能否自动改写、合成或选择 Skill,让任务表现更好?SkillsBench 提供的是评价底座:有 paired task,有 curated baseline,有 deterministic verifier,也有负例。真正难点会变成:

SKILL.md length distribution
Figure 6. 论文附录中的 SKILL.md token distribution:生态中的 Skills 多数较轻量。这个事实和主实验中 compact/detailed 优于 comprehensive 的结果相互呼应,但长度本身不是质量。
Total Skill size distribution
Figure 7. total Skill package size distribution。Skill 可以有资源文件,但主流形态仍偏 concise artifact。
One More Thing

对 Drift Monitor 的启发

如果 agent skills 是持久化的程序性记忆,那么每次 Skill update 都是在修改 future-self。SkillsBench 给出的信号是:Skill 能显著提升表现,但也能伤害任务;self-generated Skill 平均失败;过多或过长 Skill 有负担。因此 self-evolving agent 不能只有 optimizer,还需要 admission gate。

SkillsBench asks: do skills help?
SkillOpt asks: can we improve skills?
Drift Monitor asks: should this skill update be admitted into persistent agent state?

Drift Monitor 应该盯什么

Semantic Drift

新 Skill 是否改变了原本任务类定义,把广义 procedure 缩成了某个 benchmark trick?

Invocation Drift

frontmatter / description / trigger 是否导致 agent 在错误任务上调用,或在正确任务上不调用?

Verifier Overfit

新 Skill 是否只优化当前 verifier 的表面条件,而不是稳健地完成任务类?

Regression

旧任务、相邻任务、负例任务是否因为 update 退化?尤其要看 SkillsBench 中那些负 delta pattern。

Context Burden

Skill 是否变长、重复、冲突,导致 4+ Skills / comprehensive documentation 那类退化?

Cross-Harness Fragility

同一 Skill 在不同 harness 的发现、注入、执行路径是否仍成立?

我会把这篇论文放在阅读顺序最前面

因为它给后续所有 skill optimization 论文提供了“该怎么测”的参照系。没有 SkillsBench 这一类 paired benchmark,Skill optimizer 很容易沦为 prompt optimizer 的换名版本:只在一个 task/verifier 上迭代文本,看起来更好,但不知道是否真的提升了可复用程序性知识。

Sources

Reference / Evidence

arXiv abstract: SkillsBench

论文公开页面,包含版本记录与摘要。

arXiv PDF

正文、图表、附录和实验细节的公开 PDF。

GitHub: benchflow-ai/skillsbench

公开 benchmark 仓库和任务/实验入口。

Project website

项目主页。

Hugging Face dataset

公开数据集入口。