200行文档丢进文件夹,重启,搞定——这是Anthropic官方教程教的技能开发流程。我照做了,然后花了十倍时间回答一个问题:它真的有用吗?
一、技能开发的幻觉: shipped ≠ working
技能(Skill)是Anthropic给Claude Code做的功能扩展机制。你把团队的编码规范、框架用法写成Markdown,存进指定目录,Claude就能在对话中自动调用。
官方流程极其顺滑:写文档、放文件、重启。三分钟后你就能跟同事说"我们有个Claude技能了"。
但两个关键问题被这个流程完全掩盖:
第一,这200行提示词真的比基础模型更强吗?还是只是给本来就会的事加了层包装?
第二,描述语(description)和用户实际提问方式匹配吗?该触发时没触发,不该触发时乱插嘴,你根本看不见。
我选了@ngrx/signals——Angular的状态管理库——做实测对象。这个库足够新,Claude训练数据覆盖不全,是技能发挥价值的典型场景。
二、A/B测试:技能确实有用,但代价明确
我设计了5个任务,41条断言(assertion)。每个断言在技能定稿前就写好,作为验收标准而非事后确认。
核心发现:技能把通过率从84%拉到100%。
但账不能只算一头。每次调用额外消耗14秒墙钟时间、约12,000个token。按Sonnet 4.6的输入定价,单次成本约0.04美元。
这个成本结构意味着:技能适合复杂、低频、高风险的代码生成任务,不适合快速迭代场景。你的团队得自己算这笔账。
方法论备注:我每个配置只跑了一次,不是三次取平均。下文中的±值是5个eval之间的离散度,不是标准差。
三、描述优化器:跑三轮,全白跑
技能描述语决定触发时机。Anthropic今年3月上线的新工具带了描述优化循环:自动迭代描述,看哪版触发率最高。
我跑了三轮。最终结果:没一版比我手写的好。
这不是我一个人的遭遇。Anthropic自己拿6个内置文档生成技能做测试,"5个有提升"——言下之意,1个没提升。造系统的人尚且如此,你的自定义技能几乎肯定有问题。
更强的证据来自Vercel。2026年1月,他们发了一篇实测:AGENTS.md在agent eval中表现优于Skills。
Vercel的测试场景是Next.js 16任务集。关键数据:56%的情况下,agent明明有权限调用技能,却根本没调用。触发失败率过半。
他们的结论很直接:"跳过Skills,把文档内联进对话。"
我不完全同意。对于模型已经熟悉的库,Skills的形态仍然有价值——团队特定惯用法、编码偏好,这些用渐进式披露比每次塞几千token风格指南更优雅。
但测量结论我和Vercel完全一致:没有eval套件,你根本不知道自己技能在干什么。
四、100%通过率:饱和信号,不是终点
我的v2技能最终通过了全部41条断言。这听起来是成功,其实是警告。
Eval饱和意味着你的测试集已经失去区分度。可能是任务太简单,可能是断言写得太松,也可能是技能过度拟合了测试集。无论哪种,你都不再能从中获得有效信号。
健康的eval应该像筛子:总有部分任务通不过,逼你持续迭代。100%是停滞的开始,不是质量的证明。
五、四个发现,多数团队一个都没测
这趟实测拆出四个可量化的维度:
能力增益(84%→100%)、成本代价(14秒+12,000token)、描述优化失效(三轮无改进)、eval饱和(100%通过率)。
Anthropic 3月更新的技能创建工具把test/measure/refine流程产品化了。但工具只是工具,用不用、怎么用,是团队选择。
现状是:绝大多数技能开发者写完Markdown就ship,四个维度一个不测。技能加载了,输出看着还行,假设它在工作——这个假设可以持续数月。
数据收束:84%到100%的通过率提升,代价是每次调用0.04美元和14秒延迟。56%的触发失败率意味着你的技能可能一半时间在划水。描述优化器三轮迭代零改进,100%通过率反成警报。四个数字,四个盲区。
热门跟贴