5 种技能设计模式
五种可复用的结构化模板,用于组织 Agent 系统中的 SKILL.md 内容
每个 Agent 技能都遵循相同的 SKILL.md 规范 — YAML frontmatter、markdown 指令和可选的资源目录。但同一格式可以服务于截然不同的目的。以下五种模式各自以不同方式组织内容:不同的指令风格、不同的资源类型、指令与支持文件之间不同的关系。
模式 1:Tool Wrapper — 教 Agent 掌握一个库
将库或工具的规范打包为按需加载的知识,Agent 在使用该技术时自动加载。
核心特征:
- 最简单的模式 — 指令 + 参考文件
- 无需模板或脚本
- 使用
references/目录存放详细的规范文档 - 技能激活后 Agent 立刻成为该领域专家
适用场景: 在代码库中需要保持特定库或框架的使用一致性。
实际案例: FastAPI 最佳实践、Terraform 模式、安全策略、数据库查询优化。
skill/
SKILL.md # 指令:何时应用、关键规则
references/
conventions.md # 详细的模式、反模式、示例
模式 2:Generator — 生成结构化输出
通过填充可复用的模板来生成文档、报告或配置,每次都保持一致的结构。
核心特征:
- 同时使用
assets/(输出模板)和references/(风格指南) - 指令编排模板填充过程
- 强调结构优先于创意
- 更换模板文件即可改变输出,无需修改指令
适用场景: 输出需要固定结构,一致性比灵活性更重要。
实际案例: 技术报告、API 文档、提交信息、项目脚手架。
skill/
SKILL.md # 指令:如何填充模板
assets/
template.md # 带占位符的输出骨架
references/
style-guide.md # 语调、格式、术语规则
模式 3:Reviewer — 按标准评估
根据存储在 references/ 中的检查清单评估代码或内容,生成按严重程度分类的评审结果。
核心特征:
- 将”检查什么”(清单文件)与”如何检查”(评审协议)分离
- 生成按严重程度分类的发现(错误、警告、信息)
- 提供行号、解释和具体修复建议
- 清单驱动行为,而非依赖 Agent 预训练知识
适用场景: 任何需要人类评审员按清单工作的场景。
实际案例: 代码质量评审、安全审计、编辑审校、合规验证。
skill/
SKILL.md # 指令:评审协议、输出格式
references/
checklist.md # 检查项、严重程度分类
模式 4:Inversion — 技能反向访谈
反转交互方向 — 技能指示 Agent 在定义的阶段中提出结构化问题,在收集足够信息后才生成输出。
核心特征:
- 多轮交互,Agent 先收集上下文
- 分阶段结构(各阶段必须按序完成)
- 使用显式门控,如”在所有阶段完成之前不要开始构建”
- 防止 Agent 基于假设生成输出
适用场景: Agent 需要从用户获取全面的上下文信息后才能产出有价值的工作。
实际案例: 需求收集、诊断访谈、配置向导、系统设计访谈。
skill/
SKILL.md # 指令:阶段、问题、门控条件
assets/
question-bank.md # 按阶段组织的结构化问题
模式 5:Pipeline — 强制多步工作流
定义顺序执行的工作流,每个步骤必须在下一步开始前完成,通过显式门控条件防止跳步。
核心特征:
- 最复杂的模式(使用所有三个可选目录)
- 步骤按顺序执行,带有菱形门控条件
- “用户确认?“门控防止绕过验证
- 每个步骤只加载所需资源
适用场景: 多步流程中顺序很重要,跳过验证会产生错误输出。
实际案例: 文档生成、数据处理、部署工作流、Agent 上手引导。
skill/
SKILL.md # 指令:步骤序列、门控条件
references/
standards.md # 每步的质量标准
assets/
output-template.md
scripts/
validate.sh # 步骤间的自动化验证
如何选择模式
| 模式 | 适用场景 | 使用的目录 | 复杂度 |
|---|---|---|---|
| Tool Wrapper | Agent 需要特定技术的专业知识 | references/ | 低 |
| Generator | 输出必须每次都遵循固定模板 | assets/ + references/ | 中 |
| Reviewer | 代码或内容需要按清单评估 | references/ | 中 |
| Inversion | Agent 必须先向用户收集上下文 | assets/ | 中 |
| Pipeline | 工作流有带验证门控的有序步骤 | references/ + assets/ + scripts/ | 高 |
模式可以组合。 Pipeline 可以包含 Reviewer 步骤。Generator 可以用 Inversion 收集输入。Tool Wrapper 可以作为 Pipeline 中的参考文件嵌入。生产系统通常组合 2-3 种模式。
如果不确定,从 Tool Wrapper 开始 — 它最简单、采用最广泛。随着复杂度增加再升级到其他模式。
常见问题
技能可以跨不同的 Agent 工具使用吗? 可以。遵循 agentskills.io 规范 的技能可在 30 多个工具中使用,包括 Claude Code、Gemini CLI、Cursor、GitHub Copilot 等。
模式可以组合吗? 可以。Pipeline 技能可以包含 Reviewer 步骤。Generator 可以用 Inversion 收集输入。生产系统通常每个技能使用 2 种模式的中位数。
技能和工具有什么区别? 工具赋予 Agent 执行动作的能力 — 调用 API、读取文件、查询数据库。技能教会 Agent 何时 以及 如何 有效地使用这些工具。
应该从哪个模式开始? 从 Tool Wrapper 开始 — 只需要指令加参考文件。将团队的编码规范或库的最佳实践打包到带有
references/ 目录的 SKILL.md 中。
如何测试技能的有效性? 创建测试用例,分别在有技能和无技能的情况下运行,衡量通过率的差值。
参考资料
- Agent Skills 规范 — 定义 SKILL.md 格式的开放标准
- 什么是 Agent Skills? — 概念概述
- 配套代码仓库 — 所有模式的完整代码
- 内容改编自 Lavi Nigam 的 Agent Skills 系列文章。