利用 Agent Skills 为智能体装备真实世界能力
摘要
Anthropic 推出「Agent Skills」开放标准,通过可组合的指导指令与脚本目录,为 AI 智能体赋予领域专属专业能力。该框架提升了 Claude Code 等智能体的可移植性与专业化程度,且无需进行定制化模型训练。
暂无内容
查看缓存全文
缓存时间: 2026/05/08 09:35
# 用 Agent Skills 为智能体装备真实世界能力
来源:https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
*更新:我们已将 **Agent Skills** (https://agentskills.io/) 发布为跨平台可移植的开放标准。(2025年12月18日)*
随着模型能力的提升,我们现在可以构建能够与完整计算环境交互的通用智能体。例如,Claude Code (https://claude.com/product/claude-code) 能够通过本地代码执行和文件系统完成跨领域的复杂任务。但随着这些智能体变得越来越强大,我们需要更灵活、可扩展、可移植的方式来为它们装备领域专业知识。
这促使我们创建了 **Agent Skills** (https://www.anthropic.com/news/skills):一种由指令、脚本和资源组成的结构化文件夹,智能体可以动态发现和加载它们,从而在特定任务上表现更好。Skills 通过将您的专业知识打包成可组合的资源来扩展 Claude 的能力,将通用智能体转变为满足您需求的专业智能体。
为智能体构建技能就像为新员工编写入职指南。无需为每个用例构建碎片化的定制智能体,任何人现在都可以通过捕获和分享他们的程序知识,用可组合的能力来专业化他们的智能体。在本文中,我们解释什么是 Skills、展示它们如何工作,并分享构建您自己的技能的最佳实践。
要激活技能,您只需要编写一个包含自定义指导的 SKILL.md 文件。技能是一个包含 SKILL.md 文件的目录,该文件包含结构化的指令、脚本和资源文件夹,为智能体提供额外能力。
## 技能的解剖结构
要查看 Skills 的实际运作,让我们通过一个真实示例来了解:Claude 最近推出的文档编辑功能 (https://www.anthropic.com/news/create-files) 背后的一个技能。Claude 已经了解很多关于理解 PDF 的知识,但在直接操作 PDF 方面能力有限(例如填写表单)。这个 PDF skill (https://github.com/anthropics/skills/tree/main/document-skills/pdf) 让我们能够赋予 Claude 这些新能力。
最简单地说,技能是一个包含 `SKILL.md 文件` 的目录。该文件必须以 YAML 前置元数据开头,其中包含一些必需的元数据:`name` 和 `description`。启动时,智能体会将每个已安装技能的 `name` 和 `description` 预加载到其系统提示中。
这些元数据是**第一层**的*渐进式披露*:它提供了刚好足够的信息让 Claude 知道何时应该使用每个技能,而无需将所有内容加载到上下文中。该文件的实际正文是**第二层**细节。如果 Claude 认为该技能与当前任务相关,它会通过读取完整的 `SKILL.md` 到上下文中来加载该技能。
SKILL.md 文件的解剖结构包括相关元数据:名称、描述以及与技能应采取的具体操作相关的上下文。SKILL.md 文件必须以 YAML 前置元数据开头,其中包含文件名称和描述,这些内容在启动时加载到其系统提示中。
随着技能复杂度的增长,它们可能包含太多上下文,无法放入单个 `SKILL.md` 中,或者包含仅在特定场景下相关的上下文。在这些情况下,技能可以在技能目录中捆绑额外的文件,并从 `SKILL.md` 中按名称引用它们。这些额外的链接文件是**第三层**(及更深层)的细节,Claude 可以仅在需要时选择导航和发现。
在下面展示的 PDF 技能中,`SKILL.md` 引用了两个额外的文件(`reference.md` 和 `forms.md`),技能作者选择将它们与核心 `SKILL.md` 一起捆绑。通过将表单填写指令移到单独的文件(`forms.md`)中,技能作者能够保持技能核心精简,相信 Claude 只会在填写表单时读取 `forms.md`。
如何将额外内容捆绑到 SKILL.md 文件中。您可以将更多上下文(通过额外文件)整合到您的技能中,然后 Claude 可以根据系统提示来触发它们。
渐进式披露是使 Agent Skills 灵活且可扩展的核心设计原则。就像一本组织良好的手册,从目录开始,然后是特定章节,最后是详细的附录,技能让 Claude 仅在需要时加载信息:
此图描绘了 Skills 中上下文的渐进式披露。
具有文件系统和代码执行工具的智能体在处理特定任务时,无需将技能的完整内容读取到其上下文窗口中。这意味着可以捆绑到技能中的上下文量实际上是无限的。
### 技能与上下文窗口
下图展示了当技能被用户消息触发时,上下文窗口如何变化。
此图描绘了技能如何在您的上下文窗口中被触发。技能通过您的系统提示在上下文窗口中被触发。
所示的操作序列:
1. 首先,上下文窗口包含核心系统提示和每个已安装技能的元数据,以及用户的初始消息;
2. Claude 通过调用 Bash 工具读取 `pdf/SKILL.md` 的内容来触发 PDF 技能;
3. Claude 选择读取与技能捆绑的 `forms.md` 文件;
4. 最后,Claude 继续执行用户的任务,此时它已从 PDF 技能加载了相关指令。
### 技能与代码执行
技能还可以包含代码,供 Claude 酌情作为工具执行。
大语言模型擅长许多任务,但某些操作更适合传统的代码执行。例如,通过 token 生成来排序列表比简单运行排序算法要昂贵得多。除了效率考虑之外,许多应用需要只有代码才能提供的确定性可靠性。
在我们的示例中,PDF 技能包含一个预先编写的 Python 脚本,用于读取 PDF 并提取所有表单字段。Claude 可以运行此脚本,而无需将脚本或 PDF 加载到上下文中。而且由于代码是确定性的,这个工作流是一致且可重复的。
此图描绘了如何通过 Skills 执行代码。技能还可以包含代码,供 Claude 根据任务性质酌情作为工具执行。
## 开发和评估技能
以下是一些有助于开始编写和测试技能的指导原则:
- **从评估开始:** 通过在代表性任务上运行您的智能体并观察它们在何处遇到困难或需要额外上下文,来识别智能体能力中的具体差距。然后逐步构建技能来解决这些不足。
- **为扩展而结构:** 当 `SKILL.md` 文件变得难以处理时,将其内容拆分成单独的文件并引用它们。如果某些上下文是互斥的或很少一起使用,保持路径分开将减少 token 使用量。最后,代码既可以作为可执行工具,也可以作为文档。应该明确 Claude 是应该直接运行脚本,还是将它们读取到上下文中作为参考。
- **从 Claude 的角度思考:** 监控 Claude 在真实场景中使用您技能的方式,并根据观察结果进行迭代:注意意外的轨迹或对某些上下文的过度依赖。特别注意您技能的 `name` 和 `description`。Claude 会在决定是否响应其当前任务触发技能时使用这些信息。
- **与 Claude 一起迭代:** 当您与 Claude 一起处理任务时,让 Claude 将其成功的方法和常见错误捕获到技能中的可重用上下文和代码中。如果它在使用技能完成任务时偏离轨道,让它自我反思出了什么问题。这个过程将帮助您发现 Claude 实际需要什么上下文,而不是试图提前预测。
### 使用 Skills 时的安全考虑
Skills 通过指令和代码为 Claude 提供新能力。虽然这使它们变得强大,但也意味着恶意技能可能会在它们使用的环境中引入漏洞,或指示 Claude 泄露数据并采取意外行动。
我们建议仅从受信任的来源安装技能。从较不可信的来源安装技能时,在使用前彻底审计它。首先阅读技能中捆绑的文件内容,了解它的作用,特别注意代码依赖项和捆绑的资源(如图像或脚本)。同样,注意技能中指示 Claude 连接到潜在不可信外部网络源的指令或代码。
## Skills 的未来
Agent Skills 现已支持 (https://www.anthropic.com/news/skills) Claude.ai (http://claude.ai/redirect/website.v1.0b6bb649-4a38-4b2c-9c6d-6f35bb18770c)、Claude Code、Claude Agent SDK 和 Claude Developer Platform。
在接下来的几周里,我们将继续添加支持 Skills 完整生命周期(创建、编辑、发现、分享和使用)的功能。我们尤其对 Skills 帮助组织和个人与 Claude 分享其上下文和工作流程的机会感到兴奋。我们还将探索 Skills 如何补充 Model Context Protocol (https://modelcontextprotocol.io/) (MCP) 服务器,通过教智能体涉及外部工具和软件的更复杂工作流。
展望未来,我们希望让智能体能够自己创建、编辑和评估 Skills,让它们将自己的行为模式编码成可重用的能力。
Skills 是一个简单的概念,具有相应简单的格式。这种简单性使组织、开发者和最终用户更容易构建定制智能体并赋予它们新能力。
我们很高兴看到人们用 Skills 构建什么。立即通过查看我们的 Skills 文档 (https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview) 和 cookbook (https://github.com/anthropics/claude-cookbooks/tree/main/skills) 开始吧。
## 致谢
由 Barry Zhang、Keith Lazuka 和 Mahesh Murag 撰写,他们都非常喜欢文件夹。特别感谢 Anthropic 许多其他倡导、支持和构建 Skills 的人。
相似文章
agentskills/agentskills
Agent Skills 是 Anthropic 提出的一项开放标准,用于将专业知识和工作流程打包到可移植、版本控制的文件夹中,AI 代理可以按需加载这些文件夹,从而在最小化上下文开销的情况下实现领域专业知识和可重复执行的任务。
VoltAgent/awesome-agent-skills
精选 GitHub 仓库,收录 1100+ 来自 Anthropic、Google、Stripe、Vercel 等主流开发团队的实战 AI Agent 技能,兼容 Claude Code、Codex、Cursor 及其他 AI 编程助手。
@oliviscusAI: Anthropic的自家想法刚刚成为了行业标准。我自己的文章正好有一节关于这个,在转换之前……
Anthropic的概念已成为行业标准,导致来自主要组织的全面AI代理技能目录的形成,开发者应在创建新技能前查看。
anthropics/skills
Anthropic 开源了一个“技能”仓库——包含可复用的指令、脚本和资源,能够动态增强 Claude 在特定任务上的表现,涵盖创意、技术和企业工作流程。
将团队编码标准带入 Claude Code 和 Codex 的 Agent 技能
介绍 ADLC Team Skills,一个开源仓库,通过 agent skills、斜杠命令和会话启动事件钩子,将共享的团队编码标准、架构规则和评估基准带到 Claude Code 和 Codex 等 AI 编码代理中。