高级篇通过Skill、Hook和MCP将agent从需逐指令指挥的实习生培养成独立员工:Skill提供永久业务知识,Hook实现事件自动触发,MCP赋予系统权限。配合具体案例,使agent能自主完成日报生成和新会话自动加载计划等工作。
OpenClaw小白安装教程与高级篇教学
作者:技术拾光
时间:2026-06-11
浏览:316
文章目录
中级篇确实帮您解决了三个老大难问题:记不住、找不到、断不了。

一、Skill——给员工做岗前培训
回想一下,您是不是每天都得告诉agent日报格式:先列完成的工作,再写重要的决策,最后是明天的计划。说了不下五十遍,可换个session它又忘得一干二净。 这不是agent不聪明,问题出在哪儿?您教的东西全存在临时的对话记录里,session一断就清空了。 Skill到底是什么?一句话就能说清楚:Skill就是一份永久生效的培训手册,装进去就忘不了。它的本质是一个SKILL.md文件,放在skills/目录下。agent启动时会自动扫描这个目录,识别到触发词,就把SKILL.md的内容注入到当前的上下文里。 这和AGENTS.md有什么区别?区别可大了。AGENTS.md是通用的工作规范——比如怎么写文件、怎么搜资料、犯错了怎么记录。不管您在干什么,它每次都加载。而Skill管的是特定的业务流程和知识——您的日报格式、您的代码规范、您的搜索工具怎么用。它只在需要的时候加载,根据触发词来匹配。 简单说:AGENTS.md管的是工作态度,Skill管的则是业务知识。换个角度讲,Skill管的是“知道什么”。 来看看杀手案例:一个日报Skill 没有Skill的时候,您每次写日报都要啰嗦一大段:“帮我写今天的日报,格式是先列完成的任务,再写重要决策,然后是遇到的问题和解决方案,最后是明天的计划。去读今天的memory文件提取内容。”五十个字的指令,每天重复一遍。 有了Skill之后呢?您只需要创建一个文件~/.openclaw/skills/daily-report/SKILL.md:
```
---
name: daily-report
description: >
Generate daily work reports by reading memory files and summarizing
activities.
Triggers: "daily report", "日报", "今天做了什么", "工作总结".
---
# Daily Report Skill
When triggered:
1. Read today's memory file (memory/YYYY-MM-DD.md)
2. Extract key activities, decisions, and issues
3. Format as:
- 完成的工作
- 重要决策
- 遇到的问题
- 明天计划
```
从此,您只需要说三个字:写日报。agent匹配到触发词,自动加载SKILL.md,知道该读什么文件、用什么格式、怎么输出。五十个字变三个字,效率的提升就是这么直接。而且不管换多少个session,输出格式永远保持一致。
当然,Skill不是单独存在的,它和Hook、MCP组成了一个完整的agent增强体系。先做个预览,后面每个方向我们会详细展开:Skill管知道什么,Hook管自动做什么,MCP管能做什么。这句话很重要,后面会反复用到。
二、Hook——给员工定SOP
每次开新session您都要说一遍:“先看一下今天的计划和日记。”说了一百遍之后,您可能终于想明白一个道理:这事儿不应该由您来记。 说到底,您是老板,不是提词器。没道理每次开会前都要您去提醒秘书翻开笔记本——这件事本身就该是自动的。 那么,Hook是什么?说白了,Hook就是agent的反射弧。就像膝跳反射一样——锤子敲膝盖,腿自动弹起来,信号走脊髓,根本不经过大脑。Hook就是这个原理:特定事件发生时,代码直接跑,不经过agent思考,也不需要LLM来决策。 这和Skill完全是两个层面:Skill是给agent一本操作手册,它可能看也可能不看,看了也可能理解偏了。但Hook就像装了一个传感器加执行器,事件一来,代码直接跑,100%确定执行。 这里有一个关键区别:Hook跑的是TypeScript代码,不是LLM的决策。一个是建议,一个是铁律。您可以想象一下,您跟员工说“每天早上先看邮件”,他可能会忘。但如果您给他定了个SOP,再配上闹钟提醒,他想忘都忘不了。 Hook的结构也很直观: ``` my-hook/ ├── HOOK.md # 声明监听什么事件 ├── handler.ts # 事件触发时跑什么代码 ``` HOOK.md告诉系统“我叫什么名字、监听哪些事件”,handler.ts告诉系统“事件来了具体干什么”。 接着案例看:一个Hook让agent自动读今天的计划 每次开启新session,您肯定想让agent自动读取今天的日记文件,完全不需要您多嘴。怎么做?创建hooks/session-loader/HOOK.md:
```
---
name: session-loader
description: "新session自动加载今天的工作日志"
metadata:
openclaw:
events: ["command:new"]
requires:
bins: ["node"]
---
```
注册好之后,每次新session启动,Hook自动触发,handler.ts跑起来,agent就已经把今天的计划读完了。您坐下来直接开干就行,一句废话都不用多说。实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章