4.2 Agent Skill:技能封装与复用
Agent Skills 是一种轻量级的开放格式,用于将一整套 Agent 能力(prompt、工具脚本、知识文件等)封装为可复用的模块,从而实现低门槛分享与复用。
Agent Skill 的核心理念
从"重新发明轮子"到"站在巨人肩膀上"
之前:
每个人都要:
→ 写自己的代码评审 prompt
→ 写自己的数据分析脚本
→ 调试自己的工作流
大量重复劳动
有了 Agent Skills 之后:
一个专家写好:
→ 代码评审 Skill
社区所有人都可以直接用!
Agent Skill ≈ 子 Agent
一个 Skill 可以包含:
- 📝 精心设计的 Prompt 模板
- 🛠️ 自定义的工具和脚本
- 📚 内置的知识库和参考资料
- 📋 标准化的工作流程
- ✅ 验证和测试用例
Skill 的典型结构
文件组织
my-skill/
├── skill.yaml # Skill 元数据与配置
├── README.md # 使用说明
├── prompts/ # Prompt 模板
│ ├── system.md
│ └── code-review.md
├── tools/ # 自定义工具脚本
│ ├── git-diff.py
│ └── lint-check.py
├── knowledge/ # 知识库
│ ├── best-practices.md
│ └── style-guide.md
└── examples/ # 使用示例
└── example-1.md
Skill 元数据
# skill.yaml
name: code-review-skill
version: 1.0.0
description: "专业的代码评审技能,支持多种编程语言"
author: "Your Name"
# 激活触发条件
activation:
keywords: ["review code", "代码评审", "CR"]
files: ["*.py", "*.js", "*.ts"]
# Prompt 模板
prompts:
system: prompts/system.md
code_review: prompts/code-review.md
# 可用工具
tools:
- name: git_diff
script: tools/git-diff.py
description: "获取 Git 变更内容"
# 内置知识库
knowledge:
- knowledge/best-practices.md
- knowledge/style-guide.md
Skill 的激活机制
1. 关键词触发
用户:"帮我做一下代码评审"
↓
匹配关键词:"代码评审"
↓
自动激活 Code Review Skill
2. 文件类型触发
用户打开了一个 .py 文件
↓
匹配文件类型:Python
↓
激活 Python 开发相关 Skill
3. 显式调用
用户:"/use code-review-skill"
↓
直接激活指定 Skill
4. 渐进式披露
Skill 不是一次性把所有东西都加载:
阶段 1:只加载 Skill 的基本信息和核心 Prompt
阶段 2:需要时动态加载知识库内容
阶段 3:用户确认后才执行工具脚本
SOP 的沉淀与复用
什么是 SOP?
SOP(Standard Operating Procedure,标准作业程序)是把专家的经验沉淀下来,变成可复用的流程。
例子:代码评审 SOP
专家的做法(在脑子里):
1. 先看整体架构有没有问题
2. 检查是否有安全漏洞
3. 检查代码规范和风格
4. 检查性能问题
5. 检查测试覆盖率
6. 给出具体的修改建议
变成 Skill 之后(所有人都可以用):
# 代码评审 SOP
## 步骤 1:架构审查
检查整体设计是否合理...
## 步骤 2:安全审查
检查 OWASP Top 10 安全问题...
## 步骤 3:代码规范
检查是否符合团队风格指南...
## 检查清单
- [ ] 输入验证 是否完整
- [ ] 错误处理是否到位
- [ ] 是否有性能问题
Skill 让经验可以传承
老工程师离职
↓
他的经验变成了 Skill
↓
新人来直接用这个 Skill
↓
团队能力不会断层!
社区生态的力量
Skill 市场
📦 通用技能
- 代码评审
- 文档写作
- 数据分析
📦 垂直领域
- 金融分析
- 医疗诊断
- 法律文书
📦 团队定制
- 公司内部流程
- 团队规范
- 项目模板
开源协作模式
类似开源软件:
1. 某人写了一个 Skill
2. 分享到社区
3. 其他人使用、反馈问题
4. 社区一起改进优化
5. 越来越好的 Skill 生态
Skill vs 其他复用方式
| 方式 | 粒度 | 可复用性 | 能力封装 |
|---|---|---|---|
| Prompt 片段 | 最小 | 低 | 只有文本 |
| 自定义指令 | 小 | 中 | 只有 Prompt |
| Agent Skill | 中 | 高 | Prompt + 工具 + 知识 + 流程 |
| 完整 Agent | 最大 | 低 | 整个系统 |
编写高质量 Skill 的要点
1. 单一职责
✅ 好的 Skill:专注做一件事,做到最好 ❌ 不好的 Skill:什么都能做,但什么都做不好
2. 清晰的文档
使用者不需要看源码就能上手:
- 这个 Skill 是做什么的?
- 什么时候用?
- 怎么用?
- 有什么限制?
3. 内置的最佳实践
把专家经验"编码"到 Skill 中:
- 检查清单
- 常见误区
- 推荐做法
- 反模式警示
4. 安全第一
- 工具脚本需要用户确认才能执行
- 敏感操作要有明确提示
- 不做破坏性操作
Agent Skill 本质上是"经验的容器"。它让最好的实践可以被复制、分享、积累,最终让每个人都能站在专家的肩膀上。