一张标题为“渐进式披露”的三级卡片,分为三个层级,包含三行堆叠内容:第 1 级,元数据,始终加载,显示 YAML frontmatter 中的名称和描述;第 2 级,指令,在描述匹配时加载,显示 SKILL.md 的正文;第 3 级,资源,按需加载,显示 SKILL.md 中引用的文件,例如 FORMS.md。
Guides & Insights

Claude Skills 详解:渐进式披露的三个层级

作者

Rowan Sterling

发布日期

最新模型 · 20查看全部模型 →
基准测试:Artificial Analysis · 每日更新
返回全部文章

Claude Skill 在物理形态上就是一个文件夹。它不是托管服务,不是二进制文件,也不是你粘贴在对话开头的一段文本——而是一个目录,里面包含一个 SKILL.md 文件,以及这项任务所需的其他任何内容。关于 Skill 几乎所有有意思的特性,都源自这一个决定,因为文件夹是智能体可以按需选择性打开的东西。而提示词无法被选择性打开,它要么在对话里,要么不在。

Anthropic 的文档将这种安排描述为像你为新团队成员编写的入职指南那样组织起来,而这个类比比它乍看上去所能延伸的更远。没有人会在开始工作前把入职指南从头读到尾。他们会阅读与眼前问题相匹配的那一页,并相信其余内容在需要时仍然在那里。一项技能也建立在同样的赌注之上:一套流程的大部分内容在大多数时候都可以留在磁盘上。

文件系统优先,能力其次

Claude 在具有文件系统访问权限的虚拟机中运行。这是技能以目录而非配置项形式存在的前提条件,因为它让智能体能够像人一样使用相同的操作来列出文件夹、读取文件,并沿着引用跳转到另一个文件。在此基础上,技能将指令、元数据以及可选资源(例如脚本和模板)打包在一起。

结果是形成一种比文件夹中任何单个文件都更大的能力。指令说明了如何完成任务。捆绑脚本可以执行其中一部分,而无需用文字描述。参考文档可以承载需要查阅而非记住的材料。让这三者成为一个系统而不是一堆东西的,是它们变得可见的顺序,这正是 Anthropic 所称的渐进式披露——按需分阶段加载信息,而不是预先消耗上下文。

The claude.com Skills page, headed Teach Claude your way of working, with the subtitle Turn your expertise, procedures, and best practices into reusable capabilities so Claude can apply them automatically, every time, a dark Start using skills button below it, a Skills breadcrumb above, and the top of an illustrated card carrying a play control.

第 1 级:始终加载的两个字段

每项技能都以带有名称和描述的 YAML frontmatter 开头。Claude 在启动时加载这些元数据,并将其纳入系统提示中。这是技能中唯一在任何请求发出之前就已存在的内容;在技能被触发之前,只有其名称和描述会占用上下文。

描述同时承担三项职能,把它们分开来看,就能解释为什么许多技能会被悄然忽视。它是一个标签,说明这个东西叫什么。它是一个索引条目,当 Claude 判断该技能是否相关时,请求会拿这段文本进行匹配。它也是一项范围声明,因此 Anthropic 的指导原则是,它必须同时说明该技能做什么以及何时使用它。如果描述只做到第一点,匹配器就无从匹配。

以同一技能的两个版本为例。其中一个被描述为填写和验证 PDF 表单,在请求涉及完成或检查 PDF 表单时使用。另一个被描述为帮助处理文档。前者明确了动作和情境;后者两者都未明确。描述中两者都未明确的技能会静静躺在磁盘上无人读取,而智能体则会以更繁琐的方式完成任务——不是因为该技能失败了,而是因为它从未被发现。

第 2 级:正文,在描述匹配时阅读

当请求与描述匹配时,第二层就会展开:SKILL.md 的正文。这就是流程——工作流、最佳实践、指导——它是写给已经认定该技能是完成这项工作的合适工具的智能体的。团队会在这里写下原本在每次对话中都要重复的步骤,指向更深入材料的指引也放在这里。

