Anthropic Agent Skills 解析
1480 字约 5 分钟
摘要解读 Anthropic 发布的 Agent Skills 架构、价值和用法,并与 MCP、RAG 等已有技术进行比较,说明它在智能体开发中的定位。
Agent Skills 官方文档:Agent Skills - Claude API Docs
开发 AI Agent 时,经常会遇到一个问题:怎样让模型具备处理复杂专业任务的能力,同时又不会因为提示词过多而撑爆上下文窗口?Anthropic 发布的 Agent Skills 提供了一种系统化的解决思路。
从一次性提示到可复用的能力封装
过去,我们通常通过冗长的 Prompt 来规范 AI 的行为。Skills 则是一个包含指令、脚本和资源的文件夹,Claude 会在需要时动态加载,以提升在特定任务上的表现。
它的核心机制称为渐进式披露(Progressive disclosure)。Skills 依托文件系统和虚拟机环境运行,Claude 可以像一个实际工作的员工那样,按需在文件目录中查阅资料,而不是在对话开始时就把所有背景信息塞进上下文。这种机制有效缓解了上下文窗口过载的问题。
Skills 的内容分为三个层级加载:
-
第一层是始终加载的元数据:每个 Skill 都有一个 YAML 头部,包含名称和描述。这部分很轻量,大约只占 100 个 Token,让 Claude 知道“有这个技能,以及什么时候该用它”。
-
第二层是触发时加载的指令:当用户的请求命中元数据中的描述时,Claude 会通过 bash 命令读取具体的
SKILL.md文件,把核心操作流程和最佳实践等指导内容加载到上下文中。 -
第三层是按需加载的资源和代码:这是最有用的部分。可以把 Python 脚本、API 文档甚至数据库 Schema 打包进 Skill。只有当指令明确要求时,Claude 才会执行脚本或读取这些资源。脚本的源代码本身不占用 Token,系统只读取执行结果。
为什么需要 Agent Skills
引入这一机制,主要为了解决组织内部推进 AI 应用和个人工作流自动化时的实际问题。
首先,它让 Claude 以可重复的方式完成特定任务。无论是按照公司的品牌规范制作文档、按固定流程分析数据,还是处理个人的日常事务,Skills 都能提高 Claude 输出的一致性、速度和整体质量。对于团队协作,它有助于沉淀企业知识:可以把标准操作流程和最佳实践打包成 Skill,让团队成员在同一标准下使用 Claude。在企业版和团队版中,管理员还可以统一配置这些 Skill,并分发到所有员工的账户中,不需要每个人单独设置。
更长远的意义在于,Anthropic 将 Agent Skills 作为开放标准(Agent Skills open standard)发布在 agentskills.io 上。这意味着,编写的 Skill 不只能在 Claude 中使用;只要其他 AI 平台采用了这一标准,Skill 包就可以跨平台迁移。对于开发者,官方还提供了 Python SDK,便于在自己的平台上支持这些 Skill。
开发一个 Skill 的流程
编写 Skill 的门槛很低。如果逻辑比较简单,只需要会写 Markdown,不需要编写代码。如果需要更复杂的功能,也可以附带可执行的脚本。
Anthropic 官方还提供了一批预置的 Skill,例如用于处理 Excel、Word、PowerPoint 和 PDF 文件的文档创建能力。这些 Skill 对所有用户开放,并会在相关场景中自动触发。
假设要自定义一个专门处理复杂 PDF 表单的 Skill,目录结构大致如下。首先需要一个 SKILL.md 文件,其头部包含用于触发的 YAML 元数据:
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
---在同一个文件夹中,可以放置一个包含提取逻辑的 Python 脚本,并在 Markdown 正文中说明如何使用 pdfplumber 库提取文本。用户上传 PDF 并要求提取信息时,Claude 先读取元数据,发现匹配后,通过 bash 读取 SKILL.md,再执行配套的 Python 脚本,最后把结果返回给用户。只有在需要处理表单等特定功能时,才会加载附属的 FORMS.md 等参考文件。
Skills 与其他技术的区别
刚接触 Skills 时,很容易把它和其他技术混淆。下面梳理一下它们的边界。
-
与 MCP 的关系:两者并不冲突,而是互补的。MCP 负责建立连接,把 Claude 与外部服务、数据源打通。Skills 解决的是“如何操作”的问题,包含完成具体工作流的指导说明。简单来说,MCP 给 Claude 提供工具,Skills 则是一本说明书,告诉 Claude 如何高效、正确地使用这些工具。
-
与 RAG 的关系:二者补充能力的方式不同。RAG 主要提供陈述性知识,通过语义检索从向量数据库中找出静态的事实文本,供模型阅读。Agent Skills 提供的是程序性知识,详细说明如何完成特定任务或工作流。Skills 同样依靠渐进式披露,由模型判断哪些技能相关并按需加载,从而避免上下文过载。在设计复杂智能体的工程方案时,传统 RAG 很难精确控制多步骤逻辑,而 Skills 直接把指令、脚本和资源打包成文件夹。模型可以运行预置的 Python 脚本,只获取执行结果。这种从单纯检索信息转向执行动作的方式,能明显提高系统的稳定性和处理能力。
总结
Agent Skills 的推出,标志着大语言模型在任务执行层面向更成熟的工程体系迈进了一步。它降低了 Prompt 的维护成本,并通过虚拟机架构和渐进式加载,为 AI Agent 的扩展提供了更多可能。