在Agent能力快速迭代的当下,技能(Skill) 已成为提升智能体任务可靠性、输出质量与复用性的核心载体。但技能从“可用”到“好用”,必须经过系统化、可复现、可量化的评估验证。本文基于agentskills.io官方评估框架,从测试设计、执行流程、断言与评分、结果聚合、人工复核到迭代闭环,完整拆解Agent技能评估的技术体系与工程实践,为技能研发提供可落地的评估方法论。

一、技能评估的核心价值与定位

技能评估(Eval)不是简单的功能测试,而是以质量与效率为目标、以数据为依据、以迭代为闭环的系统性验证机制,核心解决三大问题:

  1. 可靠性:技能在多样提示、边界场景下是否稳定输出合格结果;
  2. 有效性:相比无技能/旧版本,是否带来可量化的质量提升;
  3. 经济性:提升质量的同时,时间与Token成本是否可控。

评估的本质是建立基线对比+客观断言+人工校验的三维验证体系,让技能优化从“凭感觉”转向“可度量”。

二、评估全流程:从测试用例到迭代闭环

技能评估遵循设计用例→执行评估→断言评分→结果聚合→人工复核→迭代优化的标准化闭环,每一步均有明确工程规范。

(一)测试用例设计:评估的基础工程

高质量测试用例是评估有效性的前提,标准结构包含三要素:

  • Prompt:真实用户输入,覆盖不同表述、详细度、语气;
  • Expected output:成功标准的可读描述,不预设具体格式;
  • Input files(可选):任务依赖的输入文件。

编写原则

  1. 起步2–3个用例,先跑通流程再扩容;
  2. 表述多样化:口语化、精准指令、模糊需求混合;
  3. 覆盖边界:异常输入、歧义指令、极端数据;
  4. 贴近真实:包含文件路径、列名、业务上下文,避免空泛指令。

用例统一存入技能目录下evals/evals.json,便于版本管理与批量执行。

(二)评估执行:基线对比与环境隔离

评估核心模式是双轨对比:同一用例分别在启用技能无技能(或旧版本) 下执行,形成基准对照。

1. 工作区目录规范

评估结果与技能源码解耦,独立工作区结构:

csv-analyzer-workspace/
└── iteration-1/
├── eval-xxx/
│ ├── with_skill/ # 启用技能输出
│ └── without_skill/ # 基准输出
└── benchmark.json # 聚合统计

每次完整评估循环生成新iteration-N目录,保证历史可追溯。

2. 执行隔离要求

  • 每次运行清空上下文,避免历史状态干扰;
  • 支持子Agent环境(如Claude Code)天然隔离;
  • 无子Agent时用独立会话,确保只遵循SKILL.md指令。

3. 时序与Token采集

每次执行记录timing.json,包含:

  • total_tokens:总Token消耗
  • duration_ms:执行耗时

用于评估质量—成本权衡,避免高耗低效的技能优化。

(三)断言编写:客观可验证的评分标准

断言(Assertion)是输出合格性的可编程校验规则,避免主观判断。

优质断言特征

  • 可程序验证:输出为合法JSON文件存在且维度正确
  • 具体可观测:图表坐标轴有标签报告包含≥3条建议
  • 非脆弱:不绑定固定句式,允许合理表述差异。

弱断言反例

  • 模糊:输出效果好
  • 僵化:必须包含固定字符串

断言在首轮执行后补充,写入evals.json对应用例,实现先观察、再定标

(四)输出评分:自动化与证据链

评分即对每条断言做PASS/FAIL判定,并留存可追溯证据。

评分方式

  1. 脚本校验:格式、计数、文件存在性等机械检查,稳定可复用;
  2. LLM评分:内容完整性、逻辑合理性等语义检查;
  3. 结果记录:存入grading.json,包含断言文本、结果、证据。

评分原则

  • PASS必须有 concrete 证据,不“疑罪从无”;
  • 同步校验断言本身:剔除恒过/恒失败的无效断言;
  • 版本对比用盲评:隐藏版本信息,让LLM做整体质量打分。

(五)结果聚合:量化质量与成本

所有用例评分后,生成benchmark.json,统计核心指标:

  • 通过率(mean/stddev)
  • 平均耗时、Token消耗
  • 差值(Delta):技能相对基线的提升与代价

Delta是决策关键:通过率大幅提升且成本可控,判定技能有效;反之则需重构。

(六)模式分析:定位问题与优化方向

聚合数据易掩盖细节,需做深度归因:

  1. 剔除恒过断言:不体现技能价值;
  2. 修复恒失败断言:规则错误或用例过难;
  3. 聚焦“有技能过、无技能不过”的断言:技能核心价值点;
  4. 高stddev场景:指令歧义或评估不稳定,需强化示例与约束;
  5. 耗时异常:排查执行日志,定位瓶颈。

(七)人工复核:覆盖客观校验盲区

断言只能校验预设项,人工复核补全:

  • 技术正确但不符合用户意图;
  • 格式合规但体验差;
  • 风格、排版、可读性等软指标。

复核输出feedback.json,要求具体可行动,如X轴无标签,拒绝效果不好

(八)技能迭代:闭环优化

整合三类信号驱动迭代:

  1. 失败断言:明确功能缺失;
  2. 人工反馈:整体质量问题;
  3. 执行日志:指令歧义与无效步骤。

迭代遵循四原则:

  • 泛化修复:不针对单个用例打补丁;
  • 保持精简:少而清晰的指令优于冗长规则;
  • 给出理由:用因为…所以…增强指令依从性;
  • 公共逻辑下沉:重复脚本归入技能scripts/

循环至通过率稳定、反馈为空、迭代无显著增益时停止。

三、关键技术要点与工程最佳实践

  1. 基线优先:无技能/旧版本必须作为对照,避免虚假提升;
  2. 断言后补:先跑一轮再定校验规则,更贴合真实输出;
  3. 隔离执行:干净上下文保证结果可复现;
  4. 数据留痕:所有输出、日志、评分、反馈持久化;
  5. 盲评增效:版本对比用盲评消除偏见;
  6. 成本共治:质量与Token/耗时同步优化,不唯通过率。

四、评估框架的价值与边界

核心价值

  • 标准化:统一技能验收口径,降低协作成本;
  • 可量化:用数据驱动优化,减少主观争议;
  • 可复用:断言、用例、脚本跨迭代复用;
  • 可规模化:支持技能从原型到量产的全生命周期管控。

适用边界

  • 适合任务型、工具型、数据处理类技能;
  • 创意生成、开放对话类技能需增强人工盲评权重;
  • 小样本早期重流程,大规模后重统计稳定性。

五、总结

Eval驱动的技能评估,是Agent从“玩具”走向“工具”的关键工程基础设施。它以测试用例标准化、执行隔离化、断言客观化、评分数据化、迭代闭环化为支柱,实现技能质量、效率、成本的协同最优。

对技能开发者而言,这套体系不是额外负担,而是最高效的迭代杠杆:用更少调试时间、更稳的输出质量、更低的试错成本,持续交付高可用Agent技能。