乐于分享
好东西不私藏

【养虾记10】OpenClaw Skill实战:从安装到自进化

【养虾记10】OpenClaw Skill实战:从安装到自进化

大家好,我是质量架构师东哥,专注软件研发过程中的质量效率改进。

讲清原理,打通实战,拒绝空谈。欢迎关注。

Skill 是什么

Skill (技能)其实就是描述文件+资源整合。资源包括但不限于:脚本、资源、图片之类的。Skill大部分场景下更像是功能使用说明书,用于指导大模型做“某件事”的流程规范

关于Skill的更多介绍可以查看 https://agentskills.io/home

为什么需要用Skill

  1. 让同一件事重复做过程更加可控、结果更加稳定

  2. 对于一件事的经验沉淀,避免每次都需要调教大模型

  3. 大模型上下文有限,有了Skill大模型先只加载Skill的描述到上下文,到了具体任务时再加载执行完整的Skill,使用完之后释放上下文。

Skills 安装

OpenClaw的 Skill 从生效范围有六个层面,一般我们接触到的比较多是三个层面,按优先级从高到低排列:

如果同名Skill存在于多个层级,高优先级会覆盖低优先级。这意味着你可以在workspace级别重写一个内置Skill的行为,而不影响其他工作空间。

前面我们讲解了OpenClaw的多Agent模式,给个使用经验分享,我们可以把无状态的skill安装在用户级别的skills目录下,比如:Tavily-search 网络搜索、操作云文档。 然后把有状态的安装在 workspace目录下,比如自进化skill需要根据每个agent的记忆和行为自进化生成文件,每个agent的身份、能力是不同的,就不太适合公用了,当然你也可以两个级别都配置,这样用户级别的自进化公共的技能(比如:定时任务出错、网络搜索工具等),workspace自进化当前agent的技能。

如何安装Skill

方式一:ClawHub