这里的顺序和在第 1 层一样重要。正文不会在启动时加载,也不会为了以防万一而加载。它是在做出决定之后才到达的,这意味着这个决定必须仅凭第 1 层就能做出。描述含糊的技能无法在第 2 层挽回,因为第 2 层根本不会被读取。

第 3 级:因为某物指向它们而打开的文件

第三层是文件夹的其余部分:即 SKILL.md 中引用的其他文件。Anthropic 的示例是一个 FORMS.md,其中包含关于表单填写的高级指导,它被排除在主要说明之外,以便让那些说明保持简短,并且只在任务需要时才提供详细内容。脚本和模板也属于这一层。

结构性效果在于,一个技能可以承载大量材料,而不必一次性全部承载。一个文件夹可能包含一个主指令文件、一份详细参考、一组模板和一个脚本,而某项给定任务可能只触及其中一项。没有任何东西指向的内容会留在磁盘上,而磁盘并不是智能体中的稀缺资源。上下文才是。

这也正是这种格式突破提示词所遇上限的地方。提示词必须足够短,才值得粘贴。技能所捆绑的材料受限于一个目录能容纳的内容,因为真正到达模型的部分,只是任务实际触及的那部分。

为什么顺序本身就是设计,而不是细节

由此产生三个后果,而正是这些后果合在一起,说明了为什么这件事值得去理解,而不仅仅是知道。

• 上下文是一种预算,而始终加载的内容是一项固定成本。系统提示中的一切都会在每次请求时产生成本,包括与该技能毫无关系的请求。渐进式披露将固定成本转变为条件成本:描述始终提供,指令在相关时提供,引用在被引用时提供。

• 描述是一种接口。它是技能中唯一保证会被看到的部分,因此作者必须在这里考虑触发,而不仅仅是内容。

• 一项技能有三种维护速度。当技能应在不同情况下触发时,元数据会变化;当工作流变化时,正文会变化;当底层材料变化时,参考资料会变化。将它们分开,可以避免一次参考资料的更新演变成对指令的重写。

代价与收益互为镜像。每个层级边界都是模型必须正确做出决策的地方。描述过窄意味着技能永远不会触发,文件夹就成了累赘。描述过宽则意味着它会在并非为其构建的工作上触发,其指令会成为无关任务的负担。渐进式披露使描述成为承重结构,而始终存在的长提示词从来做不到这一点。

Anthropic 已经推出了哪些产品,以及你自己的技能从何而来

Anthropic 为 PowerPoint、Excel、Word 和 PDF 提供预构建的 Skills——涵盖演示文稿、电子表格、文档和格式化的 PDF 输出。它们可在 claude.ai、Claude API、Claude Platform on AWS 和 Microsoft Foundry 上使用,但需注意:在 Foundry 上,它们需要 Hosted on Anthropic 部署。

比起阅读相关说明,这些是亲眼看到该机制的最快方式。加载顺序与你自行编写的任何内容完全相同;预构建技能与自定义技能的区别在于文件夹由谁编写,而不在于它如何到达模型。

自定义技能可以在 Claude Code 中创建、通过 Claude API 上传,或在 claude.ai 的设置中添加。Anthropic 为其列出的好处,正是你对任何可复用之物都会预期的那些:让 Claude 针对特定领域任务进行专门化、只需编写一次指导而无需反复重复,以及为多步骤工作组合多个技能。其中最后一点最直接地源自其架构,因为如果每个技能都是一个按需打开的文件夹,那么一堆技能在实际需要它们之前几乎不产生什么成本。

技能不是提示词,也不是连接器

在对话中,有三件事常被混为一谈,而加载顺序让这些区分很容易把握。

