news 2026/4/22 22:27:05

Anthropic 官方技能最佳实践:14 个可复用的 Agent Skills 设计模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Anthropic 官方技能最佳实践:14 个可复用的 Agent Skills 设计模式

在 Agent Skills 的生态中,技能大致可以分为两类。

一类是任务型技能(通常设置disable-model-invocation: true),对应一整套步骤化流程,比如部署、提交或安全审查,用户一般通过/skill-name直接触发。
另一类是参考型技能(用户不可直接调用),更像是背景知识,比如风格指南或领域术语,Claude 会在相关场景下自动应用。

本文基于Anthropic官方的技能编写最佳实践,总结了 14 个可以复用的设计模式,分为五类:发现与选择、上下文经济、指令校准、工作流控制和可执行代码

发现与选择

技能写出来没人用,写得好有什么意义?前两个模式要解决的,就是这个「怎么被用到」的问题。

1. 激活元数据模式(Activation Metadata pattern)

当你的技能库里有几十个技能时,Claude 怎么知道该用哪一个?

答案就在description。但很多人把它当成「摘要」,写成类似“用于处理文档”这种模糊描述。结果就是:要么选错,要么干脆不用。

description不是摘要,而是 Claude 做选择时最关键的信号。

在会话开始时,Claude 只能看到每个技能的namedescription。如果这一步没选对,后面写得再好也用不上。

一个好的description,通常要包含三点:

  • • 做什么(功能)
  • • 什么时候用(触发场景)
  • • 遇到哪些词要触发(关键词)

Anthropic 的skill-creator甚至建议把description写得「更主动」一点,因为 Claude 本身有点「触发不够」的倾向。比如:“即使用户没有明确提到仪表盘,只要提到数据可视化或内部指标,就应该触发这个技能”

适用场景:所有技能都应该用这个模式。入口没做好,后面都没意义。

权衡点:在开放的 Agent Skills 规范中,description上限是 1024 字符;在 Claude Code 里,description和可选的when_to_use一起最多 1536 字符。空间有限,每句话都要在「触发词、排除条件和领域关键词」之间做取舍。

2. 排除条款模式(Exclusion Clause pattern)

只说「什么时候用」还不够,还要说明「什么时候不用」。

比如你同时有一个「文档处理」和一个「代码生成」技能,如果它们都写成「处理所有文本相关任务」,Claude 很难判断该选哪个。

正向触发是把它拉进来,排除条款是把它推出去。

Ruben Hassid 把排除条款称为「description里最关键的一行」,甚至比正向触发更重要。

一个好的排除条款,通常会说清楚:

  • • 哪些场景不适用
  • • 哪些内容更应该交给其他技能
  • • 哪些情况直接用 Claude 就够了

比如:“不要用于博客文章、通讯邮件、推文或长篇内容。”

还有一个容易被忽略的点:排除条款不是单独存在的,它需要和整个技能库一起考虑。否则就可能出现两个技能都说「我能做」,或者都说「我不做」。

适用场景:几乎所有技能,尤其是和其他技能有重叠的那些。

权衡点:维护成本。技能一多,排除条款也需要跟着调整,否则很容易出现冲突或空白区。

上下文经济

上下文窗口是个共享资源,每个 token 都在和其他技能、对话历史以及当前请求抢空间。

3. 上下文预算模式(Context Budget pattern)

很多技能喜欢从头解释一遍:什么是 PDF、什么是库、JSON 是怎么工作的——但这些 Claude 本来就知道。这种冗余一旦在几十个技能里重复出现,上下文窗口在用户开口之前就已经被占掉一大半。

默认前提:Claude 是聪明的。

这个模式的核心是:每一段话都要配得上它占用的 token。如果删掉一句话不会让一个「足够聪明的读者」困惑,那它大概率就是多余的。

另外还有两个容易忽略的点:

  • 术语要统一:选一个说法就一直用,比如只用field,不要来回切换field / box / element
  • 避免时间敏感表达:像“2025 年 8 月之前”这种描述,很快就会过时。更好的做法是把这类信息放到「旧模式」的附录里

适用场景:所有技能的基础要求,可以当作默认纪律。

权衡点:如果你的技能要兼容多个模型,就要按最弱模型来决定细节程度——对 Sonnet 来说刚好的简洁,对 Haiku 可能就偏简略了。

4. 渐进式披露模式(Progressive Disclosure pattern)

