事情的起因

OpenClaw在2026年2月2日更新了两个新功能:QMD Memory后端和Subagent Thinking。看起来都不错,于是直接让AI帮忙改配置文件,把两个新功能一次性加上。

然后系统就挂了。

gateway直接断开,所有Agent失联。报错信息两条:

agents.defaults.memorySearch.provider: Invalid input
agents.defaults.subagents: Unrecognized key: "thinking"

问题很明确——AI不知道正确的配置写法,是猜着写的。两个字段同时塞进去,一个出错就全挂。

修复过程

第一步是止血:把新加的内容全部删掉。

  1. 删掉 memorySearch 整个配置块
  2. 删掉 subagents 里的 thinking 字段
  3. 重启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系统的独立开发者来说,配置变更的风险管理可能比选择哪个新功能更重要。备份、单点变更、查文档——这三件事做到位,能省掉大量的故障排查时间。