Anthropic推出的Agent Skills,本质是将“提示词工程”升级为“技能模块化”,让Claude能像人一样按需加载知识。它通过“渐进式披露”机制,解决了AI上下文窗口的Token浪费问题,让通用模型瞬间变身专业领域的“特种兵”。但这看似完美的“技能商店”蓝图,也带来了不容忽视的供应链安全风险。

深度拆解与分析

1. 从“背诵全文”到“查阅手册” 以前的AI应用,像是一个必须把所有知识都硬塞进脑子的书呆子,效率低且容易“短路”。Agent Skills的 “渐进式披露” 设计非常精妙:启动时只给目录(元数据),用到时才加载章节(SKILL.md),细节甚至可以按需读取。这就像给AI配了一整套图书馆,而不是让它死记硬背,极大地释放了上下文窗口的潜力。

2. 知识的“乐高化” Skills不仅仅是提示词,它是一个包含指令、脚本和资源的文件夹。这意味着它不仅能“想”,还能“做”。比如内置的PDF技能,不仅能读文件,还能调用Python脚本提取表单。这种将SOP(标准作业程序)代码化的能力,让企业可以把内部的业务流程直接“喂”给AI,瞬间打造一个懂行的“数字员工”。

3. 安全:双刃剑的另一面 文章最后提到的安全警告非常关键。Skills允许捆绑可执行代码,这就引入了“AI供应链攻击”的风险。如果我从不可信来源安装了一个看似好用的技能,它背后可能藏着窃取数据的脚本。在未来的“技能经济”中,如何验证技能的可信度,将是一个比技术本身更难解决的社会工程学问题。

个人观点与升华

我认为,Agent Skills标志着AI开发范式的重大转移:开发者将从“提示词工人”转型为“技能装配师”

对于普通人来说,这可能意味着未来我们不再需要下载成百上千个APP,而是拥有一个全能AI,通过加载不同的“技能包”来满足所有需求。但这也让我深思:当AI的能力边界由我们安装的“技能”决定时,“算法偏见”是否会演变成更隐蔽的“技能偏见”?

你怎么看?欢迎在评论区聊聊,如果你有一个专属AI,最想给它安装什么“超能力”技能?


以下文章原文:

Claude 功能强大,但实际工作往往需要特定的流程性知识和组织上下文。为此,我们推出了 Agent Skills,这是一种利用文件和文件夹构建专用智能体的全新方式。

随着模型能力的提升,我们现在能够构建通用智能体,使其与功能完备的计算环境进行交互。例如,Claude Code 就能利用本地代码执行和文件系统,完成跨领域的复杂任务。但随着这些智能体功能日益强大,我们需要更模块化、可扩展且可移植的方式来赋予它们特定领域的专业知识。

这促使我们创造了 Agent Skills:即由指令、脚本和资源组成的有序文件夹,智能体可以动态发现并加载它们,从而在特定任务上表现得更好。Skills 通过将你的专业知识打包成可组合的资源赋予 Claude,从而扩展其能力,将通用智能体转化为贴合你需求的专用智能体。

为智能体构建一项Skill,就像为新员工编写入职指南一样。与其为每个使用场景构建零散、定制的智能体,不如现在通过记录和分享流程性知识,利用模块化能力来定制你的智能体。在本文中,我们将解释 Skills 是什么,演示其工作原理,并分享构建你自己的 Skills 的最佳实践。


一项 Skill(技能)就是一个目录,其中包含一个 SKILL.md 文件,以及由指令、脚本和资源组成的有序文件夹,这些内容赋予了智能体额外的能力。

技能的构成

为了直观地了解 Skills 的运作,让我们来看一个真实案例:一个驱动 Claude 最新文档编辑功能的技能。Claude 本身对理解 PDF 文件已颇有“心得”,但在直接操作 PDF(例如填写表单)方面能力有限。这个 PDF 技能就能赋予 Claude 这些新能力。

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

