改进 Skill Creator:如何测试、度量与优化 Agent Skills

张开发
2026/4/12 17:24:52 15 分钟阅读

分享文章

改进 Skill Creator:如何测试、度量与优化 Agent Skills
引言为什么 Skill 作者需要测试工具Anthropic 在 2025 年 10 月推出了 Agent Skills让团队可以将自己的工作流程编码进 Claude使其在特定场景下自动触发并执行任务。但随着使用推广一个核心问题逐渐浮现大多数 Skill 作者是领域专家而不是工程师。他们懂得自己的业务流程知道 Claude 应该做什么却没有工具去验证换了新版模型之后skill 还能正常运行吗用户发出的提示词skill 会在正确的时机被触发吗我修改了 skill 的描述或指令之后它真的变好了吗过去这些问题只能靠感觉或人工反复试验来回答。这次更新的目标是把软件工程中成熟的测试与迭代方法带入 skill 创作——而且不需要写一行代码。一、两类 Skill各有侧重在讲新功能之前需要先理解 Skill 的两种基本形态因为它们需要测试的原因不同。能力扩展型Capability Uplift这类 skill 的作用是让 Claude做到它原本做不到或做不稳定的事。典型例子是文档创建类 skill。Claude 的基础模型在处理复杂的 PDF 表单填写时表现不稳定而一个精心设计的 skill 可以将特定的处理技巧编码进去产出比单纯用提示词更可靠、更高质量的结果。这类 skill 的测试重点随着模型能力提升skill 是否已经变得多余偏好编码型Encoded Preference这类 skill 的作用不是弥补模型能力的不足而是将团队特有的工作流程固化进 Claude 的行为。例如按照公司法务标准逐条审查 NDA 合同的 skill每周从多个数据源MCP汇总数据并起草周报的 skillClaude 本身有能力完成每个步骤但 skill 负责确保它按照你们团队的特定顺序和标准来执行而不是自由发挥。这类 skill 的测试重点流程是否真的忠实于实际工作流一句话总结测试让一个看起来能用的 skill 变成一个确定能用的 skill。二、Evals给 Skill 写测试用例什么是 EvalsEvals评估用例是 Skill Creator 新增的核心能力。类比软件开发中的单元测试你定义一些测试场景描述好的输出应该是什么样子然后让系统自动验证 skill 是否通过。具体来说一个 eval 包含测试提示词模拟真实用户会发出的请求附带文件可选如果任务涉及文档处理成功标准描述期望的输出结果或行为真实案例PDF Skill 的问题定位下图展示了 PDF skill 修复前后的对比图中左侧Before是修复前的状态Claude 在处理不可填写表单时需要将文字放置在精确坐标位置但没有预定义字段可以参照导致文字定位错乱、表单填写失败。右侧After是通过 evals 定位到失败点、发布修复后的状态新版本将定位锚点绑定到从文档中提取的实际文字坐标定位精准信息填入正确位置。没有 evals这类问题很难被系统性地发现。作者在手动测试时可能碰巧使用了可填写的表单从未触发这个边界情况。Evals 的两大核心用途1. 捕获质量回归Regression Detection模型在持续更新Claude Sonnet 今天的行为和三个月后的行为可能有所不同。一个上个月还运转良好的 skill在新模型上可能悄然失效——而你毫不知情直到用户反馈。有了 evals每次模型更新后可以自动运行一遍提前发现问题在影响团队工作之前修复。2. 感知模型自身能力的成长Model Progress Tracking这个用途更加微妙主要针对能力扩展型 skill。当你的 evals 显示不加载 skill 的情况下基础模型也能通过所有测试——这意味着 skill 中编码的那些技巧已经被模型默认吸收了。这个 skill 没有坏掉只是不再必要了。这是一个好消息说明模型在进步但如果不测试你永远不知道什么时候可以清理掉那些已经过时的 skill。三、Benchmark Mode量化比较数据说话仅靠通过/失败有时还不够你可能还想知道这个 skill 到底带来了多少提升它运行得快不快消耗 token 多不多Benchmark Mode 提供了标准化的量化评估。图中展示的是一次针对 PDF skill 的基准测试用户在对话框中输入“Benchmark the pdf skill with and without the skill loaded. Show me side-by-side results so I can see the uplift.”系统返回了一张对比表格Benchmark: pdf · Claude Sonnet 4.5 · 2026-02-27核心数据如下测试用例WITH SKILL通过/时间/TokenWITHOUT SKILL通过/时间/Tokenfill-nonfillable-form✓ 4.2s / 2,847✗ 3.8s / 2,102extract-tables-multipage✓ 6.8s / 4,102✓ 7.1s / 3,890merge-and-bookmark✓ 3.1s / 1,956✓ 3.3s / 1,721fill-fillable-w-validation✓ 5.9s / 3,211✗ 5.2s / 2,845ocr-scanned-to-searchable✓ 8.4s / 5,088✗ 9.1s / 4,602汇总5/5 通过100%/ 28.4s / 17,204 tokens2/5 通过40%/ 28.5s / 15,160 tokens这张表格直观说明了几件事skill 效果显著加载 skill 后通过率从 40% 提升到 100%尤其是不可填写表单、OCR 转换这类难题时间代价极小总时间几乎持平28.4s vs 28.5s说明 skill 引入的额外指令没有造成明显延迟token 消耗略增从 15,160 增加到 17,204是为了更好输出质量付出的合理代价这些数据可以本地存储也可以接入 CI 系统或 Dashboard实现自动化监控。四、多 Agent 支持与 A/B 测试并行运行消除干扰当 evals 数量较多时顺序运行有两个问题慢且上下文会在测试之间泄漏——前一个测试的信息可能影响后一个测试的判断。新版本为每个 eval 启动独立的 Agent并行运行每个 agent 拥有完全干净的上下文并有自己独立的 token 和时间统计。速度更快结果更可靠。Comparator Agent盲测对比两个版本图中清晰展示了 A/B 测试的工作流程Executor (with skill) ──┐ ├──► Comparator (blind) ──► Report winner Executor (without skill) ──┘ │ └── Rubric scores / expectation results两个 Executor agent 分别在有 skill和无 skill的条件下执行相同任务产出各自的结果。然后由Comparator agent进行盲评——它不知道哪个输出来自哪个版本只根据评分标准rubric和预期结果打分最终报告哪个版本获胜。这种盲测设计避免了主观偏差。对于 skill 迭代来说这意味着你可以客观验证“我这次修改到底有没有让 skill 变得更好”五、Skill 描述优化让触发更精准Evals 解决了输出质量的问题但还有另一个隐患skill 在该触发的时候没触发或者不该触发的时候乱触发。随着一个团队积累的 skill 越来越多每个 skill 的描述需要足够精准才能让 Claude 在接收到用户提示时做出正确判断。描述太宽泛→ 误触发false positives用户只是随口问了一句skill 却强行介入描述太窄→ 漏触发false negatives用户明确需要这个 skill它却没有启动Skill Creator 新增了描述优化功能它会分析当前 skill 描述与一批样本提示词的匹配情况然后建议具体的修改方向——哪些词语引发了误触发哪些场景被遗漏了。实测数据图表展示的是 Anthropic 在自己的 6 个公开文档创建 skillpdf、docx、pptx、xlsx、product-self-knowledge上运行描述优化后的结果。左图Test scoreheld-out 测试集和右图Train score训练集均对比了新旧描述的准确率pdf测试集从 6/8 提升到 7/8训练集从 9/12 提升到 11/12docx测试集从 3/7 提升到 5/7提升明显pptx测试集维持 4/8 → 4/8无变化是 6 个里唯一没有改善的xlsx测试集从 6/8 提升到 8/8满分训练集从 7/12 提升到 10/12product-self-knowledge测试集从 6/12 提升到 10/12提升最为显著结论6 个 skill 中有 5 个在触发准确性上得到了改善。唯一没有改善的 pptx可能本身描述已经足够精准或者存在其他原因。六、未来方向从怎么做到做什么文章最后提出了一个更深远的设想。今天一个SKILL.md文件本质上是一份实现计划它详细告诉 Claude 每一步应该怎么做how包括调用哪些工具、遵循什么格式、处理哪些边界情况。但随着模型能力的持续提升这种详细指令可能越来越不必要。未来skill 也许只需要描述目标是什么what模型自己推断出最佳执行路径。而 evals 框架正是朝这个方向迈出的关键一步Evals 已经在描述what——期望的输出是什么成功标准是什么。最终这个描述本身可能就是 skill 的全部。总结新功能解决的问题核心价值Evals 评估测试不知道 skill 是否还能用系统化验证捕获回归Benchmark Mode无法量化 skill 的提升效果通过率、时间、token 三维对比多 Agent 并行测试慢、上下文污染隔离运行结果更可信Comparator Agent无法客观判断版本优劣盲测对比消除主观偏差描述优化Skill 触发不准确减少误触发和漏触发这套工具组合让非工程师背景的 skill 作者也能像软件工程师一样写测试、跑基准、迭代改进、数据驱动决策。

更多文章