ClawHub(https://clawhub.ai/)是OpenClaw的官方 Skill 库,类似npm之于Node.js;pip 之于Python。

  • 搜索Skill:打开官网:https://clawhub.ai/skills?sort=downloads 搜索你要安装的skill名称

  • 安装Skill:对你的小龙虾说:

    帮我 安装 这个Skill:https://clawhub.ai/pskoett/self-improving-agent
  • 卸载Skill:对你的小龙虾说:

    帮我 卸载 这个Skill:https://clawhub.ai/pskoett/self-improving-agent
  • 查看已经安装的 Skill:对你的小龙虾说

    查看已经安装的 Skill 按照skill名称过滤包含 self 

也可以通过命令的方式

# 搜索技能
npx clawhub@latest search '技能名'

# 安装 Skill
npx clawhub@latest install '技能名称'

# 卸载 Skill
npx clawhub@latest uninstall self-improving-agent

# 查看已经安装的 Skill 并且过滤包含 self 
openclaw skills list | grep self

提示: 如果安装过程中遇到如下错误,是因为网络原因,请过2分钟之后重试

root@devops-virtual-machine:~# npx clawhub@latest install openclaw-tavily-search
✖ Rate limit exceeded (retry in 1s, remaining: 0/120, reset in 1s)
Error: Rate limit exceeded (retry in 1s, remaining: 0/120, reset in 1s)

方式二:通过SkillHub(国内推荐)

官网:https://skillhub.cn/ 点击全部技能搜索你想要安装的Skill,然后点击进入之后选择”安装方式”一键复制即可,非常简单。

以上就是Skill的常用两种安装方式,同时我们在安装的时候要注意Skill的加载优先级。

示例 Skill 分析——自进化Skill

简介:self-improving-agent 是一个让AI Agent 自进化的Skill,它可以让AI持续学习,记住自己犯的错,然后提炼总结。流程大概为:记录→积累→提炼→转化。这个学习过程跟我们人类学习很像,想象一下你写代码、测试用例的时候是不是也是 开发->测试->修复Bug->测试,然后在过程中不断学习总结,提升能力。

  1. 安装之前先查看下当前工作空间,方便我们理解安装skill底层到底做了什么。
  • 跟你的小龙虾说:
帮我 安装 这个Skill 到当前工作空间:https://clawhub.ai/pskoett/self-improving-agent

注意:这里我第一次安装发现小龙虾给我安装到了默认的workspace目录下,而不是当前工作空间目录,这是一个错误,现在我们只能手工检查然后告诉小龙虾,后面我们介绍完自进化skill之后就不用每次告知小龙虾做错的事情,他会自动提炼并总结。

  • 默认会自动创建skills目录然后安装 self-improving-agent 这个Skill

进入这个skill目录,然后执行`tree`命令查看这个skill的结构如下:

root@ai-server:~/.openclaw/workspace-lobster/skills/self-improving-agent# tree
.
├── assets            # 资源目录
│   ├── ERRORS.md    # 记录错误日志
│   ├── FEATURE_REQUESTS.md    # 记录需求日志
│   ├── LEARNINGS.md           # 学习模板
│   └── SKILL-TEMPLATE.md      # Skill 模版
├── hooks
│   └── openclaw
│       ├── handler.js
│       ├── handler.ts
│       └── HOOK.md
├── _meta.json
├── README.md
├── references        # 参考文档
│   ├── examples.md
│   ├── hooks-setup.md
│   └── openclaw-integration.md
├── scripts            # 脚本目录
│   ├── activator.sh
│   ├── error-detector.sh
│   └── extract-skill.sh
└── SKILL.md     # 核心文件,就像操作手册

5 directories, 16 files
root@ai-server:~/.openclaw/workspace-lobster/skills/self-improving-agent# 

从上面的输出我们可以看到一个skill的核心内容如下:

skill-name/
├── SKILL.md          # 必须: metadata(元数据) + instructions(指令) 
├── scripts/          # 可选: 可执行脚本 executable code
├── references/       # 可选: 文档
├── assets/           # 可选: 模版和资源, resources
└── ...               # 其他任何目录和文件

self-improving-agent 工作流程

  1. 当我们开启一个新的对话时自动触发workspace-lobster/skills/self-improving-agent/scripts/activator.sh 脚本执行,然后注入提示上下文。翻译过来大概的意思
<self-improvement-reminder>
完成任务后,评估是否有可提取的知识:
- 通过调查发现的非显而易见的解决方案?
- 意外行为的变通方案?
- 学到的项目特定模式?
- 需要调试才能解决的错误?

如果是:记录到 .learnings/
如果高价值:考虑提取为新 Skill
</self-improvement-reminder>
  • 我们跟小龙虾对话时,发生以下场景时:

    1. 小龙虾执行命令失败

    2. 我们纠正小龙虾执行结果

    3. 小龙虾发现有更好的方法

  • 这时候自进化Skill自动触发记录到 .learnings/  目录,目录包含以下核心文件

    1. ERRORS.md –>记录错误,例如:命令失败、API 报错、超时

    2. LEARNINGS.md –>记录学习结果。例如:当我们纠正小龙虾告诉他什么是对的方法

    3. FEATURE_REQUESTS.md –> 询问小龙虾帮助我们探索我们不知道的事物时。例如:xxx我不懂,你教下我。

  • 小龙虾 定期 Review 这些文件,然后自动提炼。识别哪些是重复出现、哪些可以提炼到 AGENTS.md,SOUL.md,TOOLS.md文件中、哪些可以通过workspace-lobster/skills/self-improving-agent/scripts/extract-skill.sh 提炼成新的skill。

Self-Improving-Agent 验证

最简单的方法就是让你的小龙虾帮你验证一下,创建新的对话(/new),然后跟你的小龙虾说:

self-improvement-agent 这个skill 启动了吗?生效了吗?帮我测试验证一下

然后可以查看服务器在当前工作空间目录下生成了.learnings 目录,里面包含了三个文件。

然后我们可以不定期的查看服务器的文件来观测我们的小龙虾进化的怎么样了,当然也可以通过前面我们讲解的定时任务【养虾记06】通过定时任务搭建AI日程管家:提醒、追踪、自动记录方式让小龙虾每天把进化的结果主动发给我们,这样我们也可以感知到小龙虾每天进化的进度。

对你的小龙虾说:

帮我创建一个定时任务,每天晚上7点告诉我你当天自进化的结果,进化过程中修改了哪些文件和内容

其他推荐的skill

  • Skill Vetter 是一个安全审查技能,用来在安装新 skill 之前做安全检查,地址:https://clawhub.ai/spclaudehome/skill-vetter

  • self-improving  是一个比我们目前装的 self-improving-agent 更完整的自进化 skill能实现自反思 + 自纠错 + 自学习 + 自组织记忆,地址:https://clawhub.ai/ivangdavila/self-improving

如果你觉得这篇文章写的还不错,麻烦双击屏幕点个👍、点个❤️、点个转发,你的支持是我继续分享的动力!

欢迎志同道合的朋友添加我的微信 Miller_Shan 一起交流,互相学习,共同进步。

附微信二维码: