用 Agent Skills 让 Agent 具备真实世界的工作能力
官方原文: https://www.anthropic.com/engineering/equipping-agents-with-skills
发布日期: 2025 年 10 月 16 日
作者: Barry Zhang、Keith Lazuka、Mahesh Murag
Claude 本身能力很强,但真实工作还需要流程知识和组织上下文。本文介绍 Agent Skills:由指令、脚本和资源构成、可供 Agent 动态发现并加载的结构化目录。Skills 把专业经验封装为可组合资源,让通用 Agent 能胜任特定领域的工作。
更新(2025 年 12 月 18 日): Agent Skills 已在 agentskills.io 作为跨平台可移植的开放标准发布。
一个 Skill 由什么构成
文章以支撑 Claude 文档编辑能力的 PDF Skill 为例。Claude 已能理解 PDF,但此前直接处理 PDF 的能力有限,例如填写表单。PDF Skill 为它补上了这些操作能力。
最简单的 Skill 就是一个包含 SKILL.md 的目录。SKILL.md 必须以 YAML frontmatter 开头,声明 name 与 description 两项必需元数据。Agent 启动时,会把所有已安装 Skill 的名称和描述预加载进 system prompt。
这些元数据构成渐进式披露的第一层:Claude 可以只凭少量信息判断某项 Skill 是否相关,而不必加载全部内容。文件正文是第二层:一旦判断该 Skill 适用于当前任务,Claude 才将完整 SKILL.md 读入 Context。
附加文件
Skill 变复杂后,单一 SKILL.md 可能包含太多上下文,或其中部分只对特定情形有用。此时可以把其他文件放在同一 Skill 目录中,再从 SKILL.md 按名称引用;它们形成第三层及更深的按需信息。
PDF 示例中,SKILL.md 引用了 reference.md 和 forms.md。把填写表单的说明拆到 forms.md 后,核心 Skill 仍保持精简;Claude 只会在真的需要填写表单时再读取该文件。
渐进式披露
渐进式披露是 Skills 能够灵活扩展的核心原则。它像一本编排良好的手册:先给目录,再提供对应章节,最后才进入详细附录。信息只在需要时加载,因此一个 Skill 理论上可包含的上下文规模不再受单个 Context Window 的限制。
Skills 如何进入 Context Window
一次 Skill 被触发时,大致会经历以下步骤:
- Context Window 先包含核心 system prompt、已安装 Skills 的元数据和用户初始消息。
- Claude 通过 Bash 工具读取
pdf/SKILL.md,从而启用 PDF Skill。 - 它继续读取 Skill 内的
forms.md。 - 在获得相关操作说明后,Claude 再继续完成用户任务。
Skills 与代码执行
Skill 也可以随附由 Claude 自行选择执行的代码。LLM 擅长许多任务,但有些操作更适合传统代码完成。例如,靠生成 token 对列表排序,远比直接运行排序算法昂贵;许多应用也需要代码带来的确定性和可靠性。
PDF Skill 中就包含预写好的 Python 脚本,用来读取 PDF 并提取表单字段。Claude 可以直接运行该脚本,无需将脚本正文或整个 PDF 加载到 Context;代码的确定性也让流程保持一致、可复现。
开发与评估 Skills
编写和测试 Skill 时,文章给出以下建议:
- 从评测出发: 先让 Agent 完成有代表性的任务,观察它真正卡在哪里,再针对缺口逐步补充 Skill。
- 为规模增长设计结构: 当
SKILL.md过长时,拆分为多个文件。对互斥或很少同时使用的内容保留独立路径,以减少 token 消耗。代码既可作为可执行工具,也可作为文档;应明确 Claude 应运行脚本,还是只将其作为参考阅读。 - 从 Claude 的视角迭代: 观察它实际如何使用 Skill,留意意外路径或对某些上下文的过度依赖。尤其要认真设计
name和description,因为 Claude 依靠它们判断是否应触发该 Skill。 - 与 Claude 共同迭代: 要求 Claude 将成功做法和常见错误沉淀成可复用的上下文与代码。若它走偏,可让它反思原因。这样能发现它真正需要哪些信息,而不是由人预先猜测一切。
安全注意事项
Skill 通过指令和代码赋予 Claude 新能力,因此很强大,也带来风险:恶意 Skill 可能引入漏洞,或引导 Claude 外传数据、执行非预期操作。
建议只安装来自可信来源的 Skills。若使用可信度较低的来源,应先完整审计:阅读所有随附文件,检查代码依赖、图片和脚本等资源,并特别留意会连接到潜在不可信外部网络的指令。
Skills 的未来
Agent Skills 已支持 Claude.ai、Claude Code、Claude Agent SDK 与 Claude Developer Platform。后续计划覆盖创建、编辑、发现、分享和使用 Skills 的完整生命周期。团队也在探索 Skills 如何补足 Model Context Protocol(MCP)server:通过 Skill 教会 Agent 使用外部工具的复杂工作流。
更长远的目标是让 Agent 自行创建、编辑和评估 Skills,把自身有效的行为模式沉淀为可复用能力。
Skills 的概念与格式都很简单,却降低了组织、开发者和终端用户构建定制 Agent 的门槛。更多资料见 Skills 文档 与 Cookbook。