你纠正了 Agent 三次,它还在犯同一个错——问题出在你的期待错了

你纠正了 Agent 三次,它还在犯同一个错——问题出在你的期待错了

OpenClaw 38 万星背后,最被低估的不是心跳机制,是它的"错题本":self-improving 三层进化。但配置文档里的三个坑,会让你的进化链悄悄断掉,而 job 还在正常跑。

AI Agent 有一点像实习生:你纠正过的错,他第二次还犯。你说"文章别先讲理论",他答应得好好的,下一篇照旧。

大多数人把这归咎于模型不够聪明。但用了几个月 OpenClaw 之后,我发现真正的原因更扎心:记住一件事,和从这件事里学会方法,是两个系统。大部分 Agent 框架只装了第一个。

OpenClaw 把这件事拆成了四层——日记本、百科全书、错题本、SOP 手册。这套东西决定了同一个 Agent,有人用一周就顺手,有人用三个月还在当客服。

先看数据,再看机制

OpenClaw 已经是 GitHub 史上升星最快的项目——不到五个月 34 万星,3 月 3 日超过 React,成为星数最多的软件项目。React 花了十年,它用了 60 天。44,000+ 个 ClawHub 技能,50 万+ 运行实例。

一个生态长到这个体量,"怎么让 Agent 越用越顺手"就不再是玩具问题,而是 50 万个实例共同面对的工程问题。OpenClaw 的答案是四层流水线:

层级 组件 管什么 类比
1 memory-core 记住"发生了什么" 日记本
2 memory-wiki 把记忆编译成"知识" 百科全书
3 self-improving 从错误中积累"经验" 错题本
4 skills.workshop 把经验沉淀为"技能" SOP 手册

数据流向一句话:对话 → 存碎片 → 整理 → 编译成知识 → 捕获纠正 → 沉淀为技能。

绝大多数人的 Agent 只跑到第一层。今天重点说后两层——它们才是"进化"发生的地方。

memory-wiki:知识不是记忆的堆叠

memory-core 存的是一条条碎片:"用户偏好 2500 字内文章""封面用科技蓝""读者 70% 是非技术人员"。碎片一多,检索本身就变成负担。

memory-wiki 的做法是把碎片编译:三条碎片合并成一个「写作规范」页面,每条规则附证据来源和时间戳,带冲突检测。下次执行任务,Agent 查的是一页结构化知识,不是十几条散装记录。

配置关键就一个概念:bridge 模式。它不自己生产内容,而是读 memory-core 产生的整理报告和记忆事件,自动编译成 Wiki 页面。多 Agent 场景记得把 scope 设成 agent——每个 Agent 独立 Wiki,别用 global。

但这一层我建议别急着开。Wiki 的价值建立在碎片的质和量上,memory-core 才跑两三周、碎片还没攒够,编译出来的"知识"就是低质量复读——垃圾进,垃圾出。官方的渐进路线也是这个顺序:memory-core 跑稳两到四周再上 wiki。

self-improving:错题本才是进化的心脏

前两层解决"记住事情",这一层解决"学会做事"。它是一个独立的 Skill,装完之后 Agent 有了自己的错题本目录:明确纠正进 corrections.md,偏好进 memory.md,领域经验进 domains/,项目经验进 projects/。

机制上最值得学的是三次晋升规则:同一教训被触发三次,就从错题本晋升为 HOT 规则,永久生效、每次任务自动加载。你不用再提醒第二次,更别说第三次。

但这层的坑也最多,而且每个坑都不报错——job 还在跑,进化已经断了。文档不会告诉你,我替你踩了:

坑一:目录不隔离,经验互相污染。 self-improving 默认单用户单目录。你让多个 Agent 共用一个 ~/self-improving/,work-Agent 学到的"投资建议要加免责声明",会直接串进 write-Agent 的写作经验里。正确是每个 Agent 一个子目录,另设 global 放通用经验。

坑二:心跳文档已经失效。 Skill 自带的 setup 文档让你建 HEARTBEAT.md——但 OpenClaw 2026.8.x 运行时根本不读它,心跳指令迁移到了 cron 的 scratch。照着官方文档配,心跳静默失效。

坑三:gateway 重启后心跳断链。 重启后 heartbeat job 被重建、id 变了,scratch 不跟着迁移,所有检查清单清空。表面一切正常,self-improving 已经不再实际工作。解法是在检查清单里内嵌自愈规则:发现 scratch 为空就用自身内容重写。给心跳装一个"心跳"。

第三点是我认为整套机制里最精妙的设计——承认基础设施不可靠,然后把自愈能力写进业务逻辑本身。

skills.workshop:从经验到可复用的技能

最后一层是打包:零散的"下次先给案例",沉淀成完整的"写作全流程"技能。self-improving 存的是一条条规则,workshop 产出的是一个可被其他 Agent 调用的流程。

模式建议选 propose 而不是默认的 auto:让 Agent 提议、你审核后生效。进化机制里"自动捕获"和"质量失控"只有一线之隔,技能库污染的清理成本,比逐条审核高得多。

拼起来的完整链路

一次纠正进来,正确路径是三路并发:

用户纠正 Agent
 ├─→ corrections.md 立即写入(错题本)
 ├─→ MEMORY.md 记日期(事实层)
 └─→ 同类教训第 3 次 → 晋升 HOT 规则
                     → 重要经验 → workshop 沉淀为技能
                     → 技能被其他 Agent 发现复用

一个真实节奏,做行业竞品分析的 Agent:第 1 天你手把手教;第 1 周它记住了纠正但框架不稳,每次都要你提醒;第 2 周框架自动加载,只有数据源偶尔出错;第 4 周,三个月的动态已经编译成结构化知识库,分析框架沉淀成 SOP 技能,其他 Agent 直接调用——你只看结果。

四周时间,介入频率从"手把手"降到"只看结果",这才是"越用越懂你"的实际含义。

代价清醒:进化不是免费午餐

夸完了,泼三盆冷水:

第一,这套系统不会让模型变聪明。变聪明的始终是模型厂商的事。self-improving 沉淀的是行为规则,规则多了反而占上下文——错题本写一百条,每次任务都带着一百条包袱,第一 token 成本和遵循率都会恶化。三次晋升规则的价值正在于此:它强制筛选,只让重复出现的教训进入长期层。

第二,错误也会进化。Agent 基于一次错误判断沉淀出的"经验",会以同样的自动性反复应用。corrections.md 需要定期人工清理,heartbeat 只做去重归档,不做对错判断。信任要给,审计也要给。

第三,维护成本真实存在。心跳规则、目录隔离、重启自愈、冲突优先级(项目 > 领域 > HOT 全局),每一项都是你要自己扛的运维负担。官方文档还有坑——HEARTBEAT.md 的过时说明就是例子。这套机制适合每天真正高频使用 Agent 的人;一周用三次的,memory-core 加几条手写规则就够了,别为用不上的进化付运维税。

渐进路线一张表收尾:

你的阶段 该开什么 别碰什么
memory-core 跑稳 2-4 周 + memory-wiki self-improving、workshop
开始反复纠正同一个错 + self-improving(目录隔离) heartbeat 先不加
某类任务形成固定流程 + skills.workshop(propose 模式) —

记住的 Agent 是日记本,进化的 Agent 才是同事。区别不在模型,在你有没有给它一套消化错误的流水线。


相关链接:

评论

暂无评论。

登录后可发表评论。