Skill 是什么
Skill 是为 Agent 设计的一组任务执行规则和资源集合,目标是让 Agent 在某个领域任务上更稳定、更高质量。
Skill 与 Prompt 的区别
| 维度 | Prompt | Skill |
|---|---|---|
| 本质 | 一次性指令 | 长期能力模块 |
| 复用性 | 低(每次重写) | 高(直接调用) |
| 知识承载 | 有限(上下文长度) | 丰富(可引用资料) |
| 执行流程 | 单次生成 | 多步骤编排 |
| 验证机制 | 无 | 有质量门禁 |
| 版本管理 | 无 | 有变更追踪 |
对比示例
Prompt 方式:
txt
请帮我检查这段代码的安全性,找出潜在的漏洞。Skill 方式:
yaml
name: security-code-review
description: 对代码进行安全审查,关注常见漏洞类型
workflow:
- 分析代码结构
- 检查输入验证
- 检查认证授权
- 检查敏感数据处理
- 生成审查报告
quality_gates:
- 所有检查项必须完成
- 高危漏洞必须有修复建议
- 报告格式必须符合模板Skill 与 SOP 的区别
| 维度 | SOP | Skill |
|---|---|---|
| 面向对象 | 人 | Agent + 人协作 |
| 形式 | 静态文档 | 动态流程 + 脚本 |
| 执行方式 | 人工阅读执行 | 部分自动化执行 |
| 验证方式 | 人工检查 | 自动化 + 人工复核 |
| 迭代速度 | 慢(人工更新) | 快(版本管理) |
什么时候该抽 Skill
出现以下信号就应该抽离 Skill:
信号 1:高频重复
yaml
条件: 某任务每周重复 >= 2 次
示例:
- 每周发布前检查评测报告
- 每周生成周报
- 每周复盘失败样本信号 2:质量波动
yaml
条件: 同类任务质量波动明显
示例:
- 有时检查完整,有时遗漏
- 报告质量不一致
- 不同人执行结果差异大信号 3:交接成本高
yaml
条件: 新同学接手成本高
示例:
- 需要多次培训才能独立完成
- 依赖大量隐性知识
- 文档分散难以查找信号 4:步骤复杂
yaml
条件: 任务步骤超过 5 步且依赖多个工具
示例:
- 涉及多个系统操作
- 需要跨平台数据获取
- 需要多轮人工确认Skill 的成功标准
1. 可发现
txt
要求: 触发条件清晰,Agent 能找到并调用
检查项:
- [ ] Skill 有明确的触发关键词
- [ ] Skill 在索引中可被搜索
- [ ] Skill 描述清晰描述了适用场景
- [ ] Skill 有使用示例2. 可执行
txt
要求: 关键步骤可直接落地
检查项:
- [ ] 每个步骤有明确的输入输出
- [ ] 依赖的工具或资源已准备
- [ ] 步骤之间有清晰的依赖关系
- [ ] 有自动化脚本支持3. 可验证
txt
要求: 有验收标准与失败处理路径
检查项:
- [ ] 有明确的成功标准
- [ ] 有失败处理流程
- [ ] 有质量门禁检查
- [ ] 有输出格式规范4. 可维护
txt
要求: 版本演进成本可控
检查项:
- [ ] 有版本号和变更日志
- [ ] 有负责人和维护者
- [ ] 有定期复核计划
- [ ] 有废弃和迁移策略Skill 类型
类型 1:检查型 Skill
yaml
特点: 对输入进行检查并给出结论
示例:
- 代码审查
- 安全检查
- 合规审查
输出: 检查报告 + 问题列表类型 2:生成型 Skill
yaml
特点: 根据输入生成特定格式内容
示例:
- 文档生成
- 报告生成
- 代码生成
输出: 符合格式的内容类型 3:分析型 Skill
yaml
特点: 对数据进行分析并给出洞察
示例:
- 数据分析
- 根因分析
- 风险评估
输出: 分析报告 + 建议类型 4:执行型 Skill
yaml
特点: 执行特定操作流程
示例:
- 发布流程
- 部署流程
- 故障处理
输出: 执行结果 + 日志Skill 生命周期
txt
┌─────────────────────────────────────────────────────────────┐
│ Skill 生命周期 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 识别需求 → 设计开发 → 测试验证 → 发布使用 → 维护更新 → 废弃 │
│ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ ▼ │
│ 发现高频 编写SKILL 评测基线 版本管理 持续改进 下线 │
│ 任务模式 和脚本 质量门禁 变更追踪 反馈迭代 归档 │
│ │
└─────────────────────────────────────────────────────────────┘各阶段产出
| 阶段 | 产出 | 负责人 |
|---|---|---|
| 识别需求 | 任务分析文档 | 产品经理 |
| 设计开发 | SKILL.md + 脚本 | 开发者 |
| 测试验证 | 评测报告 | 开发者 + 产品经理 |
| 发布使用 | 发布记录 | 开发者 |
| 维护更新 | 变更日志 | 开发者 |
| 废弃 | 迁移文档 | 开发者 + 产品经理 |
常见误区
误区 1:Skill 就是长 Prompt
错误理解: 把 Skill 当成长版本的 Prompt
正确理解: Skill 是包含 Prompt、资料、脚本、验证的完整能力包
误区 2:Skill 越大越好
错误理解: 一个 Skill 包含所有功能
正确理解: 一个 Skill 只解决一个明确的问题域,遵循单一职责原则
误区 3:Skill 不需要维护
错误理解: Skill 一次编写永久使用
正确理解: Skill 需要随着业务变化持续更新,有明确的生命周期管理
