博客

Claude性能强大,但实际工作需要流程性知识与组织语境。现推出"智能体技能"功能,通过文件与文件夹构建专业智能体的全新方式。

更新:我们已将“智能体技能”作为跨平台可移植性的开放标准发布。(2025年12月18日)

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

这促使我们创建了“智能体技能”:即结构化的指令、脚本和资源文件夹,智能体能够动态发现并加载这些内容,从而在特定任务中表现出色。技能通过将您的专业知识封装成可供Claude组合调用的资源,扩展了Claude的能力,将通用型智能体转化为符合您需求的专用型智能体。

为智能体构建一项技能,就如同为新员工编写入职指南。如今,任何人都无需为每个用例单独构建零散、定制的智能体,而是可以通过捕获和分享流程性知识,用可组合的能力来专业化他们的智能体。在本文中,我们将解释何为技能,展示其运作方式,并分享构建自有技能的最佳实践。

在这里插入图片描述

技能是一个包含SKILL.md文件的目录,该文件内含组织有序的指令、脚本和资源文件夹,用以赋予智能体额外的能力。

技能的解构

要了解技能的实际应用,我们来看一个真实示例:这项技能为Claude近期推出的文档编辑功能提供了核心支持。Claude本身已具备理解PDF文档的丰富知识,但在直接操作PDF方面存在局限(例如填写表格)。此项PDF技能使我们能够为Claude赋予这些新能力。

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

该元数据为渐进式披露的第一层级:仅提供足以让Claude判断何时应调用各项技能的必要信息,避免将所有技能细节加载至上下文。文件主体部分构成第二层详细信息。若Claude判定某项技能与当前任务相关,将通过读取完整的SKILL.md文件内容将其加载至上下文中。

在这里插入图片描述

SKILL.md 文件必须以包含文件名和描述的 YAML Frontmatter 开头,该 Frontmatter 会在启动时加载到其系统提示中。

随着技能复杂度的提升,其包含的上下文信息可能过多而无法全部放入单个SKILL.md文件,或存在仅适用于特定场景的上下文内容。此时,技能可在技能目录内捆绑附加文件,并通过SKILL.md中的文件名进行引用。这些附加的链接文件构成了第三层级(及更深入)的细节信息,Claude可根据需要自主选择浏览和发现相关内容。

在以下展示的PDF技能中,SKILL.md引用了技能作者选择与核心SKILL.md捆绑的两个附加文件(reference.md和forms.md)。通过将表单填写说明移至独立文件(forms.md),技能作者得以保持技能核心的简洁性,并确信Claude仅在填写表单时才会读取forms.md。

在这里插入图片描述

您可以通过附加文件为技能添加更多上下文信息,这些内容随后可依据系统提示由Claude触发调用。

渐进式披露是Agent技能保持灵活性与可扩展性的核心设计原则。正如一份编排精良的手册——从目录概览,到具体章节,最后延伸至详细附录——技能使Claude能够按需加载信息。

在这里插入图片描述
拥有文件系统和代码执行工具的智能体在处理特定任务时,无需将完整技能全部读入上下文窗口。这意味着可整合进技能中的上下文量实际上是无限的。

技能与上下文窗口

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

在这里插入图片描述

技能在上下文窗口中通过系统提示被触发。

所示操作顺序如下:
首先,上下文窗口载有核心系统指令及各已安装技能元数据,同时包含用户的初始消息;
Claude通过调用Bash工具读取pdf/SKILL.md内容来触发PDF技能;
Claude选择读取与该技能捆绑的forms.md文件;
最终,在从PDF技能加载相关指令后,Claude开始处理用户任务。

技能与代码执行

技能也可以包含供Claude自行决定执行工具的代码。

大型语言模型虽在许多任务中表现卓越,但特定操作仍更适宜传统代码执行。例如,通过令牌生成对列表排序的成本远高于直接运行排序算法。除效率考量外,许多应用需要仅代码才能提供的确定性可靠保障。

在我们的示例中,PDF处理技能包含一个预编写的Python脚本,该脚本能够读取PDF并提取所有表单字段。Claude无需将脚本或PDF加载到上下文中即可运行此脚本。由于代码具有确定性,这一工作流程具备一致性和可重复性。

在这里插入图片描述

技能亦可包含供Claude执行的代码,使其能根据任务性质自主决定将其作为工具使用。

技能培养与评估

以下是为技能编写与测试提供的一些实用入门指南:

从评估入手:通过让智能体在代表性任务上运行并观察其薄弱环节或需要补充上下文之处,从而精准定位能力缺口。随后逐步构建针对性技能以弥补这些不足。

构建可扩展结构:当SKILL.md文件变得冗杂时,将其内容拆分至独立文件并建立引用关系。若某些上下文相互排斥或极少同时使用,保持独立路径将有效减少令牌消耗。需明确代码应作为可执行工具还是文档参考——应清晰界定Claude应直接运行脚本还是将其作为参考上下文读入。

从Claude视角思考:在实际场景中观察Claude如何使用技能,并基于观察进行迭代:关注非常规执行路径或对特定上下文的过度依赖。要特别注意技能的名称与描述设计,Claude将依据这些信息判断是否针对当前任务触发该技能。

与Claude协同迭代:在与Claude协作完成任务时,可请其将成功路径和常见错误归纳为可复用的上下文及代码并整合至技能中。若技能执行出现偏差,可要求其进行自我反思。此过程将帮助您发现Claude实际需要的上下文,而非仅靠预先推测。

使用技能时的安全考量

技能通过指令和代码为Claude提供了新的能力。尽管这使其功能强大,但也意味着恶意技能可能在使用环境中引入安全漏洞,或引导Claude窃取数据并执行非预期的操作。

我们建议仅从可信来源安装技能。当安装来自可信度较低来源的技能时,请在使用前对其进行全面审查。首先,仔细阅读技能包内文件的内容以了解其功能,尤其要关注代码依赖项以及捆绑的资源(如图像或脚本)。同样,需重点关注技能中指示Claude连接至可能不可信外部网络资源的指令或代码。

技能的未来

目前,Claude.ai、Claude Code、Claude Agent SDK 以及 Claude 开发者平台均已支持智能体技能。

在接下来的几周里,我们将持续新增功能,以完整支持 Skill 的创建、编辑、发现、分享和使用全生命周期。我们尤为期待 Skill 能助力组织和个人与 Claude 共享其特定情境与工作流程。同时,我们将探索 Skill 如何通过向智能体教授涉及外部工具与软件的更复杂工作流,从而与模型上下文协议(MCP)服务器形成互补。

展望未来,我们希望能够让智能体自主创建、编辑和评估技能,使其能够将自身的行为模式固化为可重复使用的能力。

技能是一个简单的概念,其格式也同样简洁。这种简洁性使得组织、开发者和终端用户能够更轻松地构建定制化智能体,并赋予其新的能力。

我们很期待看到用户将如何使用技能功能进行开发。请立即访问我们的技能文档和实例教程,开始您的探索之旅。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