这些元数据是“渐进式披露”的第一层级:它提供了恰到好处的信息,让 Claude 知道何时该使用哪个技能,而无需将所有内容都加载进上下文。该文件的实际正文则是第二层级的详细信息。如果 Claude 认为该技能与当前任务相关,它会通过读取完整的 SKILL.md 文件将其加载进上下文。


SKILL.md 文件必须以包含文件名和描述的 YAML 前置元数据开头,这些信息会在启动时被加载进其系统提示中

随着Skills复杂度的增加,其上下文信息可能过多,无法全部塞进单个 SKILL.md 文件中,或者某些信息仅在特定场景下才相关。在这种情况下,技能可以在技能目录中捆绑额外的文件,并从 SKILL.md 中通过名称引用它们。这些额外的链接文件构成了第三层级(及更深层级)的细节,Claude 可以根据需要选择是否去浏览和发现它们。

在下图所示的 PDF 技能中,SKILL.md 引用了技能作者选择与核心 SKILL.md 一起捆绑的两个额外文件(reference.md 和 forms.md)。通过将填写表单的指令移至单独的文件(forms.md)中,技能作者能够保持SKILL核心的精简,相信 Claude 只有在需要填写表单时才会去读取 forms.md。


你可以通过额外文件将更多上下文信息整合进你的技能中,这些信息随后会根据系统提示由 Claude 触发。

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


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

Skills与上下文窗口

下图展示了当用户的某条消息触发Skill时,上下文窗口是如何变化的。


Skills是通过你的系统提示在上下文窗口中被触发的。

图中所示的操作序列:

  1. 首先,上下文窗口包含核心系统提示、每个已安装技能的元数据,以及用户的初始消息;

  2. 通过调用 Bash 工具读取 pdf/SKILL.md 的内容,从而触发 PDF 技能;

  3. 选择读取该技能中捆绑的 forms.md 文件;

  4. 最后,Claude 在加载了来自 PDF 技能的相关指令后,继续执行用户的任务。

Skills与代码执行

Skills还可以包含代码,供 Claude 根据任务性质自行决定将其作为工具执行。

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

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


Skills还可以包含代码,供 Claude 根据任务性质自行决定将其作为工具执行。

Skills的开发与评估

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

  • 从评估入手:通过让智能体执行具有代表性的任务,观察其在何处受阻或需要额外上下文,从而确定智能体能力的具体缺口。然后逐步构建技能来弥补这些不足。

  • 为扩展而构建结构:当 SKILL.md 文件变得过于庞大时,将其内容拆分到独立的文件中并进行引用。如果某些上下文互斥或极少同时使用,保持路径分离将减少 token 的消耗。最后,代码既可以作为可执行工具,也可以作为文档。你需要明确 Claude 是应该直接运行脚本,还是将其作为参考读入上下文。

  • 从 Claude 的角度思考:在真实场景中监控 Claude 如何使用你的技能,并根据观察结果进行迭代:留意意料之外的操作路径或对某些上下文的过度依赖。特别注意技能的名称和描述,Claude 将根据这些信息来决定是否针对当前任务触发该技能。

  • 与 Claude 一同迭代:当你与 Claude 一起处理任务时,让 Claude 将其成功的做法和常见的错误记录下来,转化为技能中可复用的上下文和代码。如果它在使用技能完成任务时偏离了轨道,让它自我反思哪里出了问题。这个过程将帮助你发现 Claude 实际需要的上下文,而不是试图在一开始就预判一切。

使用 Skills 时的安全注意事项

Skills 通过指令和代码赋予 Claude 新的能力。虽然这使它们功能强大,但也意味着恶意的 Skills 可能会在使用环境中引入漏洞,或者指示 Claude 泄露数据并执行非预期的操作。

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

Skills 的未来

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

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

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

Skills 是一个概念简单且格式同样简洁的工具。这种简洁性使得组织、开发者和终端用户更容易构建定制化的智能体,并赋予它们新能力。

我们非常期待看到大家利用 Skills 构建出的成果。今天就通过查阅我们的 Skills 文档和 Cookbook 来开始吧。


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论