Agent Skills 的核心思想是将 Agent 的能力模块化为独立的、可按需加载的知识包\^ch2-3。每个 Skill 本质上是一套包含专业领域指导的提示词集合,就像为新员工准备的某个专项任务的操作手册。与传统的将所有指令塞入单一系统提示词的做法不同,Skills 采用了渐进式披露(Progressive Disclosure)的设计哲学------先给 Agent 看一份目录摘要,需要时再加载完整内容,就像你不会把公司所有部门的操作手册都堆到新员工桌上,而是先给一份总目录,需要哪本再去取。
**第一层(元数据)**:每个 Skill 必须包含一个 `SKILL.md` 文件,开头是 YAML frontmatter(即文件顶部用 `---` 分隔的元数据块,类似书籍的版权页),包含 `name` 和 `description` 两个字段。Agent 框架在启动时扫描所有已安装的 Skill,将它们的 `name` 和 `description`(仅占数百个 token)注入到对话上下文中(注入位置的设计权衡见下一小节),使 Agent 在不消耗大量上下文的前提下知晓自己拥有哪些专业能力。
元数据中的 `description` 字段是路由决策的关键------它应当足够短(控制常驻的 token 量),但写法要像路由条件而非功能介绍。最直接的写法是 "Use when / Don't use when" 加上几条**反例**(即明确列出"不该触发此 Skill"的场景)。实践中,缺少反例的 Skill 描述会让路由准确率明显下降------宽泛的描述会在不相关的任务上频繁误触发;补上反例后,路由准确率会显著回升。反例不是可选项,而是 Skill 路由能否准确触发的关键。描述太宽泛(如 "help with backend")等于任何后端相关的工作都能触发,路由就会失准;真正有效的描述是路由条件------"何时该用我"比"我能做什么"重要得多。
**第二层(核心流程)**:当 Agent 判断某个任务需要特定的 Skill 时,通过专用的 Skill 工具加载完整的 `SKILL.md`,内容作为 tool result 出现在对话历史中。以 PPTX Skill\^ch2-4 为例,其中包含处理 PowerPoint 文件的核心流程:如何通过 markitdown(Microsoft 开源的文档转 Markdown 工具)提取文本,如何解压 PPTX 文件访问原始的 XML 结构,以及关键文件的路径约定。
\^ch2-4: Anthropic, "PPTX Skill" , 2025. https://github.com/anthropics/skills/
**第三层(细则)**:通过文件引用深入到更详细的子文档。主文件引用了 `html2pptx.md`(通过 HTML 模板创建 PowerPoint 的详细工作流)、`reference.md`(格式技术细节)等。Agent 会根据具体的需求选择性地深入阅读相关的子文档。
Skill 不仅包含指导性的文档,还可以捆绑可执行的代码工具和模板文件------从纯粹的知识传递升级为实际的能力赋予。
Skills 的价值不仅在于优雅的上下文管理,更在于为领域知识的积累提供了一条可持续的路径。每个 Skill 都是自包含的知识模块,可以独立开发、测试、进行版本控制和分享。这种模块化使得 Agent 的能力扩展从集中式的系统提示词编辑,转变为分布式的、社区驱动的 Skill 生态构建------这与开源软件的包管理系统(如 Python 的 pip、Node.js 的 npm)有深刻的相似性,每个 Skill 封装了某个领域的最佳实践。Anthropic 官方的 Skills 仓库已涵盖文档处理(PPTX、PDF、DOCX)、数据分析、代码生成等领域,开发者可以直接使用、定制或创建全新的 Skill。
这揭示了一个对 Agent 开发者很重要的原则:**选择 Agent 交互模式时应对齐模型厂商的训练方法论**。使用 Claude 构建 Agent 时,应充分利用 Skills 和结构化系统提示;使用其他模型时,应采用该模型厂商专门优化过的交互约定。基础模型公司推行的 Agent 用法,本质上是它们专门训练过的模式,这使得同一生态内的模型天然具有最优的表现。