Agent Skills作用
一句话概括: Agent Skills = 给智能体一份「标准化操作说明书」,规定「遇到哪类任务,按照什么样的流程、约束、格式去使用底层工具」。
我们分层拆开,结合你当前小龙虾环境讲清楚,区分三个层级:
1. 底层工具 Tools(原子动作)
read_file、run_bash、web_fetch……
只代表单一最小动作:能读文件、能执行命令。
工具本身没有业务逻辑、没有步骤顺序、没有输出规范。
类比:工具箱里的螺丝刀、锤子。
- Agent Skill(SKILL.md,业务流程层) 一份目录+SKILL.md文档,定义:
- 在什么场景触发(description)
- 允许使用哪些底层工具(allowed-tools)
- 固定执行步骤(流程)
- 硬性约束、禁止行为
- 输出模板
类比:《组装柜子说明书》 说明书不会新增锤子,只是告诉你:什么时候拿锤子、先做什么后做什么、不能敲哪里、成品长什么样。
- LLM(大脑) 接收用户问题,匹配Skill,严格依照Skill内的流程指挥调用工具。
Agent Skills 解决什么痛点?
痛点1:裸LLM + Tools 很“放飞”
只给一堆bash、读文件工具,模型容易: - 步骤乱跳、漏操作; - 随意执行高危命令; - 输出格式混乱; - 同一个任务每次执行思路不一致,不可复现。
Skill带来的约束与标准化
-
意图路由 依靠
description实现自动分发。用户说“构建mkdocs文档” → 自动匹配 mkdocs-builder Skill,不用你手动指令选择模式。
-
固定执行SOP 把人工总结的最佳实践写进SKILL.md,模型强制按流程走。 比如你写的mkdocs-builder: 先读取mkdocs.yml → 执行build → 报错自动定位yaml行号,流程固化。
-
工具权限管控
allowed-tools限制该Skill只能使用指定工具,缩小攻击面。 比如文档构建Skill只允许read_file, run_bash,不能调用浏览器、文件删除工具。 -
统一输出规范 强制使用固定模板返回结果,方便人阅读、也方便上层系统解析。
-
可移植、可分享(agentskills.io价值) Skill是纯文件目录,和代码无关、和编程语言无关。
- 复制文件夹扔进
~/.openclaw/skills/ skills refresh立刻生效 Cursor / Claude Code / OpenClaw 等支持该规范的IDE Agent基本互通。
和普通Prompt、系统提示词的区别
- 系统Prompt:全局生效,所有任务共用一套规则,容易冲突、臃肿;
- Agent Skill:模块化、按需加载、按需触发。 没有命中场景的Skill不会干扰对话上下文,不会无限膨胀System Prompt。
上千条自动化场景,不可能全部塞进一条全局系统提示词; 使用Skill实现「按需载入业务规则」,上下文压力更小、稳定性更高。
在你 OpenClaw(小龙虾)里完整运行链路
用户自然语言提问
↓
OpenClaw 检索所有已加载 Skill 的 description,意图匹配
↓
匹配成功 → 将该Skill全部流程、约束注入本次会话上下文
↓
LLM 严格遵循Skill流程,调用被允许的底层Tools(read_file/run_bash)
↓
工具执行结果回流 → 继续按Skill逻辑推进直至任务完成
通俗对比总结
| 事物 | 定位 |
|---|---|
| Tools(run_bash/read_file) | 原子工具,能干什么 |
| Agent Skill(SKILL.md) | 业务手册,遇到这件事该怎么干、有什么规矩 |
| LLM | 执行者,读懂手册,操控工具完成任务 |
延伸使用思路(你后续可以实践)
- 按领域拆分Skill:mkdocs文档、Go代码评审、日志分析、数据库查询;
- 复杂任务可以编写多个Skill互相配合;
- 调试:修改SKILL.md后执行
openclaw skills refresh,TUI里/skills list验证; - 安全:在SKILL.md写明禁止操作(禁止rm -rf、禁止访问敏感路径)进一步加固。
如果你想,我可以演示一个没有Skill自由执行 vs 启用Skill约束执行两种对话效果对照,直观看出差别。
skills、function calling、MCP 容易混淆的点
| 概念 | 核心解决的问题 | 通俗比喻 |
|---|---|---|
Function Calling |
赋予模型 "调用一个具体动作" 的能力 | 给实习生一个工具(比如计算器) |
MCP |
标准化模型与外部工具、数据源的链接 | 统一了所有工具的接口标准 |
Agent Skills |
告诉模型如何专业的完成一项复杂任务 | 给实习生一个标准作业手册 |
MCP 解决的是 "手"(能接什么工具)的问题,而Agent Skills解决的是 "大脑"(知道怎么把事情作对)的问题