通用 Agent 基准可以比较模型,却很难回答 Skill 作者最实际的问题:刚写好的这个 Skill,到底有没有帮助?
固定基准只能测试预先选定的 Skill 和任务。新 Skill 的用途、依赖和行为约束各不相同,不能简单套用同一组题。Tessl 团队因此提出了一条面向任意 Skill 的评测管线:从 Skill 内容和用户意图生成真实任务,构造可执行环境与隐藏评分标准,然后让同一个 Agent 在有 Skill 和无 Skill 两种条件下完成任务。
Skill 评测框架:生成环境、任务和隐藏 Rubric,再进行有 Skill 与无 Skill 的配对运行
#先定义 Skill 想改变什么
Skill 可能提供新知识,也可能只是要求 Agent 采用特定工作流、库、命名规则或禁止模式。两类价值不能用同一个结果指标代替。
论文把评分拆成两个维度:
- 目标完成:最终产物是否存在、正确并满足用户要求
- 指令遵循:Agent 是否采用 Skill 规定的方法、结构、工具和约束
一个 Skill 可能不提高任务完成率,却显著改变实现方式。例如,两个方案都能运行,但组织只允许其中一个依赖库。反过来,Agent 也可能形式上遵守大量步骤,最终产物却没有完成。把两者混成单一总分,会掩盖 Skill 究竟改变了什么。
#五段式评测管线
框架从分析 Skill 与用户意图开始。理想输入不是 Skill 文件本身,而是真实工单、用户请求和历史交互,因为它们能说明 Skill 在生产中如何被调用。没有真实输入时,系统才从 Skill 内容推断可能的使用场景。
第二步是环境工程。系统检查任务是否需要 CLI、运行时、网络、认证、MCP 服务、数据库、浏览器、现有代码仓或特定 Git 状态。缺少这些条件时,失败反映的是环境不完整,而不是 Skill 无效。
第三步生成任务、输入材料和隐藏 Rubric。任务描述不能泄露 Skill 中的具体步骤,否则 Agent 即使不读取 Skill 也能照题面完成,配对实验就失去意义。
第四步进行质量验证,淘汰含糊、不可执行、输入不完整或泄露答案的任务。人工可以在每个阶段检查和修改中间产物;论文也承认,人机协作模式通常比全自动生成更可靠。
最后,Agent 在完全相同的环境和任务上运行两次,唯一变量是能否访问 Skill。验证 Agent 根据隐藏 Rubric 评分,并记录运行时间、成本和 token 消耗。
#从 500 个 Skill 到 3.8 万条轨迹
研究从知名组织发布的开源 Skill 中筛选约 500 个样本,为它们生成约 1,000 个任务,并测试 19 种 Agent–模型配置,得到约 3.8 万条有效执行轨迹。
所有被测模型都因相关 Skill 获得一定提升,但提升主要来自指令遵循,而不是目标完成。原因并不神秘:许多基础模型本来就能完成任务,Skill 的主要作用是把行为推向组织偏好的工作流。
不同模型利用同一个 Skill 的能力差异很大。最强配置的指令遵循分数接近 88,部分开源模型可以接近前沿闭源模型,另一些模型即使看到了 Skill,也更倾向依赖自身先验。Skill 的效果因此不是文件自身的固定属性,而是 Skill、模型和 Harness 的联合结果。
19 种 Agent–模型配置的 Skill 指令遵循得分差距明显,最高接近 88,最低约 25
实验还发现,Skill 对较小模型的相对帮助往往更明显。外部程序性知识可以缩小便宜模型与前沿模型之间的差距,但不能保证所有模型都能正确吸收这些知识。
#这套方法没有测什么
为了隔离 Skill 被调用后的效用,实验会明确告诉 Agent 相关 Skill 已安装。这意味着它没有完整测试自动发现与路由:生产环境中的 Agent 可能根本没有意识到应该加载它。
大规模实验还排除了许多难以自动构造的环境,包括依赖现有仓库状态、MCP、数据库、预置外部服务和多轮用户输入的 Skill。保留下来的任务明显偏向可在受控环境完成的编码工作。
评分使用 LLM Judge,任务又主要从 Skill 内容生成,因此还存在评测偏向 Skill、评分器误判和任务多样性不足的风险。论文的结论更适合解释“Skill 是否改变了 Agent 的目标行为”,不能直接等同于真实用户价值。
#一套可落地的最小协议
对于单个 Skill,最低限度的评测不应该只是跑几条示例,而应包括:
- 从真实任务中建立代表性样本,而不是从 Skill 反推所有题目
- 固定模型、Harness、工具和环境,做有/无 Skill 配对
- 分开测量任务结果与工作流遵循
- 对确定性结果优先使用代码验证器
- 记录重复运行的方差、时间、token 和成本
- 另外测试自动发现、错误 Skill 干扰和无需 Skill 时的拒绝调用
- Skill 修改后运行保留集回归,而不是只重测失败样本
这套框架真正建立的是“边际效用”概念:Skill 不是因为写得完整就有价值,而是因为它在受控比较中,让 Agent 稳定地产生了原本不会产生的正确行为。