AI助手OpenClaw突然"失忆"?我花了两天找到了原因
先说个鬼故事
我的AI助手OpenClaw突然”失忆”了。
我问它:”上次那个投资分析的结果是什么?”
它说:”我不知道你在说什么。”
但我明明让它记过。
这不是AI的锅。是配置没整明白。
这就是我在养龙虾时踩到的坑。分享一下排查过程,帮你少走两天弯路。
前传:KAIROS是怎么来的
先交代一下背景。
2026年3月31日,Claude Code的源码泄露了——npm包误含了source map文件,59.8MB,1906个源文件,51.2万行TypeScript全暴露了。
我第一时间用OpenClaw去分析这批源码。看完之后,最大收获不是安全启示,而是它背后那套记忆系统架构。
Claude Code有个后台守护进程叫KAIROS,工作方式很有意思:
-
你不用它的时候,它在后台悄悄整理记忆 -
把零散的观察合并成结构化的知识 -
四阶段循环:定向→收集→整合→修剪
这不就是我一直想要的吗?
于是照着这套思路,给我的OpenClaw也设计了一套KAIROS后台引擎。4月2日建的设计文档,4月7日把核心逻辑写完。
简单说:KAIROS是我从Claude Code源码里”偷”来的记忆架构。
问题一:它明明”记住”了,为什么查不到?
症状
我让助手启用qmd语义检索,配置改了好几遍,Gateway重启了三四次,但一搜东西就报错:Collection not found。
当时心态有点崩。
排查过程
第一步:看配置有没有写进去
openclaw config get memory.backend
输出是qmd,没毛病。
第二步:看Gateway有没有在跑
openclaw gateway status
进程在,PID也有。
第三步:意识到一个关键问题
Gateway启动时一次性读取全部配置到内存,之后就按内存里的跑。改配置文件 ≠ 配置立即生效。
就像你改完空调遥控器,空调不会自己重启来读新设置。
第四步:发现了另一个问题——重复collections警告
Gateway boot时会尝试按内部配置创建几个collections:
memory-root-mainmemory-alt-mainmemory-dir-mainworkspace
但workspace已经覆盖了同样的路径,导致重复创建的警告。
日志里看到skipped别慌——这代表qmd拒绝了重复创建,不影响实际功能。
第五步:找到重复配置的源头
cat ~/.openclaw/agents//main/qmd/xdg-config/qmd/index.yml
发现gateway内部配置了冗余的collections,需要手动清理,只保留workspace。
解决方法
问题1:配置不生效
openclaw gateway restart
问题2:重复collections
修改index.yml,删除冗余配置,只保留:
collections:
– name: workspace
uri: $WORKSPACE/memory
重启后语义搜索正常了,重复警告也消失了。
问题二:它半夜自己乱跑,耽误我干活
症状
KAIROS的设计是”等我睡觉时它再整理记忆”。结果有天晚上我正常使用,它突然开始狂飙,CPU跑满。
我的空闲时间它不动,我一操作它就乱跑。完全反了。
排查过程
查了代码才发现,有个判断逻辑写反了:
设计:idle=true(空闲)→ 执行整合
代码:idle=true(空闲)→ 跳过整合
空闲时应该干活,实际代码让它休息。反过来了。
解决方法
修改判断逻辑:
// 改之前(写反了)
if (idleResult.idle) {
skipIntegration();
} else {
doIntegration();
}
// 改之后(正确)
if (idleResult.idle) {
doIntegration();
} else {
skipIntegration();
}
经验教训
1. 配置变更必须显式重启Gateway
OpenClaw的Gateway不是热加载的。修改配置后必须执行:
openclaw gateway restart
光改配置不够,必须告诉它重新加载。
2. 检查日志时注意”警告”和”错误”的区别
qmd报skipped是警告,不是错误。”skipped”=被跳过,不影响实际功能。但如果不仔细看日志,可能会被吓到。
3. 代码逻辑和设计文档必须保持一致
KAIROS的问题就是设计文档说”空闲时执行”,代码却写成”空闲时跳过”。这种bug最难发现——两边看起来都没问题,但实际行为和预期完全相反。
教训:写完代码一定要对照设计文档检查一遍,或者直接跑测试用例验证。
4. 多agent系统中的配置优先级
OpenClaw的多agent架构中,每个agent有自己的qmd配置。gateway全局配置 vs agent级别配置 vs workspace配置,优先级要搞清楚,否则容易出现”改了一处但另一处还在用旧配置”的问题。
延伸:让你的AI助手”记住”更多
1. 配置文件在哪
主配置文件在:
~/.openclaw/openclaw.json
内存后端配置:
“memory”: {
“backend”: “qmd”
}
2. 改了配置不生效?先重启Gateway
openclaw gateway restart
3. 后台任务别在活跃时跑
KAIROS这类后台引擎建议:
-
设定空闲阈值(比如30分钟无操作) -
设置执行周期(比如每6小时一次) -
凌晨执行效果最好
4. 定期整理记忆
AI的记忆系统也需要”断舍离”:
-
重要内容写入长期记忆文件 -
定期清理过期的观察记录 -
保持记忆目录整洁
最后
AI助手能不能记住你教它的事,取决于两点:
- 配置对不对
(内存后端、Gateway重启) - 代码跑没跑偏
(逻辑有没有写反)
KAIROS是从Claude Code源码里”偷”来的记忆架构,照着抄都写反了,可见过手不如过脑。
养龙虾这事,已经够费心了。别让配置问题再给你添堵。
有问题欢迎交流,我的AI助手可以帮你继续排查。
夜雨聆风