在Agent能力快速迭代的当下,技能(Skill) 已成为提升智能体任务可靠性、输出质量与复用性的核心载体。但技能从“可用”到“好用”,必须经过系统化、可复现、可量化的评估验证。本文基于agentskills.io官方评估框架,从测试设计、执行流程、断言与评分、结果聚合、人工复核到迭代闭环,完整拆解Agent技能评估的技术体系与工程实践,为技能研发提供可落地的评估方法论。
一、技能评估的核心价值与定位
技能评估(Eval)不是简单的功能测试,而是以质量与效率为目标、以数据为依据、以迭代为闭环的系统性验证机制,核心解决三大问题:
- 可靠性:技能在多样提示、边界场景下是否稳定输出合格结果;
- 有效性:相比无技能/旧版本,是否带来可量化的质量提升;
- 经济性:提升质量的同时,时间与Token成本是否可控。
评估的本质是建立基线对比+客观断言+人工校验的三维验证体系,让技能优化从“凭感觉”转向“可度量”。
二、评估全流程:从测试用例到迭代闭环
技能评估遵循设计用例→执行评估→断言评分→结果聚合→人工复核→迭代优化的标准化闭环,每一步均有明确工程规范。
(一)测试用例设计:评估的基础工程
高质量测试用例是评估有效性的前提,标准结构包含三要素:
- Prompt:真实用户输入,覆盖不同表述、详细度、语气;
- Expected output:成功标准的可读描述,不预设具体格式;
- Input files(可选):任务依赖的输入文件。
编写原则
- 起步2–3个用例,先跑通流程再扩容;
- 表述多样化:口语化、精准指令、模糊需求混合;
- 覆盖边界:异常输入、歧义指令、极端数据;
- 贴近真实:包含文件路径、列名、业务上下文,避免空泛指令。
用例统一存入技能目录下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判定,并留存可追溯证据。
评分方式
- 脚本校验:格式、计数、文件存在性等机械检查,稳定可复用;
- LLM评分:内容完整性、逻辑合理性等语义检查;
- 结果记录:存入
grading.json,包含断言文本、结果、证据。
评分原则
- PASS必须有 concrete 证据,不“疑罪从无”;
- 同步校验断言本身:剔除恒过/恒失败的无效断言;
- 版本对比用盲评:隐藏版本信息,让LLM做整体质量打分。
(五)结果聚合:量化质量与成本
所有用例评分后,生成benchmark.json,统计核心指标:
- 通过率(mean/stddev)
- 平均耗时、Token消耗
- 差值(Delta):技能相对基线的提升与代价
Delta是决策关键:通过率大幅提升且成本可控,判定技能有效;反之则需重构。
(六)模式分析:定位问题与优化方向
聚合数据易掩盖细节,需做深度归因:
- 剔除恒过断言:不体现技能价值;
- 修复恒失败断言:规则错误或用例过难;
- 聚焦“有技能过、无技能不过”的断言:技能核心价值点;
- 高stddev场景:指令歧义或评估不稳定,需强化示例与约束;
- 耗时异常:排查执行日志,定位瓶颈。
(七)人工复核:覆盖客观校验盲区
断言只能校验预设项,人工复核补全:
- 技术正确但不符合用户意图;
- 格式合规但体验差;
- 风格、排版、可读性等软指标。
复核输出feedback.json,要求具体可行动,如X轴无标签,拒绝效果不好。
(八)技能迭代:闭环优化
整合三类信号驱动迭代:
- 失败断言:明确功能缺失;
- 人工反馈:整体质量问题;
- 执行日志:指令歧义与无效步骤。
迭代遵循四原则:
- 泛化修复:不针对单个用例打补丁;
- 保持精简:少而清晰的指令优于冗长规则;
- 给出理由:用
因为…所以…增强指令依从性; - 公共逻辑下沉:重复脚本归入技能
scripts/。
循环至通过率稳定、反馈为空、迭代无显著增益时停止。
三、关键技术要点与工程最佳实践
- 基线优先:无技能/旧版本必须作为对照,避免虚假提升;
- 断言后补:先跑一轮再定校验规则,更贴合真实输出;
- 隔离执行:干净上下文保证结果可复现;
- 数据留痕:所有输出、日志、评分、反馈持久化;
- 盲评增效:版本对比用盲评消除偏见;
- 成本共治:质量与Token/耗时同步优化,不唯通过率。
四、评估框架的价值与边界
核心价值
- 标准化:统一技能验收口径,降低协作成本;
- 可量化:用数据驱动优化,减少主观争议;
- 可复用:断言、用例、脚本跨迭代复用;
- 可规模化:支持技能从原型到量产的全生命周期管控。
适用边界
- 适合任务型、工具型、数据处理类技能;
- 创意生成、开放对话类技能需增强人工盲评权重;
- 小样本早期重流程,大规模后重统计稳定性。
五、总结
Eval驱动的技能评估,是Agent从“玩具”走向“工具”的关键工程基础设施。它以测试用例标准化、执行隔离化、断言客观化、评分数据化、迭代闭环化为支柱,实现技能质量、效率、成本的协同最优。
对技能开发者而言,这套体系不是额外负担,而是最高效的迭代杠杆:用更少调试时间、更稳的输出质量、更低的试错成本,持续交付高可用Agent技能。