很多人会把所有内容一股脑塞进SKILL.md:不管用户问什么,几百行甚至上千行内容一次性全加载。表格、API 文档、示例代码——不管用不用,都占着上下文。

核心思路是:把 SKILL.md 当成目录,而不是仓库。

具体做法一般是:

  • • 主文件尽量控制在 500 行以内
  • • 把细节拆到不同文件(比如FORMS.mdREFERENCE.mdreference/finance.md
  • • 只在需要的时候再加载这些文件

还有两个实用技巧:

  • scripts/里的脚本可以执行,但不会被加载进上下文,所以里面的实现细节通常不会占 token
  • • 对于特别长的参考文件,在顶部加目录(TOC),这样即使读取被截断,Claude 也能知道整体结构

适用场景:当SKILL.md超过 ~300 行时,基本就该考虑拆分了。

权衡点:拆分带来的复杂度。文件多了之后,不仅作者更难把控全局,Claude 也需要做「下一步该加载哪个文件」的判断,一旦选错,就会多走几轮。

指令校准

指令到底该写多细?写得太死,会限制发挥;写得太松,又容易跑偏。下面这几个模式,主要就是在这两者之间找平衡。

5. 控制调优模式(Control Tuning pattern)

有些技能会把每一步都写死,结果一遇到需要灵活处理的情况,Claude 反而被卡住。反过来,如果指令太模糊,在那些「错一步就全错」的场景里,又很容易出问题。

这个模式的核心是:根据任务的脆弱程度来决定指令该有多严格。

可以一直问自己一个问题:这里能接受多大的偏差?

  • 高自由度(文本指令,比如“用你的判断”):适合开放型任务,比如代码审查
  • 中自由度(伪代码、参数化步骤):适合有流程但需要灵活调整的任务,比如部署
  • 低自由度(精确脚本、强约束,比如“不要修改”):适合高风险操作,比如数据库迁移

语气本身也是一个调节手段。比如在开头设定角色:“你是一个更关注正确性而不是风格的资深代码审查员”。这种设定会直接影响后面的判断标准,在参考型技能里很常见。

适用场景:对每个步骤都问一句——这里允许多少偏差?

权衡点:很多人会倾向于「写死一点更安全」,但其实只是把失败方式换了一种:从「做错」,变成「做不了」。

6. 解释原因模式(Explain-the-Why pattern)

把规则写成一串 ALWAYS / NEVER / MUST,看起来很清晰,但其实缺少上下文。Claude 可能会按字面执行,却在边界情况里用错,或者在不该严格执行的时候也机械套用。

Anthropic 的skill-creator甚至把这种全大写指令当作需要重构的信号。

这个模式的核心是:先说规则,再说明原因。

这样 Claude 不只是「照做」,而是能理解背后的逻辑,在规则没覆盖到的情况里也能自己做判断。

比如:“使用构造器注入。字段注入会破坏可测试性,因为需要依赖 Spring 上下文来模拟字段。”就比:“必须使用构造器注入,绝不使用字段注入。”更稳一些。前者提供了推理依据,后者只是限制行为。

适用场景:当你开始写 MUST / ALWAYS / NEVER 这类强制性规则时,就应该考虑换成这种结构。

权衡点:解释会消耗 token——对于那些真正「不能出错」的步骤(比如前面说的低自由度场景),直接命令式反而更合适;带原因的写法,更适合需要 Claude 自己做判断的地方。

7. 模板脚手架模式(Template Scaffold pattern)

像报告、提交信息、API 请求、发布说明这类输出,只要结构很重要,Claude 每次生成的「形状」往往都不太一样。

问题在于:结构其实藏在示例里,但技能本身没说清楚,所以每次都在重新「猜」。

这个模式的做法很直接:给一个带占位符的模板,让它按结构填空。

模板一般分两种:

  • 严格模板“必须按这个结构来”):适合数据契约、需要机器解析的场景
  • 灵活模板“这是推荐结构,可以调整”):适合需要一定发挥空间的文档类输出

可以简单理解为:模板定结构,示例定风格。

适用场景:只要输出有固定结构,或者后面还要被解析(不管是人还是程序),就应该用模板。

权衡点:模板越严格,越容易限制表达。在一些边缘情况里,反而可能不够用。所以如果不是给机器用,优先用灵活模板。

8. 技能内示例模式(In-Skill Examples pattern)

光靠描述,很难把语气、格式和细节说清楚。常见情况是:结构对了,但风格不对——比如提交信息用了正确的 conventional commit 前缀,但语气跟团队不一致。

