介绍一下 agent skill

一、 概念与定位:从“扩展包”到“开放标准”
Agent Skill 是 Anthropic 在 2025 年 10 月正式推出的一种模块化能力扩展机制。其初衷是提升 Claude 等 AI 代理在特定任务上的表现,通过将专业知识、操作流程和工具封装成可复用的“技能包”。由于其设计优雅且实用,迅速获得了业界的广泛认可,VS Code、GitHub、Cursor 等主流开发工具陆续跟进支持。
2025年12月18日,Anthropic 将 Agent Skill 作为开放标准发布,并捐赠给 Agentic AI Foundation (AAIF)。这一举措标志着它从 Claude 的专属功能,演变为 AI Agent 领域的通用设计模式,旨在实现跨平台、跨产品的技能复用,推动 AI 应用开发生态的标准化。
通俗地理解,Agent Skill 可以被看作是大模型可随时翻阅的“标准化操作手册”或“工作交接 SOP 大礼包”。它解决了传统提示工程(Prompt Engineering)的痛点:无需在每次对话中重复粘贴复杂的指令和要求,一次创建,即可让 AI 在相关场景下自动调用,稳定执行特定任务。
二、 核心架构与“渐进式披露”机制
Agent Skill 最精妙的设计在于其 “渐进式披露”(Progressive Disclosure) 的加载机制。该机制模仿了组织良好的手册结构,通过分级加载来极致优化上下文窗口(Context Window)的使用效率,避免信息过载。
其架构通常分为三个层级:
- 第一层:元数据层(Metadata)
- 内容:每个 Skill 核心文件
SKILL.md顶部的 YAML Frontmatter,必须包含name(技能名称)和description(技能描述)。 - 加载策略:常驻加载。AI 代理启动时,会扫描并加载所有已安装 Skill 的元数据。
- 设计目的:相当于一个“技能目录”,供模型进行快速的路由决策和意图识别,判断用户当前请求是否与某个技能匹配。此层消耗的 Token 极低。
- 内容:每个 Skill 核心文件
- 第二层:指令层(Instruction)
- 内容:
SKILL.md文件中除元数据外的正文部分,即具体的操作指南、步骤、规则和示例。 - 加载策略:按需加载。只有当模型的元数据匹配成功,判定需要启用该技能时,才会加载完整的
SKILL.md指令内容。 - 设计目的:定义核心的业务处理逻辑与标准作业程序(SOP),是技能的“大脑”。
- 内容:
- 第三层:资源层(Resources)
- 内容:包含 Reference(参考资料) 和 Script(可执行脚本) 两类。
- Reference:如额外的规范文档、知识库、API手册等。按条件触发加载,只有当指令层提及或任务需要时,才会被读取到上下文中。
- Script:如 Python、Shell 等可执行代码。仅执行,不读取。模型根据指令决定运行某个脚本,但通常不会将代码本身读入上下文,只接收运行结果,因此几乎不消耗 Token。
- 设计目的:提供深度领域知识支持(Reference)和实现确定性的自动化操作(Script),是技能的“工具箱”。
- 内容:包含 Reference(参考资料) 和 Script(可执行脚本) 两类。
这种机制带来了显著的性能优势:在拥有数十甚至上百个技能时,代理不会因一次性加载所有内容而耗尽上下文窗口。实测数据显示,与传统方式相比,Agent Skill 能大幅降低 Token 消耗、提升响应速度与任务成功率。
三、 基本使用与开发方法
一个标准的 Agent Skill 是一个文件夹,其最小核心结构如下:
my-skill/
└── SKILL.md
更完整的技能可能包含:
my-skill/
├── SKILL.md # 必需:元数据 + 核心指令
├── reference.md # 可选:参考文档
├── examples.md # 可选:使用示例
├── scripts/ # 可选:可执行脚本目录
│ └── helper.py
└── templates/ # 可选:模板文件目录
└── report.txt
SKILL.md 文件编写规范:
- 元数据区(YAML Frontmatter):
--- name: meeting-summarizer # 必须,小写字母、数字、连字符,<=64字符 description: > # 必须,清晰描述技能用途及触发条件,<=1024字符 用于分析会议记录,提取参会人、核心议题、决议项,并生成结构化摘要。 当用户提及“会议总结”、“会议纪要”时使用。 version: 1.0.0 author: Your_Name --- - 指令区(Markdown 正文):
- 详细描述任务步骤、输出格式、注意事项。
- 可以引用其他文件,如“更多财务规则请参阅
finance_rules.md”。 - 可以指定运行脚本,如“运行
python scripts/upload.py以归档报告”。
技能放置与激活:
- 用户级:放置在
~/.claude/skills/目录下,适用于个人偏好和工具。 - 项目级:放置在项目根目录的
.claude/skills/目录下,可提交至 Git,便于团队共享项目特定的 SOP。 - 放置后,支持 Agent Skill 的环境(如 Claude Code)会自动扫描这些目录。用户可通过自然语言询问“当前可用的 skill 有哪些?”来确认。
使用流程(以会议总结为例):
- 用户在 Claude Code 中输入请求:“请总结这份会议记录。”
- Claude Code 将请求和所有技能的元数据发送给模型。
- 模型匹配到
meeting-summarizer技能,请求加载。 - Claude Code 读取
SKILL.md的完整内容,连同请求再次发送给模型。 - 模型根据技能指令生成结构化会议摘要。
- 若摘要中提及“预算”,且技能指令引用了
finance_rules.md,模型会进一步请求加载该参考文件,并在总结中加入合规检查。 - 若用户说“请将总结归档”,且技能指令包含执行脚本的规则,模型将触发运行
archive_report.py脚本,完成自动化操作。
四、 与 MCP 的协同关系:双螺旋架构
在 AI Agent 能力扩展的技术栈中,Agent Skill 和 MCP(Model Context Protocol)扮演着不同但互补的角色,构成了“双螺旋”结构。
| 维度 | Agent Skill | MCP (Model Context Protocol) |
|---|---|---|
| 核心作用 | 教模型“怎么思考”:固化流程、规范、方法论。 | 让模型“能访问什么”:标准化连接外部数据、工具和服务。 |
| 架构层级 | 提示/知识层:塑造代理的内在心智和行为模式。 | 集成层:提供连接外部世界的标准化“能力总线”。 |
| 本质 | 结构化的说明文档与脚本集合。 | 基于 JSON-RPC 2.0 的开放协议,采用 Client-Server 架构。 |
| 触发方式 | 基于描述的语义匹配,自动触发。 | 持久连接,工具定义常驻上下文,随时可用。 |
| Token消耗 | 低(渐进式加载,按需使用)。 | 高(工具定义持续占用上下文)。 |
| 适用场景 | 重复性工作流、内部规范、复杂多步骤任务、Token敏感场景。 | 需要访问外部实时数据(DB、API)、操作外部系统(GitHub、Slack)、跨平台复用。 |
一个生动的比喻:如果将 AI 代理比作一名厨师,那么 MCP 就像是送货上门的供应商,负责提供新鲜的食材(数据);而 Agent Skill 则是一份独家菜谱,教会厨师如何烹饪、摆盘(处理数据)。
协同工作流示例:
- 获取数据(MCP):用户请求分析公司销售数据。模型通过 MCP 调用数据库 Server,获取原始销售记录 JSON。
- 处理数据(Skill):模型激活
sales-analystSkill。该 Skill 的指令规定分析流程、必须包含的指标(如环比、同比)、以及输出报告的品牌模板。 - 生成报告:模型结合 MCP 获取的实时数据和 Skill 规定的分析方法与格式,生成一份专业的销售分析报告。
- 自动化推送(Skill + Script):根据 Skill 规则,报告生成后自动运行脚本,通过 MCP 连接的企业微信接口将报告推送到指定群组。
五、 总结与展望
Agent Skill 的普及标志着 AI 应用开发从依赖“提示词炼金术”向“能力工程”的范式转变。它通过文件系统这一简单通用的载体,将人类专家的经验和方法论转化为 AI 可理解、可执行、可版本化管理的数字资产。
其核心价值在于:
- 降低开发门槛:主要使用自然语言(Markdown)编写,非技术人员也可参与创建。
- 提升执行质量:通过结构化指令和确定性脚本,减少模型幻觉,输出稳定可靠。
- 优化资源效率:“渐进式披露”机制极大缓解了上下文窗口压力,降低了使用成本。
- 促进知识沉淀:技能文件可通过 Git 管理,便于团队协作、迭代和审计,构建企业专属的“AI 技能库”。
展望未来,随着更多操作系统级 AI 的集成,Agent Skill 有望成为人机交互的基础协议之一。它与 MCP 的深度协同,将共同构成下一代 AI 智能体的核心“能力中台”,驱动各行各业实现真正的智能化升级。对于开发者而言,建立和维护个人的技能库,不仅是配置工具,更是在构建持续进化的数字化外脑。