事情的起因
OpenClaw在2026年2月2日更新了两个新功能:QMD Memory后端和Subagent Thinking。看起来都不错,于是直接让AI帮忙改配置文件,把两个新功能一次性加上。
然后系统就挂了。
gateway直接断开,所有Agent失联。报错信息两条:
agents.defaults.memorySearch.provider: Invalid input
agents.defaults.subagents: Unrecognized key: "thinking"
问题很明确——AI不知道正确的配置写法,是猜着写的。两个字段同时塞进去,一个出错就全挂。
修复过程
第一步是止血:把新加的内容全部删掉。
- 删掉
memorySearch整个配置块 - 删掉
subagents里的thinking字段 - 重启gateway,系统恢复正常
然后一个一个加回来验证。
先加 thinking——subagents.thinking: "low" 写法没问题,启用成功。
再查 memorySearch,这时候才发现真正的问题:AI把两个完全不同的东西搞混了。
QMD 是一个独立的CLI语义搜索工具,本来就在用,每6小时自动更新索引,根本不需要在OpenClaw里额外配置。
memory_search 是OpenClaw内置的记忆搜索功能,需要单独配置embedding API key(支持OpenAI或Gemini),和QMD是两套完全独立的系统。
AI看到两个名字都带"搜索",就默认它们是一回事,拿QMD的参数去填memory_search的字段,报错是必然的。
四条配置升级原则
这次翻车其实完全可以避免,总结下来就四点:
改之前先备份。 一条命令的事,没有任何理由跳过:
cp openclaw.json openclaw.json.bak
每次只改一个字段。 两个一起改,出了问题根本不知道是哪个炸的。这次如果分开加,第一轮就能定位到 memorySearch 有问题,不至于两个功能一起排查。
不确定写法就查文档。 让AI猜配置格式是效率最低的做法。AI对具体工具的配置schema没有可靠的记忆,猜错了整个系统停摆,修复的时间远超查文档的时间。
AI分不清相似功能。 这一点容易忽略。QMD和memory_search在功能描述上确实有重叠,但架构完全不同。如果你不主动问清楚、不给出明确的上下文,AI会默认把相似的概念混为一谈。
当前状态
- Subagent Thinking — 已启用,low级别
- QMD — 一直在用,无需改动
- memory_search — 暂不启用,现阶段QMD的语义搜索已经够用
对于跑多Agent系统的独立开发者来说,配置变更的风险管理可能比选择哪个新功能更重要。备份、单点变更、查文档——这三件事做到位,能省掉大量的故障排查时间。