这个模式的做法是:在技能里放几个输入 / 输出示例,让它照着对齐。

Input: [用户输入示例] Output: [期望输出示例]

和 few-shot 类似,给两到三个例子,通常比一大段说明更管用。Claude 会优先对齐示例,而不是从文字里自己猜。

可以这么理解:模板(上一个模式)解决的是结构问题;示例解决的是风格问题。两者配合使用时效果最好:模板定结构,示例定风格

适用场景:既有结构要求、又有表达风格要求的输出,比如提交信息、发布说明、changelog、审查摘要等。

权衡点:Claude 很容易「学例子」。如果示例里带了某种习惯,它会在所有输出里复现。所以示例要尽量覆盖不同情况,而不是只给一种写法。

9. 已知陷阱模式(Known Gotchas pattern)

很多技能只覆盖「正常流程」,告诉 Claude 该怎么做,却没说哪些地方容易出错。

一旦遇到真实环境里的边缘情况——字段不存在、命令在 macOS 能跑但在 Linux 失败、库悄悄返回空结果——Claude 没有参考,就容易自己「编一个修复」。

这个模式的做法是:专门列出已知的陷阱。

SKILL.md里单独加一节,把常见失败情况写清楚,比如:

  • “扫描 PDF 可能返回空数组,需要先检查页码类型”
  • “页面旋转必须在列提取前设置 page.rotation = 0”

在实战里,这一部分往往是一个技能最有价值的内容,因为它直接来自踩过的坑。

适用场景:已经在真实环境跑过一段时间的技能,可以根据实际问题不断补充。

权衡点:这些「陷阱」是会变化的。库升级、API 改动之后,旧问题可能已经不存在,如果不更新,反而会误导 Claude 去排查一个已经不存在的错误。

工作流控制

多步骤流程该怎么控制?从简单的线性步骤,到带校验的执行,再到基于计划的流程控制,复杂度是逐步增加的。

10. 执行清单模式(Execution Checklist pattern)

在多步骤流程里,常见问题不是做错,而是没做完:跳过验证、忘了当前进度,甚至提前宣布完成——「应该已经好了」,但其实只做到一半。

这个模式的做法是:把流程变成一份可勾选的清单。

让 Claude 在对话中直接使用,比如:

- [ ] 步骤1:...- [ ] 步骤2:...- [ ] 步骤3:...

每完成一步就勾掉,没完成的会一直留在那。

关键点在于:未完成的项是「可见的」。

清单会一直出现在对话里,不只是 Claude 自己知道,也让用户一眼就能看出进度。每一轮都要面对「还有哪些没做」,自然就更难提前收工。

适用场景:超过三步的流程,尤其是那些「少一步就可能出问题」的场景。

权衡点:清单每轮都会完整出现,长对话里 token 会明显增加。对于很短的流程,用这个模式反而有点重了。

11. 自纠正循环模式(Self-Correcting Loop pattern)

在生成代码、编辑 XML、或者按规范写文档时,单次输出很容易留下问题——而这些问题,本来是技能可以发现的。

问题不在于「怎么写对」,而在于:没有人检查它写得对不对

这个模式的做法是:引入一个显式的循环。

流程很简单:生成 → 验证 → 失败则修复 → 再验证

