写代码要测试,这是常识。
但给 AI Agent 写技能(Skills),要不要测试?
以前的答案是:不知道怎么测。
现在 Anthropic 给出了答案:必须测,而且可以自动测。
问题:Skills 只是”看起来管用”
如果你用过 Claude 的 Agent Skills,应该知道 skill-creator 这个工具。
它可以让你零代码创建 Skills,只需要描述”这个技能是干什么的”,Claude 就能自动生成。
听起来很美好,但实际使用会遇到这些问题:
- 这个 Skills 在新模型版本上还能用吗?
- 它是不是只在该触发时才触发?会不会误触发?
- 我改了一下描述,效果真的变好了吗?
没有测试机制,你永远不知道答案。
Skills 只是”看起来管用”,而不是”确切知道管用”。
这次 Anthropic 的更新,就是为了解决这个问题。
核心更新:给 Skills 加上测试
Anthropic 这次更新,把软件开发的测试、基准、迭代实践引入了 Agent Skills 创作。
而且完全无需写代码。
1. Evals:Skills 的”单元测试”
这是最重要的功能。
什么是 Evals?
就像软件开发中的单元测试,Evals 用来验证 Skills 是否按预期工作。
怎么用?
你只需要提供:
- 测试提示词(输入)
- “好输出应该是什么样子”的描述(预期结果)
skill-creator 会自动:
- 运行 Skills
- 判断输出是否达标
- 给出通过/失败的结果
实际案例:
Anthropic 团队的 PDF Skills 曾无法处理”无字段的非填表表单”,必须精确坐标放置文字。
通过 Evals,他们精准定位了失败场景,然后修复为”锚定已提取文字坐标”,问题解决。
两大价值:
- ✅ 及早发现质量回归(改了代码,测试挂了)
- ✅ 判断能力提升型 Skills 是否”过时”(模型进化了,Skills 可以退休了)
2. Benchmark 模式:性能仪表盘
Evals 是单个测试,Benchmark 是批量测试。
支持批量运行同一组 Evals,输出指标包括:
- 通过率
- 执行时间
- Token 消耗
用途:
- 模型更新后,跑一遍 Benchmark,看看 Skills 是否还能用
- Skills 迭代前后,跑一遍 Benchmark,看看改进效果
- 定期运行,接入仪表盘或 CI/CD 系统
这就是真正意义上的 “Skills 持续集成”。
3. 多智能体并行 + 比较智能体
多智能体并行:
- 每个 eval 在独立干净的上下文中并行运行
- 避免上下文污染和顺序依赖
- 大幅提速
比较智能体:
- 盲测模式
- 同时运行”Skills A vs Skills B”或”有 Skills vs 无 Skills”
- 由第三方智能体在不知情的情况下客观打分
- 消除主观偏差
这就像 A/B 测试,但是自动化的。
4. 触发描述智能调优
Skills 越多,触发描述就越重要。
问题:
- 描述过宽 → 误触发(不该用的时候用了)
- 描述过窄 → 永不触发(该用的时候没用)
skill-creator 现在可以:
- 分析当前描述 vs 历史样本提示
- 建议优化文字
- 同时降低假阳性和假阴性
Skills 的两种本质类型
Anthropic 把 Skills 分为两类,测试重点不同:
1. 能力提升型
定义: 模型原本”做不到”或”做不稳定”的事,通过 Skills 注入特定技巧、模式来稳定输出。
典型例子: 文档创建 Skills
测试重点: 监控模型通用能力是否已追上或超越 Skills。
一旦基线模型无需 Skills 即可通过 evals,该 Skills 即可”退休”。
2. 偏好编码型
定义: 模型每一步都能做,但需要按团队特定流程严格排序。
典型例子:
- 按固定标准审查 NDA
- 按公司模板生成周报
测试重点: 验证 Skills 是否忠实还原真实工作流,而非模型的”自由发挥”。
为什么这次更新很重要?
1. 从”手工作坊”到”工业生产”
以前创建 Skills:
- 写个描述
- 试一试
- 看起来能用
- 上线
现在创建 Skills:
- 写个描述
- 写测试用例
- 跑 Evals
- 看通过率
- 跑 Benchmark
- 看性能指标
- 上线
- 持续监控
这是质的飞跃。
2. Skills 可以”退休”了
以前,Skills 只会越来越多,因为不知道哪些还有用。
现在,通过 Evals 可以知道:
- 这个 Skills 是否还有必要存在
- 模型是否已经学会了这个能力
Skills 可以”光荣退休”了。
3. 团队协作成为可能
以前,Skills 是个人的”黑盒”。
现在,有了测试和 Benchmark:
- 其他人可以理解这个 Skills 是干什么的
- 可以验证修改是否破坏了原有功能
- 可以对比不同版本的性能
团队协作成为可能。
我的看法
这次更新,本质上是在建立 Agent Skills 的工程化标准。
软件开发经过几十年发展,形成了一套成熟的工程实践:
- 单元测试
- 集成测试
- 持续集成
- 性能监控
现在,这套实践正在被引入 AI Agent 开发。
这是必然的。
AI Agent 不是玩具,而是生产力工具。
生产力工具必须:
- 可靠(不能时好时坏)
- 可测试(知道什么时候好,什么时候坏)
- 可维护(能改,改了不会坏)
- 可协作(团队能一起用)
Anthropic 这次更新,就是在往这个方向走。
实际应用场景
场景 1:模型升级后的回归测试
# 模型从 Claude 3.5 升级到 Claude 4.0
# 跑一遍 Benchmark
skill-creator benchmark run --all
# 查看结果
# 通过率:95% → 98%(好事)
# 执行时间:2.3s → 1.8s(好事)
# Token 消耗:1200 → 1500(需要评估成本)
场景 2:Skills 迭代前后对比
# 修改了 PDF Skills 的描述
# 跑 A/B 测试
skill-creator compare \
--skill-a pdf-v1 \
--skill-b pdf-v2 \
--evals pdf-test-suite
# 结果:v2 通过率 +5%,误触发率 -10%
# 决定:上线 v2
场景 3:判断 Skills 是否过时
# 定期跑测试
skill-creator eval run --skill document-creator
# 结果:
# 有 Skills:通过率 95%
# 无 Skills:通过率 94%
# 结论:这个 Skills 可以退休了
技术启示
这次更新给我们的启示:
1. AI 工程化是趋势
AI 不再是”调参炼丹”,而是需要工程化的实践。
测试、监控、持续集成,这些都会成为标配。
2. 可观测性很重要
你需要知道:
- AI 在做什么
- 做得好不好
- 什么时候会出问题
没有可观测性,AI 就是黑盒。
3. 自动化测试是必须的
手工测试 AI,成本太高。
自动化测试,是唯一可行的方案。
总结
Anthropic 这次更新,核心是四个功能:
- Evals - Skills 的单元测试
- Benchmark - 批量测试 + 性能指标
- 多智能体并行 + 比较智能体 - 提速 + 客观评估
- 触发描述调优 - 降低误触发
本质上,是在建立 Agent Skills 的工程化标准。
从”看起来管用”到”确切知道管用”。
这是 AI Agent 走向生产环境的必经之路。
你在用 Agent Skills 吗?有没有遇到测试的问题?欢迎在评论区分享!