返回 文章 build CMS 文章

Anthropic 推出 Agent Skills:为智能体装备真实世界能力

Agent Skills 用文件夹封装指令、脚本和资源,让智能体按需加载领域知识,实现可组合、可扩展、可移植的专业化能力。

Agent SkillsAnthropicClaude智能体
成长分 / 100 75 综合收获、行动、留存与影响

Anthropic 推出 Agent Skills:为智能体装备真实世界能力
为什么值得读了解 Anthropic 如何通过 Agent Skills 解决智能体领域专业知识装备问题,替代碎片化定制智能体。

掌握渐进式披露三层设计原则,理解如何高效管理智能体上下文窗口。

关键洞察
  1. 技能是包含 SKILL.md 的目录,启动时仅预加载 name 和 description 元数据,实现渐进式披露。
  2. 渐进式披露分三层:元数据、SKILL.md 正文、捆绑的额外文件,智能体按需加载,上下文可无限扩展。
  3. 技能可包含代码脚本,用于确定性操作,如 PDF 表单提取,避免 token 生成的低效。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:7687

获取开发者新闻通讯

产品更新、操作指南、社区聚焦等更多内容。每月发送至您的收件箱。

更新:我们已将 Agent Skills**发布为跨平台可移植性的开放标准。(2025年12月18日)

随着模型能力的提升,我们现在可以构建与完整计算环境交互的通用智能体。Claude Code 就是一个例子,它可以通过本地代码执行和文件系统完成跨领域的复杂任务。但随着这些智能体变得更加强大,我们需要更具可组合性、可扩展性和可移植性的方式来为它们配备领域特定的专业知识。

这促使我们创建了 Agent Skills:有组织的指令、脚本和资源文件夹,智能体可以发现并动态加载它们,以在特定任务上表现更好。

为智能体构建技能就像为新员工整理入职指南。现在,任何人都可以通过捕获和分享他们的程序性知识,用可组合的能力来专业化他们的智能体,而不是为每个用例构建碎片化的、定制设计的智能体。在本文中,我们解释了什么是技能,展示了它们如何工作,并分享了构建您自己的技能的最佳实践。

为了看到技能的实际应用,让我们来看一个真实的例子:驱动 Claude 最近推出的文档编辑能力 的技能之一。Claude 已经对理解 PDF 了解很多,但在直接操作它们方面能力有限(例如填写表单)。这个 PDF 技能 让我们能够赋予 Claude 这些新能力。

最简单的形式下,技能是一个包含 SKILL.md file

的目录。该文件必须以 YAML frontmatter 开头,其中包含一些必需的元数据:name

description

。在启动时,智能体会将每个已安装技能的 name

description

预加载到其系统提示中。

这些元数据是渐进式披露第一层:它提供了刚好足够的信息,让 Claude 知道每个技能何时应该被使用,而无需将所有内容加载到上下文中。该文件的实际正文是第二层细节。如果 Claude 认为该技能与当前任务相关,它会通过将完整的 SKILL.md

读入上下文来加载该技能。

随着技能复杂度的增长,它们可能包含太多上下文而无法放入单个 SKILL.md

中,或者包含仅在特定场景下相关的上下文。在这些情况下,技能可以在技能目录中捆绑额外的文件,并从 SKILL.md

中按名称引用它们。这些额外链接的文件是第三层(及更高层)细节,Claude 可以选择仅在需要时浏览和发现它们。

在下面展示的 PDF 技能中,SKILL.md

引用了两个额外的文件(reference.md

forms.md

),技能作者选择将它们与核心 SKILL.md

一起捆绑。通过将表单填写指令移至单独的文件(forms.md

),技能作者能够保持技能核心的精简,相信 Claude 只会在填写表单时读取 forms.md

渐进式披露是使 Agent Skills 灵活且可扩展的核心设计原则。就像一本组织良好的手册,从目录开始,然后是具体章节,最后是详细的附录,技能让 Claude 只在需要时加载信息:

拥有文件系统和代码执行工具的智能体在处理特定任务时,不需要将整个技能读入其上下文窗口。这意味着可以捆绑到技能中的上下文量实际上是无限的。

下图展示了当用户消息触发技能时,上下文窗口如何变化。

图中显示的操作序列:

pdf/SKILL.md

forms.md

与技能捆绑的文件;技能还可以包含供 Claude 自行决定作为工具执行的代码。

大型语言模型在许多任务上表现出色,但某些操作更适合传统的代码执行。例如,通过 token 生成来排序列表比直接运行排序算法要昂贵得多。除了效率方面的考虑,许多应用需要只有代码才能提供的确定性可靠性。

在我们的示例中,PDF 技能包含一个预先编写的 Python 脚本,用于读取 PDF 并提取所有表单字段。Claude 可以运行此脚本,而无需将脚本或 PDF 加载到上下文中。而且由于代码是确定性的,此工作流一致且可重复。

以下是一些有助于开始编写和测试技能的实用指南:

SKILL.md

文件变得难以管理时,将其内容拆分为单独的文件并引用它们。如果某些上下文互斥或很少一起使用,保持路径分离将减少 token 使用量。最后,代码既可以作为可执行工具,也可以作为文档。应明确 Claude 是应直接运行脚本还是将其读入上下文作为参考。name

description

你的技能。Claude 在决定是否响应其当前任务触发技能时将使用这些信息。技能通过指令和代码为 Claude 提供新能力。虽然这使它们强大,但也意味着恶意技能可能在使用它们的环境中引入漏洞,或指示 Claude 窃取数据并采取意外操作。

我们建议仅从可信来源安装技能。当从不太可信的来源安装技能时,请在使用前彻底审计。首先阅读技能中捆绑文件的内容,了解其功能,特别注意代码依赖项和捆绑资源(如图像或脚本)。同样,注意技能中指示 Claude 连接到潜在不可信外部网络源的指令或代码。

Agent Skills 现已支持Claude.ai、Claude Code、Claude Agent SDK 和 Claude 开发者平台。

在接下来的几周里,我们将继续添加支持 Skills 创建、编辑、发现、共享和使用全生命周期的功能。我们尤其期待 Skills 能够帮助组织和个人与 Claude 分享他们的上下文和工作流程。我们还将探索 Skills 如何通过教会智能体涉及外部工具和软件的更复杂工作流程,来补充 Model Context Protocol(MCP)服务器。

展望更远的未来,我们希望让智能体能够自行创建、编辑和评估 Skills,使它们能够将自己的行为模式编纂为可复用的能力。

Skills 是一个简单的概念,其格式也相应地简单。这种简单性使组织、开发者和最终用户更容易构建定制化的智能体并赋予它们新的能力。

我们很期待看到人们用 Skills 构建出什么。今天就查看我们的 Skills 文档cookbook 来开始吧。

作者:Barry Zhang、Keith Lazuka 和 Mahesh Murag,他们都非常喜欢文件夹。特别感谢 Anthropic 众多其他倡导、支持和构建 Skills 的同事们。

产品更新、操作指南、社区聚焦等。每月发送到您的收件箱。