提示词是会话级别的。它从第一轮起就存在,会影响该会话中的一切,并随会话结束而消失。技能则是按需调用的:它在会话开始前就已存在,其中大部分内容根本不会进入会话,而进入会话的那部分之所以会出现,是因为某个描述匹配上了。这就是告诉智能体该如何行事,与给它一个可以随时取用的东西之间的区别。

A three-column card comparing a Skill, a Prompt and a Connector: a skill is a folder of metadata, instructions and resources that loads in stages, a prompt is conversation-level instruction present from the first turn, and a connector is access to an app or service.

连接器关乎的是触达范围。连接器是应用访问权限,这意味着它们决定了智能体能够接触什么;而技能决定了智能体在能够接触之后应当如何去做某件事。一个团队可能拥有出色的连接器,却仍然产出不一致的文档,因为访问权限并不等同于流程。它也可能拥有出色的技能,却仍然看不到数据,因为流程并不等同于访问权限。

Anthropic 的文档将 Skills 与 Model Context Protocol 视为不同的层级,而三级机制正说明了这种分离为何如此清晰。加载顺序关乎的是信息何时到达,而非信息来自哪里。

捐赠适合放在哪里,用一段话说明

2026年10月22日,Anthropic 将 Agent Skills 标准捐赠给了 Linux Foundation 旗下的 Agentic AI Foundation——包括名称、徽标、GitHub 组织和 agentskills.io 域名——并由来自 Anthropic、Google、OpenAI 和其他公司的工程师以个人身份维护。这一切都不会改变上述机制。文件夹格式、YAML frontmatter、加载顺序以及预构建的文档技能都与前一天完全一样。改变的是名称的所有者,这对标准的长期稳定性至关重要,却丝毫不影响你今天下午如何编写技能。

The agentskills.io documentation site, headed Agent Skills, with a top banner announcing an official Discord server, a search field, a link to the agentskills/agentskills repository, a left sidebar of overview and creator guides, and a main column headed Agent Skills Overview showing a folder tree in which SKILL.md is required and scripts, references and assets are optional.

安装技能前先阅读该技能

如果这三个层级就是架构,那么它们也构成了一份简短的审查清单。先阅读描述,因为它决定后续是否还会发生任何事情:描述应说明该技能做什么、应在何时使用,并使用请求中可能出现的措辞。其次阅读 SKILL.md,因为它是智能体将遵循的流程,读起来应像给一位能干的同事的指示,而不是对你期望发生之事的总结。第三,阅读它引用的内容。然后阅读脚本。

最后一项并不是偏执。该格式允许技能在可选资源之外携带指令,而资源可以包含可执行代码。因此,你安装的技能不只是塑造对话的文本;它还是一个文件夹,有能力的智能体会从中打开文件并据此行动。逐级模型会确切告诉你该到哪里查看,这比大多数已安装的东西所能提供的更多。

有一条边界值得向从我们自己页面过来的读者说明。OrcaRouter 负责路由模型调用,而我们不托管 Anthropic 的任何应用,也不托管其 skill 相关的界面——skill 运行在 agent 文件系统所在之处,那并不是我们这一层。我们所做的工作位于模型选择之下:一个 OpenAI 兼容密钥背后是 200 多个模型,按提供商标价原样传递、不加价,并且当某个提供商不可用时,在提供商之间自动故障转移。skill 决定一项任务该怎样完成,路由器决定由哪个模型来完成它,而这两层都不需要对彼此了解太多。

渐进式披露对其所解决的约束是诚实的。上下文是有限的,流程是冗长的,而任何给定流程的大部分内容都与眼前的任务无关。一个名称、一个主体和一组文件并不是复杂的设计;它是最小的设计,能让智能体承载大量知识,同时只持有它所需的那部分。

这就是为什么在一个构建良好的技能中,最关键的也是最短的那一行。文件夹里的其他一切都是一座图书馆。描述就是卡片目录,而当日录出错时,图书馆也形同虚设。