Agent Skill:技能封装与复用
Agent Skills 是一种轻量级的开放格式,用于将一整套 Agent 能力(prompt、工具脚本、知识文件等)封装为可复用的模块,从而实现低门槛分享与复用。
Agent Skill 的核心理念
从"重新发明轮子"到"站在巨人肩膀上"
之前:
每个人都要:
→ 写自己的代码评审 prompt
→ 写自己的数据分析脚本
→ 调试自己的工作流
大量重复劳动
有了 Agent Skills 之后:
一个专家写好:
→ 代码评审 Skill
社区所有人 都可以直接用!
Agent Skill ≈ 子 Agent
一个 Skill 可以包含:
- 📝 精心设计的 Prompt 模板
- 🛠️ 自定义的工具和脚本
- 📚 内置的知识库和参考资料
- 📋 标准化的工作流程
- ✅ 验证和测试用例
Anthropic Agent Skill 的运行机制
2024 年末 Anthropic 提出的 Agent Skill 规范,是当下最权威的 Skill 实现。它的核心设计与前文的通用范式有 3 个关键差异。
1. 本质就是一个文件夹
my-skill/
├── SKILL.md # 核心:存放名称、描述、行为指令
├── scripts/ # 可执行脚本
├── references/ # 引用文档(按需读取)
└── assets/ # 静态资源(图标、模板等)
SKILL.md 是灵魂——它存放的内容和系统提示词类似,规定了:
- 这个 Skill 是什么、能做什么
- 什么时候应该激活它
- 怎么执行它的脚本
- 什么时候需要读 references 下的文件
- 什么时候需要用 assets 下的资源
2. 核心亮点:基于文件系统的渐进式加载
这是 Agent Skill 最有价值的设计——它解决了"提示词膨胀"问题:
传统提示词:
用户请求 → 一次性把全部提示词塞给模型 → 上下文爆炸
Agent Skill 渐进式加载:
用户请求 → 主脑只看到"所有 Skill 的名称 + 描述"
→ 匹配到某个 Skill → 才把它的 SKILL.md 全量加载
→ 任务中再按 SKILL.md 指引去读 references/、跑 scripts/
这个过程本质上是 Agent 帮你做 Tool Search——主脑不需要预先加载所有内容,而是按文件系统索引按需翻找。
3. 完整的运行流程
把整个生命周期串起来:
① 启动阶段
Coding Agent 扫描指定目录(如 .claude/skills/)
→ 拿到 所有 Skill 的"名称 + 描述"
→ 全部塞进主脑模型的系统提示词
② 匹配阶段
用户发请求:"帮我做一次代码评审"
→ 主脑看自己的请求能否匹配上某个 Skill 的描述
→ 匹配上 code-review skill
③ 激活阶段
→ 把 code-review/SKILL.md 完整内容加载进主脑上下文
→ 主脑现在知道这个 Skill 怎么用
④ 执行阶段
→ 主脑按 SKILL.md 指引:
a. 读取 references/code-style.md(评审规范)
b. 执行 scripts/run-lint.py(运行 lint 工具)
c. 生成评审报告
⑤ 产出阶段
→ 输出最终结果给用户
关键的"两次加载"分离——启动时只加载轻量的 name + description,激活时才加载完整的 SKILL.md——是 Skill 能扩展到几十上百个而不爆上下文的根本原因。
4. 跨平台分发:微信发文件就能用
Agent Skill 的另一个杀手特性是分发简单到极致:
- 整个 Skill 就是一个普通文件夹,不依赖任何框架、不需要打包编译
- 跨平台兼容:Claude Code / Cursor / 其他 coding agent 都能识别
- 甚至能通过微信、邮件、网盘直接发送——不懂 AI 的同事解压文件夹就能用
这一点对非工程用户特别友好:之前要在低代码平台(扣子之类)手动搭建 agent、复制提示词、配置 MCP 工具;现在只要拿到一个 Skill 文件夹扔进对应目录就行。评价:这是 Skill 协议能做到的最重要的事——让整个 Agent 的可复用性变成"发文件"级别的简单。