1.8 核心概念五:Skill(技能)是什么
通过本文你将全面了解核心概念五:Skill(技能)是什么的核心概念、实际应用方法和最佳实践。
概述
一、回顾:为什么需要 Skill
在前面的章节里,我们说了:
- Plugin = 让 OpenClaw 能连接外部平台(基础设施)
- Tool = AI 可以调用的具体能力(读写文件、发消息等)
- Agent = 理解意图、决定做什么的大脑
但是,有一个关键问题没有解决:
这个问题的答案就是:Skill。
二、类比:Skill 就是"老员工的 SOP"
想象一个新员工入职:
Plugin = 公司给他开通的账号权限(能不能用各种工具)
Tool = 各种办公设备(电脑、电话、打印机)
Skill = 老员工教他的 SOP(什么时候用什么工具)
Agent = 这个员工本人(理解 + 执行)
没有 SOP 的员工:手里有各种工具,但不知道什么时候用什么。
有 SOP 的员工:知道"客户问价格 → 查价目表 → 回复","需要打印 → 用打印机"。
Skill 就是给 AI 写的 SOP。
三、Skill 的工作原理
用户发消息:"帮我画一张图"
↓
Agent 理解意图
↓
Agent 搜索匹配的 Skill
↓ 找到 "MiniMax图片生成技能"
↓ 读取 Skill 说明
↓ 按说明调用图片生成 API
↓ 返回图片给用户
Skill 告诉 AI: 1. 什么时候触发这个技能(触发词) 2. 调用哪个工具(工具名称和地址) 3. 参数怎么构造(请求格式) 4. 结果怎么解析(返回格式)
四、Skill 的文件格式
Skill 就是一个 Markdown 文件(.md),放在指定目录:
~/.openclaw/workspace/skills/
├── README.md # Skill 目录说明
├── minimax-image-generation/ # 图片生成技能
│ └── SKILL.md # 技能说明文档
├── deepseek-analysis/ # 深度分析技能
│ └── SKILL.md
└── feishu-calendar/ # 日历管理技能
└── SKILL.md
五、Skill 文件里写什么
一个典型的 SKILL.md 包含:
```markdown # MiniMax 图片生成技能
触发条件
当用户说"画图"、"生成图片"、"文生图"时触发
基础信息
- API 地址:https://api.minimaxi.com/v1/image_generation
- 认证方式:Bearer Token
调用示例
(告诉 AI 怎么调用,参数怎么传)
响应格式
(告诉 AI 返回结果怎么解析) ```
核心就是回答三个问题: 1. 什么时候触发? → 触发条件 2. 怎么调用? → API 格式和参数 3. 结果怎么用? → 返回值解析
六、你系统里现有的 Skill
查看目录:
ls ~/.openclaw/workspace/skills/
当前系统已安装的 Skills:
| Skill 名称 | 功能 | 触发词 |
|---|---|---|
minimax-image-generation | 文生图、图生图 | "画图"、"生成图片" |
deepseek-analysis | 深度数据分析 | "深度分析"、"分析一下" |
searxng | 网络搜索 | "搜索一下"、"查一下" |
feishu-calendar | 日历管理 | "创建日程"、"明天几点有会" |
feishu-task | 飞书任务 | "创建任务"、"待办" |
七、Skill 和 Plugin 的核心区别
| 对比项 | Plugin | Skill |
|---|---|---|
| 本质 | 代码(让平台连通) | 文档(让 AI 知道怎么用) |
| 存放位置 | 插件目录 | skills/ 目录 |
| 谁来"读" | 系统读取 | AI 读取 |
| 需要写代码吗 | 需要开发能力 | 不需要,纯文本说明即可 |
| 能做的事 | 连通平台 | 指挥 AI 行为 |
八、Skill 触发的工作流程
用完整流程图说明:
┌─────────────────────────────────────────────────────┐
│ 1. 用户发送消息 │
│ "帮我生成一张欧洲小女孩的可爱照片" │
└───────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 2. Agent 理解意图 │
│ 检测到关键词:"生成照片"、"文生图" │
└───────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 3. 匹配 Skill │
│ → 找到 minimax-image-generation/SKILL.md │
│ → 读取触发条件:关键词匹配成功 │
└───────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 4. 按照 Skill 说明构造请求 │
│ → model: image-01 │
│ → prompt: 用户描述 │
│ → aspect_ratio: 3:4 │
└───────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 5. 调用 MiniMax API(工具执行) │
│ → 等待图片生成 │
│ → 获取图片 URL │
└───────────────────────┬─────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ 6. 返回结果给用户 │
│ → 发送图片到飞书 │
└─────────────────────────────────────────────────────┘
九、常见问题
Q: Skill 是不是要写代码?
A: 不需要。Skill 是 Markdown 文档,写的是"什么场景做什么事"的规则说明,不需要编程。
Q: Skill 是给 AI 看的,那 AI 会自动读取吗?
A: 会的。OpenClaw 的 AI 启动时会加载 skills/ 目录下的所有 SKILL.md 文件,记住每个 Skill 的触发条件和用法。
Q: 可以同时触发多个 Skill 吗?
A: 可以。AI 会根据消息内容匹配合适的多个 Skill,逐一执行。
Q: Skill 里的信息 AI 会完全照做吗?
A: Skill 是参考指南,AI 会尽量按 Skill 说明执行,但具体行为也取决于模型的判断能力。
Q: Skill 调用返回 undefined?
A: 检查 Skill 返回格式是否正确,确保 JSON 结构完整且字段名匹配。
Q: Skill 超时怎么处理?
A: 在 Skill 配置中增加 timeout 参数,或优化 Skill 执行逻辑减少耗时。
Q: 如何让 AI 更准确地触发 Skill?
A: 优化 Skill 的 trigger 关键词,使其更具辨识度,避免歧义。
十、下一步学什么
- 1.9 常见疑问解答(FAQ) → 汇总第一章的所有常见问题
- 第五章 Skill 开发 → 学会编写自己的 Skill
如有疑问,欢迎在群内提问!