验证可以是:

  • • 脚本(比如python validate.py fields.json
  • • 或规则检查(比如重新对照STYLE_GUIDE.md一条条过)

只有通过验证,流程才结束。

适用场景:对质量要求高、且可以验证的任务,比如代码生成、配置文件、结构化输出等。

权衡点:可能不收敛。如果验证不够严格,或者 Claude 一直在同一个地方出错,就会反复循环。实际使用中需要设置重试上限,并在失败时回退给用户处理。

12. 计划-验证-执行模式(Plan-Validate-Execute pattern)

对于批量或高风险操作——比如批量改表结构、数据迁移、整篇文档重写——如果直接「上来就做」,一旦出错,很容易一路错到底。

等你发现问题时,修改可能已经应用完了,回滚成本很高。

这个模式的做法是:在「理解任务」和「执行操作」之间,加一层可验证的中间产物。

通常是一个结构化的计划(比如 JSON),流程变成:计划 → 验证 → 通过后再执行

关键点是:所有验证都发生在副作用之前。

这和前面的自纠正循环不一样——那是在结果出来之后反复修,这里是在真正动手之前,把问题提前挡住。Claude 可以在「计划」阶段反复调整;只有当计划通过验证后,才允许执行真实操作。

适用场景:批量操作、不可逆操作,或者一旦出错代价很高的任务。

权衡点:流程更重。对于简单任务(比如改两个字段),这套流程本身的成本可能比任务还高。所以更适合那些「做错了很难补救」的场景。

可执行代码

把一部分工作从 Claude 的推理里拿出来,交给确定性的脚本去做:运行、返回结果——要么成功,要么失败。

13. 实用工具包模式(Utility Bundle pattern)

如果每次都让 Claude 临时写验证脚本、PDF 解析器或者数据处理逻辑,不仅慢,还不太稳定,而且这些「临时代码」也在白白消耗 token。

很多时候,其实是在反复写同一套逻辑,只是细节有点不一样。

这个模式的做法是:把这些确定性的能力提前做成脚本,放到scripts/里。

之后让 Claude 通过 bash 调用,而不是每次都现写一遍。好处是:进入上下文的只有脚本输出,而不是实现过程

这些脚本本身也有几个基本要求:

  • • 能自己处理常见错误,而不是把问题再丢回给 Claude
  • • 要么给出合理默认(比如自动创建缺失文件),要么快速失败并说明原因
  • • 常量要写清楚用途(比如「30s 超时是为了覆盖慢连接」),避免魔法数字

如果不确定哪些逻辑值得抽出来,可以简单看一下:跑几次技能,翻翻日志——哪些辅助逻辑反复被「重新写」,就应该提到scripts/

适用场景:确定性强、经常重复、值得单独测试的操作。

权衡点:环境依赖。脚本是在用户环境里跑的,不同机器、不同系统可能表现不一样。所以需要在SKILL.md里写清依赖,并尽量避免平台相关问题(比如路径写法)。

14. 自主校准模式(Autonomy Calibration pattern)

如果一个技能默认拿到一整套工具,它理论上什么都能做:写文件、跑 shell、调外部服务——哪怕它的任务其实只是读点数据。

比如一个带WriteBash权限的安全审计技能,就算SKILL.md写得再严格,本身也是个隐患。

这个模式的做法是:在 YAML 里把allowed-tools写清楚,只给它真正需要的能力。

比如:

  • • 安全审计:Read, Grep, Glob
  • • 文档生成:Read, Write
  • • 部署任务:只开放受限命令的Bash

但有个容易被忽略的点:allowed-tools更像是「预批准」,不是「硬限制」。

它可以减少审批,但不等同于沙箱。在 Claude Code 里,真正的约束还是要靠权限策略,而不是只靠这里的声明。

适用场景:只需要少量能力的技能,尤其是安全、审计、分析这类任务。

权衡点:很容易误用。如果allowed-tools 写得太宽,其实是在放大权限;而且很多人会把「预批准」当成「已经限制」。需要严格控制时,一定要配合权限策略一起用。

总结

这 14 个模式,基本覆盖了技能设计里最容易出问题的几个关键点。

description决定技能会不会被用到;渐进式披露决定它会占多少上下文;解释原因和已知陷阱,决定 Claude 在边界情况下能不能做出正确判断;计划-验证-执行和自主校准,则是在出问题时,把风险控制在可接受范围内。

每一个模式,背后其实都对应着一种常见的失败方式。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 22:24:23

抖音批量下载解决方案:高效管理你的短视频素材库

抖音批量下载解决方案:高效管理你的短视频素材库 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…

作者头像 李华
网站建设 2026/4/22 22:21:45

字节跳动等科技巨头重金布局AI,算力供需失衡难题待解

字节跳动等巨头砸重金布局AI随着AI战略全面提速,越来越多头部企业开始疯狂烧钱布局,硬件与算力投入持续加码。4月20日,据知情人士透露,字节跳动2025年净利润同比下滑超过70%,净利润率也大幅下滑,原因是该公…

作者头像 李华
网站建设 2026/4/22 22:20:19

玩客云魔改指南:除了NAS还能跑Docker?Armbian系统下的5种隐藏玩法实测

玩客云魔改指南:Armbian系统下的5种高阶玩法实战 当大多数人还在用玩客云做基础NAS时,技术爱好者们已经挖掘出这块廉价硬件的更多可能性。25元的矿渣盒子刷入Armbian后,性能足以支撑多种专业级应用场景。本文将带你解锁五种超出常规认知的玩法…

作者头像 李华