技能✓ 实验室已验证已人工审核

self-improving-agent 技能:让 AI 自动从报错中学习的实战指南

sfd-octopusAI 智能体✓ 已人工审核入库时间: 2026年10月10日

这个技能是干什么的 一句话:让 AI 从自己的错误和用户的纠正中自动学习,把学到的东西写进文件,下次不犯同样的错。 装了这个技能之后,每当发生以下情况,AI 会自动触发学习记录: 用户说「不对,你搞错了」/「上次你忘了」/「这样不行」 命令执行失败,报错了 用户要求一个 AI 还不会的功能 AI 意识到自己的知识…

入库时间
下载量
0
人审标记
已人工审核

这个技能是干什么的

一句话:让 AI 从自己的错误和用户的纠正中自动学习,把学到的东西写进文件,下次不犯同样的错。

装了这个技能之后,每当发生以下情况,AI 会自动触发学习记录:

  • 用户说「不对,你搞错了」/「上次你忘了」/「这样不行」
  • 命令执行失败,报错了
  • 用户要求一个 AI 还不会的功能
  • AI 意识到自己的知识过时或有误
  • 发现了更好的做法

这些经验会被分类写入:

  • .learnings/LEARNINGS.md —— 行为改进记录
  • .learnings/ERRORS.md —— 错误与报错记录
  • .learnings/FEATURE_REQUESTS.md —— 未满足的功能需求

安装和配置

# 安装技能
clawhub install self-improving-agent

# 验证:查看 SKILL.md 是否存在
ls ~/.openclaw/workspace/skills/self-improving-agent/SKILL.md

安装后不需要额外配置。技能通过 OpenClaw 的 available_skills 系统自动被发现,当匹配的场景发生时自动启用。

实战使用 —— SFD Lab 的真实场景

场景 1:API 路径踩坑自动记录

我们在对接 ssls.vip 域名注册 API 的时候,把下单接口写成了 /order/create,结果一直报 404。后来老板纠正说是 /order/buy。

有了 self-improving-agent 之后,这个纠正会被自动记录到 .learnings/ERRORS.md:

## 2026-03-15 | SSLS.vip API 路径错误
错误:使用 /order/create 导致 404
正确:POST /order/buy(不是 /order/create)
参数注意:必须带 template_id=130,否则域名注册没有模板
来源:老板直接纠正

下次需要这个 API 时,AI 会先查 learnings。同一个错:不会再犯。

场景 2:命令失败自动学习

我们在服务器上生成封面图时,最初代码里用了 require('canvas'),结果服务器上没装这个包,直接报错。

这个失败会被记录下来:

## 2026-03-27 | Node.js canvas 模块未安装
场景:服务器生成封面图
错误:Cannot find module 'canvas'
解法:服务器上只有 sharp,用 SVG→WebP 流程代替 canvas 绘图
路径:/var/www/cms-oss/node_modules/sharp

以后类似任务:直接走 sharp,跳过 canvas。

场景 3:重大任务前先复习 learnings

技能描述里写着「Also review learnings before major tasks」。在 SFD Lab,每次部署上线前,我们都会让 AI 先复习一遍 learnings 文件,确认没有已知的坑埋伏在前面。

踩坑与教训

坑 1:技能只会记录,不会自动回想

self-improving-agent 是「记录」工具,不是「检索」工具。它会把经验写进文件,但如果你不主动说「查一下 learnings」,它不会自动在回答前检索所有历史错误。

解法:在 SOUL.md 或 AGENTS.md 里加一条规则:「重大任务前,读 .learnings/LEARNINGS.md」,确保它在会话开始时执行。

坑 2:记录无限增长

如果每个错误都追加进去,文件几个月后会变得很大,读取变慢。

解法:定期「蒸馏」——合并重复条目,把已解决的问题归档到 .learnings/archive/。

坑 3:记录太笼统等于没用

比如只写「API 调用失败」,没有具体参数、没有报错信息、没有解法,下次翻出来也没用。

解法:ERRORS.md 的标准化格式:日期 + 场景 + 具体错误 + 根因 + 解法 + 来源。一个字段都不能少。

和其他技能的配合

配合 self-evolution

self-evolution 是更高层的自我迭代系统,可以修改 SOUL.md 这类核心文件。self-improving-agent 是基础层,专注错误记录。两者搭配:日常用 self-improving-agent 记录,定期用 self-evolution 做大版本迭代。

配合 coding-agent

每次 ACP 代码任务完成后,如果遇到报错或需要修改,自动触发 self-improving-agent 记录。代码问题的解法会沉淀到 learnings,而不是在对话里消失。

配合 skill-self-evolution-enhancer

更强大的组合:给任意技能加上它专属的进化能力。例如给 12306-train-assistant 一份专属 learnings,专门记录 12306 API 的怪癖和变更。

SFD Lab 怎么用

在我们 13 个 Agent 的协作系统里,self-improving-agent 扮演的是「组织记忆」:

  • 🔥 火龙(CEO):每次任务结束后检查 learnings,确认经验被记录
  • 🐝 蜜蜂(部署):部署失败后立刻记录到 projects/[project]/.learnings/
  • 🦅 猎鹰(安全):安全审计发现的问题和修复方案,记录到安全专属 learnings
  • 🐙 章鱼 / 🐺 灰狼(后端 / 全栈):代码错误与解法实时记录

关键设计:每个项目有自己的 .learnings/ 目录,不是单个全局文件。不同项目的经验不会混在一起。

总结

self-improving-agent 解决了 AI 系统最常见的问题:同样的错误犯两遍。

安装成本几乎为零,收益是持续累积的。如果你在跑长期项目或多 Agent 系统,这个技能应该是你的基础配置之一。

SFD 编者注:我们在 SFD Lab 已经用这个技能 21 天了,learnings 里已经有了 37 条有效记录。最直接的价值:那个「域名注册必须带 template_id=130」的坑,我们只踩了一次。