晨光里的AI

固定版本 · 查看当前页面

跳出二手资料:为什么说 Anthropic 的 Agent Skills 是「渐进式」的未来?

晨旭 · 内容日期 2025-11-07。此页保留当时的文本、性质和段落,不用于判断现在是否仍然有效。

版本 ac0e26ee3d6c57cd73ec5df6de8d7db27d94a5a38c6c3e33cd6ac0c8e626cee5 · 读取 JSON

p1

在 AI 技术浪潮中,我们每天都被大量的二手资料包围:公众号文章、解读视频、行业报告。但这些二手资料往往追求标题党和传播效果,内容可能浅显甚至失真。

p2

想要真正理解一项新技术,我们必须回归一手资料:官方博客、技术文档和代码示例。

p3

这篇的目标,正是结合 Anthropic 官方博文,深度拆解一个可能重塑 Agent 构建方式的新概念——Agent Skills,探究它如何通过「渐进式信息披露」的设计,巧妙地解决了 Agent 扩展性的核心难题。

p4

什么是 Agent Skills?

p5

在过去,我们构建 Agent 的方式是碎片化的。正如官方博文所说,我们为每个用例构建「零散的、定制设计的 Agent」。这种方式不仅开发效率低,而且难以扩展和复用。

p6

Anthropic 提出的解决方案是 Agent Skills。官方的比喻很形象:为 Agent 构建一个 Skill,就像是为新员工准备一份入职指南。

p7

一个 Skill 不再是一个孤立的 API 或一个冗长的 Prompt,它是一个包含了指令、脚本和资源的文件夹。它将你的专业知识打包成可组合的资源,把一个「通用 Agent」转变为能满足你特定需求的「专家 Agent」。

p8

核心设计原则:渐进式信息披露

p9

Agent Skills 之所以强大,核心设计原则在于渐进式信息披露。

p10

可以把它比喻为一份精心组织的说明书:不需要一次性阅读所有内容,而是先看目录,再看章节,最后才查附录。Skills 通过一个三层结构,实现了上下文的按需加载。

p11

Level 1:技能元数据(SKILL.md Metadata)

p12

每个 Skill 文件夹中 SKILL.md 文件头部的 YAML 元数据,主要包含 name 和 description。

p13

- 何时加载:始终加载,在 Agent 启动时就预加载到 System Prompt 中。 - 成本:极低,约 100 Tokens。 - 目的:这是技能的「目录」,只提供足够的信息让 Claude 知道何时应该使用这个技能。

p14

Level 2:技能主体(SKILL.md Body)

p15

SKILL.md 文件中除元数据外的主体部分,用 Markdown 编写,包含执行任务的核心指令。

p16

- 何时加载:当技能被触发时。只有当 Claude 认为这个技能与当前任务相关,它才会去翻看这部分内容。 - 成本:较低,通常小于 5k Tokens。 - 目的:这是技能的「具体章节」,提供完成任务的核心逻辑。

p17

Level 3:捆绑文件(Bundled Files)

p18

存放在 Skill 文件夹中的额外文件,如 .py 脚本、reference.md 参考文档、.csv 数据、forms.md 表单模板。

p19

- 何时加载:由 Claude 按需加载。 - 成本:几乎无上限,因为它们只在需要时才被读入上下文。 - 目的:这是技能的附录和工具箱,让 Skill 的能力可以无限扩展,而无需担心撑爆上下文窗口。

p20

有一点需要注意:一个技能一旦被加入了上下文,便一直留在了上下文,这是不可逆的,现在还没有相应的卸载方式。

p21

实践中:Skills 与上下文窗口如何交互?

p22

官方文档用一个流程图清晰地展示了 Skills 的工作流。

p23

(1)启动与触发:用户发起请求(例如「帮我填一下这张 PDF 表单」)。此时 Claude 的上下文窗口中只有所有已安装技能的 Level 1 元数据。Claude 根据用户意图和元数据描述,决定触发 PDF Skill。

p24

(2)加载 Level 2:Claude 触发技能后,调用工具去读取 pdf/SKILL.md 文件的完整内容,Level 2 的指令被加载到上下文窗口。

p25

(3)加载 Level 3(按需):Claude 阅读了 Level 2 的指令,发现要完成填表这个子任务需要参考 forms.md,于是再次调用工具,只去读取这一个捆绑文件。

p26

(4)执行任务:直到此刻,Claude 才集齐了所有完成任务所需的上下文,整合所有信息完成用户的请求。

p27

不只是文本:Skills 与代码执行

p28

Skills 不仅仅是说明书,它还可以是工具箱。官方博文指出,Skills 可以包含预先编写好的代码(如 Python 脚本),供 Claude 自行决定执行。

p29

这解决了 LLM 的两个核心痛点:

p30

- 效率问题:让 LLM 通过 Token 生成来排序一个长列表,既昂贵又缓慢。 - 可靠性问题:LLM 在执行传统代码(如数学计算、排序)时,并不能保证 100% 准确。

p31

通过将这些任务交给 Skills 中的 Python 脚本来执行,Agent 获得了确定性和可靠性,并且这个过程无需将代码本身加载到上下文窗口中,极大地节省了宝贵的 Token 空间。

p32

在实践中使用 Skill 时有两种选择:

p33

- 直接调用:让 Claude 直接调用一个固定脚本,适合重复性任务。 - 加载和修改:当脚本需要根据任务填入私有化信息时,Claude 可以先将脚本内容加载到上下文,理解并修改(例如填入特定参数),然后再执行。

p34

AI Native 的开发范式:如何构建 Skills?

p35

官方文档给出的开发与评估指南非常具有启发性,它颠覆了传统的开发思路。

p36

从评估开始:不是先假想需求,而是先让 Agent 运行实际任务,观察它在哪些地方卡壳或需要帮助,然后增量式地为这些短板构建 Skills。

p37

为扩展而设计:善用渐进式披露。当 SKILL.md 变得臃肿时,立即将其拆分为独立的参考文件(Level 3)。

p38

从「Claude 的视角」思考:你的 name 和 description 写得是否清晰?Claude 能否在第一时间准确触发它?这是关键。

p39

与 Claude 一起迭代:这是最重要的一点。当你发现 Skill 没被正确使用时,去问 Claude 哪里出了问题。让 Claude 自我反思,它会告诉你它真正需要什么样的上下文。这是一种与 AI 协同开发的新范式。

p40

未来展望:Skills、MCP 与自我进化的 Agent

p41

生态与分享:Anthropic 将在未来构建 Skills 的完整生命周期支持,包括创建、编辑、发现和分享。一个「Agent Skills 商店」指日可待。

p42

协同 MCP:官方明确提到,Skills 将补充模型上下文协议(MCP)。这意味着未来,不同的 Agent 服务或许能够通过 Skills 协议来共享和调用彼此的能力。

p43

自我进化:最终极的愿景是——让 Agent 能够自己创建、编辑和评估 Skills。

p44

最后

p45

Agent Skills 是 Anthropic 对 Agent 架构的一次深度思考。它通过渐进式信息披露这一核心原则,将「文件夹」这个我们最熟悉的概念,转变成了 Agent 可动态加载、无限扩展、灵活组合的能力单元。

p46

这标志着我们正从提示词工程迈向真正的 Agent 上下文工程。

p47

技术的飞速发展,意味着今天的观点明天就可能被迭代,但学习的方法论是永恒的。与其被动等待别人的二手信息,不如主动去阅读源头,形成自己的理解。

p48

哪怕我们最初的理解是片面的,甚至是错误的。但当它被纠正时,这种刻骨铭心的认知,会远比任何一篇二手总结都来得深刻和牢固。

该版本的判断

Skills 用三层结构实现上下文按需加载:元数据始终常驻(约 100 Token)、正文在技能被触发时才读、捆绑文件由 Agent 按需读取,因此能力扩展几乎不受上下文窗口限制。

fact · 2025-11-07 · 信心 high

一个技能一旦被加载进上下文,就会一直留在上下文里,这是不可逆的,目前还没有对应的卸载机制。

fact · 2025-11-07

Skills 不只是说明书,还是工具箱。把排序、计算这类任务交给 Skill 里的 Python 脚本,Agent 获得的是确定性和可靠性,而且脚本本身不需要进上下文。

judgment · 2025-11-07 · 信心 high

构建 Skill 应该从评估开始,而不是先假想需求——先让 Agent 跑实际任务,观察它在哪里卡壳,再增量式地为这些短板补 Skill。

judgment · 2025-11-07

二手资料往往为了传播效果而浅显甚至失真。哪怕自己读一手资料形成的理解是片面的,被纠正时留下的认知也远比任何二手总结牢固。

judgment · 2025-11-07 · 信心 high