Agent Skill 全面解析:Anthropic 推出的 AI Agent 通用设计模式
Agent Skill 本质上是让大模型可以"按需翻阅"的说明文档,通过渐进式披露机制(元数据层→指令层→资源层)实现节省 Token、高效控制模型行为的目的,它侧重于"教会模型如何处理数据",与 MCP(侧重"连接数据")互补而非替代。
一、背景与核心定位
1.1 Agent Skill 的发布历程
- 2025年10月16日:Anthropic 正式推出 Agent Skill,最初官方定位相对克制,希望用它提升 Claude 在某些特定任务上的表现。
- 行业跟进:由于这套设计实用性很强,VS Code、Codex、Cursor 等工具陆续加入了对 Agent Skill 的支持。
- 2025年12月18日:Anthropic 正式将 Agent Skill 发布为开放标准,支持跨平台、跨产品复用。这意味着 Agent Skill 已超越 Claude 单一产品范畴,正在演变为 AI Agent 领域的一个通用设计模式。
1.2 通俗定义
用最通俗的话来讲,Agent Skill 就是一个大模型可以随时翻阅的说明文档。
举个例子:
- 做智能客服时,可在 Skill 中明确交代:"遇到投诉得先安抚用户情绪,不得随意承诺。"
- 做会议总结时,可规定"必须按照参会人员、议题、决定这个格式来输出总结内容"。
这样就不用每次对话都重复粘贴那一长串要求,大模型自己翻翻说明文档就知道该怎么干活。
注意:说明文档只是方便理解的简化说法,实际上 Agent Skill 能做的事情远比这个强大,高级功能包括 reference 和 script。
二、基础使用方法(以 Claude Code 为例)
2.1 创建 Agent Skill 的步骤
第一步:创建文件夹
在用户目录下的 .claude/skills 文件夹中创建 Agent Skill:
# 进入 .claude/skills 目录
cd ~/.claude/skills
# 创建 skill 文件夹(文件夹名即 skill 名称)
mkdir 会议总结助手第二步:创建 skill.md 文件
用 VS Code 打开该文件夹,创建名为 skill.md 的文件,这是每个 Agent Skill 必须具备的文件,用来描述该 Skill 的名称、能干什么事以及怎么干。
skill.md 文件结构分为两部分:
- 元数据(Metadata) :头部被两段短横线包裹的部分,只包含
name和description两个属性。
name:Agent Skill 的名称,必须与文件夹名相同。description:向大模型说明这个 Agent Skill 是用来干什么的。
- 指令(Instruction) :元数据以下的剩余部分,详细描述模型需要遵循的规则。
示例——会议总结助手的 skill.md:
---
name: 会议总结助手
description: 用于总结会议录音内容
---
# 指令
你必须总结参会人员、议题、决定这几个方面的内容。
# 示例
输入:会议录音内容
输出:参会人员、议题、决定等格式2.2 实际使用流程演示
第一步:在任意空目录打开 Claude Code,输入"你有哪些 agent skill",Claude Code 能发现已写好的 Skill。
第二步:输入请求"总结以下会议的内容",粘贴会议录音文本。
观察到的行为:
- Claude Code 没有直接开始"瞎编",而是意识到该任务归"会议总结助手"Skill 管,向用户询问能否使用该 Skill。
- 用户同意后,它读取
skill.md文件,输出结果为参会人员、议题、决定三点清晰分明,完全符合 Skill 中设定的规则。
2.3 底层工作流程解析
整个流程中涉及三个角色:用户、Claude Code、Claude Code 背后的大模型(如 Claude 模型)。
执行流程:
- 用户输入请求。
- Claude Code 将用户请求连同所有 Skill 的名称和描述(仅元数据层)一起发给大模型。即使用户装了十几个 Skill,此时大模型看的只是一份轻量级目录。
- 大模型判断用户的请求可使用"会议总结助手"这个 Skill,将信息告诉 Claude Code。
- Claude Code 去"会议总结助手"目录中读取完整的
skill.md正文(此时才读取全部内容,且只读取被选中的那一个 Skill 的内容)。 - Claude Code 将用户请求 + 完整 skill.md 内容发给大模型。
- 大模型根据 skill.md 要求生成响应,经 Claude Code 返回给用户。
三、核心机制:按需加载(按需披露)
3.1 基本原理
虽然所有 Skill 的名称和描述始终对模型可见,但具体的指令内容只有在该 Skill 被选中之后才会被加载给模型看,这节省了大量 Token。
- 一开始 Claude Code 把所有 Agent Skill 的名称和描述都给模型(如:爆款文案 Skill、会议总结 Skill、数据分析 Skill 等)。
- 模型从中选择,只有被选中的那个 Skill 的
skill.md文件才会被完整加载给模型。
四、高级用法(一):Reference
4.1 要解决的问题
假设会议总结助手要变得越来越高级,希望在总结中提供更有价值的补充说明——例如:
- 当会议决定要花钱时,标注是否符合财务合规。
- 当涉及合同时,提示法务风险。
问题:这些功能需要将财务规定和法律条文写入 skill.md 文件,文件会非常长且臃肿。哪怕只是开个简单早会,也要被迫加载一堆用不上的财务和法律内容,浪费模型资源。
需求:做到"按需中的按需"——只有当会议内容真的聊到钱,才把财务规定加载给模型看。
4.2 Reference 的定义与实现
Reference 是条件触发的文件,只有当特定条件满足时才会被加载。
操作步骤:
第一步:创建 reference 文件(如 集团财务手册.md),写明确各种费用的报销标准,例如住宿补贴 510 元、晚餐饮费人均 310 元等。
第二步:在 skill.md 文件中新增规则,说明触发条件和需要读取的 reference 文件:
# 财务提醒规则
仅在提到钱、预算、采购费用的时候触发,触发时需要读取集团财务手册.md 文件,
根据文件内容指出会议决定中的金额是否超标,并明确审批人。实际效果验证:在会议内容中出现"老陈让小李订 1200 元一晚的酒店"时:
- Claude Code 先意识到请求与会议总结助手相关,请求使用该 Skill。
- 接着意识到会议与钱相关,根据 skill.md 指示,请求读取"集团财务手册"查看财务合规信息。
- 最终生成包含参会人员、议题、决定等基本信息,还额外包含财务提醒的总结。
4.3 特性总结
- Reference 是条件触发的,只有当 Claude Code 读取完 skill.md、判断出需要查账时才会加载该文件。
- 如果会议与技术复盘相关、不涉及钱,那么财务文件只会躺在硬盘里,绝不占用哪怕一个 Token 的上下文。
五、高级用法(二):Script
5.1 核心特性:执行而非读取
Agent Skill 中可以通过 Script(脚本)让模型直接运行代码,实现真正的自动化。
操作步骤:
第一步:在 Skill 文件夹中创建一个 Python 脚本(如 upload.py),用于上传文件。
第二步:在 skill.md 文件中加入规则描述:
# 上传规则
如果用户提到上传、同步或发送到服务器这样的字眼,
你必须运行 upload.py 脚本,将总结内容上传到服务器。实际效果验证:输入请求"总结这个会议内容并上传到服务器":
- Claude Code 请求使用"会议总结助手"Skill。
- 输出会议总结内容后,请求执行
upload.py文件实现上传。 - 上传成功,Claude Code 展示上传相关的信息。
5.2 关键技术特点
重点:Agent Skill 中的代码只会被执行,不会被读取。
这意味着即使脚本写了一万行复杂的业务逻辑,消耗的模型上下文也几乎为零。Claude Code 只关心脚本的运行方法和运行结果,完全不关心脚本内容。
例外情况:如果 Skill 中没有把代码的执行方法说清楚,Claude Code 仍有可能查看代码,这会占用模型上下文。因此写 Skill 时应尽可能把一切都解释清楚。
5.3 Reference vs Script 的加载差异
| 对比维度 | Reference | Script |
|---|---|---|
| 操作 | 被读取(读) | 被执行(跑) |
| 上下文影响 | 会把文件内容加载到模型上下文,消耗 Token | 不会占用模型上下文 |
| 触发条件 | 条件触发,按需加载 | 条件触发,按需执行 |
| 类比 | 供回答时参考的资料 | 直接运行完成任务的工具 |
六、渐进式披露机制(三层结构)
Agent Skill 的设计是一个精密的渐进式披露(Progressive Disclosure)结构,共三层:
| 层级 | 名称 | 包含内容 | 加载机制 | 类比 |
|---|---|---|---|---|
| 第一层 | 元数据层 | 所有 Agent Skill 的名称和描述 | 始终加载,大模型每次回答前都会查看 | 目录 |
| 第二层 | 指令层 | skill.md 中除名称和描述外的其余部分 | 按需加载,只有模型发现用户问题与某个 Skill 匹配时才加载 | 说明书正文 |
| 第三层 | 资源层 | Reference、Script(官方最新规范还有 Assets) | 按需中的按需加载(视频作者自创说法) | 深层参考资料和工具 |
资源层的补充说明
按照官方最新规范,资源层应该还包含 assets 组成部分。但视频作者指出 Assets 与 Reference 的定义有部分重叠,因此暂时忽略这一部分。
七、Agent Skill vs MCP
7.1 核心区别
官方文章中的核心观点原文:
MCP connects Claude to data. Skills tell Claude what to do with that data.
翻译解读:
- MCP(Model Context Protocol) :给大模型供给数据,例如查询昨天的销售记录、读取订单的物流状态等,本质上是连接外部数据的管道。
- Skill:教会大模型如何处理这些数据,例如会议总结必须要有议题、汇报文档必须包含具体数据等,本质上是控制模型行为的说明文档。
7.2 为何不用 Skill 替代 MCP?
常见疑问:Agent Skill 里也能写代码,直接在 Skill 中写连接数据的逻辑不就好了吗?这样就不需要 MCP,Skill 把两个活都干了。
官方的解释与类比:
- Agent Skill 确实也能连接数据,功能上与 MCP 有所重叠,但"能干不代表适合干"。
- 类比:瑞士军刀也能切菜,但没有人会这么干。
- 本质区别:
- MCP 本质上是一个独立运行的程序。
- Agent Skill 本质上是一段说明文档。
- 适用场景差异:Agent Skill 更适合跑轻量级脚本、处理简单逻辑;在代码执行方面,Agent Skill 的安全性和稳定性都不及 MCP。
7.3 使用建议
- 根据具体场景选择合适的工具。
- 在很多场景下,需要把 Agent Skill 和 MCP 结合起来使用,以尽可能满足需求。
- MCP 负责数据接入(数据从哪里来、如何获取),Agent Skill 负责定义处理规则(拿到数据后如何处理、按什么格式输出)。
八、总结
Agent Skill 是 Anthropic 于 2025 年底推出的 AI Agent 通用设计模式,已经从单个产品功能演变为开放标准。其核心创新在于渐进式披露机制,通过分层加载(元数据层始终可见 → 指令层按需加载 → 资源层"按需中的按需"加载)实现 Token 的高效利用。高级功能 Reference 和 Script 分别解决"按需读取外部资料"和"执行代码而不占用上下文"两个场景。与 MCP 相比,Skill 侧重于"教会模型处理数据"而非"连接数据",两者互为补充而非替代关系。