Self-Improving Agent 實戰指南:讓 AI 從錯誤中自動學習,102k 下載量說明了什麼
这个技能是干啥的 一句话:让AI从自己的錯誤和使用者纠正中自動学习,把学到的东西写进檔案,下次不犯同样的错。 装了这个技能之后,每当发生以下情况,AI会自動觸發学习記錄: 使用者说"不对,你搞错了" / "上次你忘了" / "这样不行" 命令执行失败,报错了 使用者要求一个AI还不会的功能 AI意识到自己的知識过…
- 入庫時間
- 下載量
- 0
- 人審標記
- 已人工審核
这个技能是干啥的
一句话:让AI从自己的錯誤和使用者纠正中自動学习,把学到的东西写进檔案,下次不犯同样的错。
装了这个技能之后,每当发生以下情况,AI会自動觸發学习記錄:
使用者说"不对,你搞错了" / "上次你忘了" / "这样不行"
命令执行失败,报错了
使用者要求一个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是否存在
ls ~/.openclaw/workspace/skills/self-improving-agent/SKILL.md
安裝后不需要额外設定。技能通过 OpenClaw 的 available_skills 系統自動被發現,当匹配的場景发生时自動激活。
觸發条件(技能描述原文):
Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude, (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered.
實戰使用——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:重大任務前先查学习記錄
技能描述里提到"Also review learnings before major tasks"。在SFD Lab,我们在跑每次部署前,会让AI先过一遍learnings,確認没有已知的踩坑点。
踩坑記錄
坑1:技能不会自動"回想",需要主动觸發
self-improving-agent是"記錄"工具,不是"检索"工具。它会把经验写进檔案,但如果你不主动说"查一下learnings",它不会自動在回答前检索所有历史錯誤。
解法:在SOUL.md或AGENTS.md里加一条規則:"重大任務前,读 .learnings/LEARNINGS.md",这样每次session开始都会执行。
坑2:learnings檔案可能越来越大
如果每次錯誤都追加,几个月后檔案会很长,影响读取效率。
解法:定期做"蒸馏"——把重复的条目合并,把已解決且不会再发生的条目归档到 .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 記錄。这样coding問題的解法会沉淀到learnings,而不是在对话里消失。
配合 skill-self-evolution-enhancer
这个组合更强力:给任何技能加上专属的evolution能力。比如给 12306-train-assistant 加上它自己的learnings,专门記錄12306 API的踩坑和变更。
SFD Lab 怎么用
我们13个Agent的协作系統里,self-improving-agent扮演的是"组织记忆"的角色:
小火龙🔥(CEO):每次任務结束后檢查learnings,確認经验被記錄
小蜜蜂🐝(部署):部署失败后立刻記錄到 projects/smallfiredragon/.learnings/
小猎鹰🦅(安全):安全稽核發現的問題和修复方案,記錄到安全专属learnings
小章鱼🐙/小灰狼🐺(后端/全栈):程式碼报错和解決方案实时記錄
关键设计:每个專案有自己的 .learnings/ 目录,而不是全局一个檔案。这样不同專案的经验不会混在一起。
總結
self-improving-agent解決了AI系統最常见的一个問題:同样的錯誤犯两遍。
安裝成本几乎为零,收益是持续累积的。如果你在跑长期專案或者多Agent系統,这个技能应该是你的基础設定之一。
SFD编者注:我们在SFD Lab已经用这个技能21天了,learnings里已经有了37条有效記錄。最直接的价值:那个"域名註冊必须带template_id=130"的坑,我们只踩了一次。