Skip to content

用 Agent Skills 武装 Agent 应对真实世界

发布日期: 2025年10月16日

作者: Barry Zhang、Keith Lazuka 和 Mahesh Murag


Claude 很强大,但真实工作需要程序性知识和组织上下文。本文介绍了 Agent Skills,被描述为"Agent 可以动态发现和加载的、由指令、脚本和资源组成的有组织的文件夹"。Skills 通过将专业知识打包成可组合的资源来扩展 Claude 的能力,将通用 Agent 转变为专业化 Agent。

更新(2025年12月18日): Agent Skills 已作为跨平台可移植的开放标准在 agentskills.io 发布。

Skill 的解剖结构

文章通过一个真实示例进行了讲解:驱动 Claude 文档编辑能力的 PDF Skill。Claude 已经理解 PDF,但直接操作 PDF 的能力有限(如填写表单)。PDF Skill 提供了这些新能力。

最简单的形式是,"一个 Skill 就是一个包含 SKILL.md 文件的目录。"此文件必须以 YAML frontmatter 开头,包含必需的元数据:namedescription。在启动时,Agent 会将每个已安装 Skill 的名称和描述预加载到其系统提示中。

这些元数据代表了第一层渐进式信息披露——提供足够的信息让 Claude 判断一个 Skill 是否相关,而无需加载所有内容。文件的主体是第二层详细信息;如果 Claude 判断该 Skill 适用于当前任务,它会将完整的 SKILL.md 读入 Context。

附加文件

随着 Skill 复杂度的增长,单个 SKILL.md 可能包含过多的上下文,或者某些上下文仅在特定场景下才相关。Skill 可以在 Skill 目录中捆绑额外的文件,并通过名称引用它们。这些文件作为第三层(及更深层)的详细信息。

在 PDF 示例中,SKILL.md 引用了两个额外文件:reference.mdforms.md。通过将表单填写指令移到单独的文件中,Skill 作者保持了核心 Skill 的精简,信任 Claude 只会在实际填写表单时才读取 forms.md

渐进式信息披露

文章将渐进式信息披露描述为使 Skills 灵活且可扩展的核心设计原则。使用的类比是:"就像一本组织良好的手册,从目录开始,然后是具体章节,最后是详细的附录。"Skills 让 Claude 按需加载信息,这意味着"可以捆绑到一个 Skill 中的上下文量实际上是无限的"。

Skills 与 Context Window

当 Skill 被触发时的序列:

  1. Context Window 以核心系统提示、已安装 Skills 的元数据和用户的初始消息开始。
  2. Claude 通过调用 Bash 工具读取 pdf/SKILL.md 的内容来触发 PDF Skill。
  3. Claude 读取 Skill 捆绑的 forms.md 文件。
  4. Claude 在加载了相关指令后继续执行用户的任务。

Skills 与代码执行

Skills 可以包含供 Claude 自行决定执行的代码。文章指出,LLM 在许多任务上表现出色,但"某些操作更适合传统的代码执行"。例如,通过 Token 生成来排序列表远比运行排序算法成本更高。许多应用也需要代码才能提供的确定性可靠性。

PDF Skill 包含一个预编写的 Python 脚本,用于读取 PDF 并提取表单字段。Claude 可以运行此脚本而无需将脚本或 PDF 加载到 Context 中,而且由于代码是确定性的,工作流具有一致性和可重复性。

开发和评估 Skills

编写和测试 Skills 的指南:

  • 从评估开始: 通过在代表性任务上运行 Agent 并观察其薄弱环节来识别具体的能力差距,然后增量构建 Skills 以弥补不足。
  • 为扩展而设计:SKILL.md 变得臃肿时,将内容拆分到单独的文件中。对于互斥或很少同时使用的上下文,保持路径分离以减少 Token 使用。代码既可以作为可执行工具也可以作为文档——应该明确 Claude 是应该运行脚本还是将其作为参考来阅读。
  • 从 Claude 的视角思考: 监控 Claude 如何使用你的 Skill 并根据观察进行迭代,留意意外的轨迹或对某些上下文的过度依赖。特别注意 namedescription,因为 Claude 在决定是否触发 Skill 时会使用这些信息。
  • 与 Claude 一起迭代: 要求 Claude 将成功的方法和常见的错误捕获到可复用的上下文和代码中。如果它偏离了轨道,要求它自我反思哪里出了问题。这有助于发现 Claude 实际需要什么上下文,而不是试图预先猜测。

安全注意事项

Skills 通过指令和代码为 Claude 提供新能力,这使它们非常强大,但也意味着"恶意 Skills 可能引入漏洞"或"指示 Claude 窃取数据并执行非预期操作"。

建议只从可信来源安装 Skills。当使用来自不太可信来源的 Skill 时,应先彻底审计——阅读捆绑的文件,注意代码依赖、捆绑的资源(如图片或脚本),以及任何连接到潜在不可信外部网络源的指令。

Skills 的未来

Agent Skills 在 Claude.ai、Claude Code、Claude Agent SDK 和 Claude Developer Platform 上均受支持。计划中的开发包括支持创建、编辑、发现、分享和使用 Skills 全生命周期的功能。团队还在探索 Skills 如何与 Model Context Protocol(MCP)服务器互补,教会 Agent 涉及外部工具的更复杂工作流。

更长远的目标是让 Agent 能够自行创建、编辑和评估 Skills,"让它们将自己的行为模式编码为可复用的能力"。

文章总结道,Skills 是一个概念简单、格式简单的概念,使组织、开发者和最终用户更容易构建定制化的 Agent。相关资源可在 Skills 文档Cookbook 中获取。

AI 落地咨询
艾维禾砺数字科技

企业 AI 落地全链路服务

Agent 开发工作流搭建Claude Code 集成
微信咨询
d187l8801b6124
访问官网 ivheli.com