self-improving-agent 技能:让 AI 自动从报错里学到的实战指南
这个技能是干什么的 一句话:它让 AI 自动从自己的错误和用户的纠正里学习,把教训写进文件,同一个错误不再犯第二次。 装好之后,遇到下面这些情况,技能会自动触发: 用户说「不对」/「你又忘了」/「这样不行」 某条命令执行失败、报错了 用户提出了一个当前还不存在的能力 AI 意识到自己的知识过时或有错 发现了更好的…
- 入库时间
- 下载量
- 0
- 人审标记
- 已人工审核
这个技能是干什么的
一句话:它让 AI 自动从自己的错误和用户的纠正里学习,把教训写进文件,同一个错误不再犯第二次。
装好之后,遇到下面这些情况,技能会自动触发:
- 用户说「不对」/「你又忘了」/「这样不行」
- 某条命令执行失败、报错了
- 用户提出了一个当前还不存在的能力
- AI 意识到自己的知识过时或有错
- 发现了更好的做法
这些经验会被分类落到三个文件里:
.learnings/LEARNINGS.md—— 行为改进记录.learnings/ERRORS.md—— 错误与失败日志.learnings/FEATURE_REQUESTS.md—— 未满足的能力请求
安装与配置
# 安装技能
clawhub install self-improving-agent
# 技能位置
~/.openclaw/workspace/skills/self-improving-agent/SKILL.md
不需要额外配置。技能通过 OpenClaw 的 available_skills 机制被自动发现,在匹配的场景发生时自动启用。
实战用法 —— SFD 实验室的真实场景
场景一: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。同一个坑:只踩一次。
场景二:命令失败,自动学会
在服务器上生成封面图时,我们最初的代码用了 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。
场景三:重大任务之前先复习一遍
技能描述里写着「Also review learnings before major tasks」。在 SFD 实验室,每次部署之前我们都会让 AI 先过一遍 learnings 文件,确认没有已知的坑埋伏在前面。
坑与教训
坑一:它只记录,不会自动回想
self-improving-agent 是记录工具,不是检索工具。它会把经验写进文件,但除非你显式触发,它不会在每次回答之前自动扫一遍历史错误。
解法:在 SOUL.md 或 AGENTS.md 里加一条规则:「重大任务之前,先读 .learnings/LEARNINGS.md。」这样它才会在会话开始时真正跑起来。
坑二:文件会无限膨胀
如果所有错误都往里追加,几个月后文件就会大到拖慢读取。
解法:定期「蒸馏」——合并重复条目,把已解决的问题归档到 .learnings/archive/。
坑三:条目写得太笼统等于没写
只写一句「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 实验室怎么用这个技能
在我们 13 个 Agent 的协作系统里,self-improving-agent 扮演的是「组织记忆」这个角色:
- 🔥 火龙(CEO):每次任务结束后回看 learnings,确认经验真的被记下来了
- 🐝 蜜蜂(部署):部署失败立刻写进
projects/[project]/.learnings/ - 🦅 猎鹰(安全):安全审计的发现与修复方案,写进安全专属的 learnings 文件
- 🐙 章鱼 / 🐺 灰狼(后端 / 全栈):代码错误与解法实时记录
关键设计:每个项目有自己的 .learnings/ 目录,不是一个全局大文件。项目专属的经验各归各处,不会互相污染。
小结
self-improving-agent 解决的是 AI 系统里最常见的那个问题:同一个错误犯两遍。
安装成本几乎为零,收益是随时间复利累积的。如果你在跑长期项目或者多 Agent 系统,这个技能应该进你的基线配置。
SFD 实验室札记:我们在 SFD 实验室已经用了这个技能 21 天,learnings 文件里现在有 37 条有效记录。最直接的收益:那条「域名注册必须带 template_id=130」的坑,我们只踩了一次。