如果你将OpenClaw视为日常聊天伙伴,那你一定遇到过这样的场景:花了一个小时跟它交代事情背景、定好规矩,聊得正起劲,它突然回了一句:“对不起,我不记得你刚才说的规则了。” 这时候人很容易抓狂:我不是刚刚才说过吗?为什么 AI 的记忆力这么短?
其实,不是OpenClaw没有记忆。问题出在它的“大脑空间”——也就是所谓的上下文窗口(Context Window)——本来是有限的。对话一长,它不可能把前面所有内容不分轻重地一直塞进上下文里,那样 Token 开销会很快失控。为了继续聊下去,它就必须想办法把旧内容压缩、整理,或者替换掉。所以它不能记得每一处细节。
OpenClaw在 3 月 7 日做了一次非常重要的系统更新,尝试把这件事做成一套可以被开发者接手改写的开放插件机制。

OpenClaw的记忆系统
如果用通俗一点的话来说,OpenClaw 现在可以大致看成两层。一层是 memory search,负责跨会话、跨文档、跨项目去做内容检索。另一层是 context engine,负责当前这场对话里,哪些内容要放进模型眼前,哪些内容要被压缩,哪些内容要暂时放到后面。
你和 OpenClaw 当前正在进行的这一轮对话,会属于一个 session,分配了一个session ID。只要这个 session 还在,它就能依靠当前会话上下文继续“接着聊”。当你使用 /new、/reset,或者你自己配置过其他 reset trigger 之后,它就会进入一个新的会话。你们之前的问答内容会随 session 一起持久化保存;理论上由Memory Search负责搜索。至于后续能否被 memory 检索到,还要看 memory 配置是否启用了相应路径。
简单来说,当前对话不断不掉线,主要靠的是 context engine。换了会话以后,还能不能从旧内容里翻出东西,更多靠的是 memory search。这篇文章想重点讲的,不是长期知识库memory search,而是当前对话为什么会“断片”,以及这次更新为什么重要。
顺便说一句,中文用户对 memory search 这块往往会更敏感。因为在公开讨论里,和中日韩语言相关的分词、检索效果,直到现在也仍然能看到一些争议和问题。所以,对中文用户来说,当前会话的上下文管理,很多时候反而更值得关心。
Context Engine“拆东墙补西墙”
在这次更新之前,OpenClaw 处理长对话的方式,核心方式比较传统:当你们进行多轮对话,上下文快满了,它会对较早的对话做压缩。这里要注意,它并不是简单地把旧内容直接扔掉,而是会把更早的内容压缩成一段摘要,再把较新的对话保留下来。也就是说,旧机制并非完全“失忆”,而是把原始细节换成了总结版。
问题在于,这种方式虽然比硬删除好,但仍然很容易带来两个麻烦。第一个麻烦,是你最早设下的规则、反复强调的偏好、对任务的关键约束,可能在多轮压缩之后只剩下一层模糊总结。AI 未必真的“忘了”,但它看到的已经不是原话,而是一个被处理过的版本。细节一旦被压平,执行质量就容易下降。上周 Meta 超级智能实验室的安全总监Summer Yue 也公开提到,自己部署的 OpenClaw 在处理邮箱时,因为上下文压缩后丢失了‘先确认再执行’这类约束,开始未经授权地大量删除或归档邮件。这件事也让更多人意识到:上下文管理不是小问题,而是 AI Agent 的安全问题。
第二个麻烦是子智能体。如果主智能体要把某个任务派给子智能体,它得先决定:到底该把哪些背景信息一并交过去?以前这个过程缺少足够灵活的控制,很容易出现两种情况:要么塞太多,子智能体被无关信息淹没;要么塞太少,关键约束没有传过去。结果就是,复杂任务越长,越容易出现上下文错位。
所以,以前真正的问题不是“OpenClaw 完全没有记忆”,而是它的记忆管理方式太像一个固定流程,开发者很难插手改造。
第二部分:给 AI 装上“生命周期钩子”
为了解决这个问题,OpenClaw 在最近的 v2026.3.7 版本中,引入了 ContextEngine Slot,并给出了 7 个生命周期钩子(Lifecycle Hooks)。
你可以把它理解成:OpenClaw 终于把“当前对话的记忆管理”拆开了,变成一条可以被插件接管的流水线。从新消息进来到任务结束,每一个关键环节现在都可以被开发者精准控制。
这 7 个钩子分别覆盖了 AI 思考的全过程:
- 准备阶段 (bootstrap):AI 刚睡醒,准备开始工作。
- 接收阶段 (ingest):新消息来了,决定怎么存。
- 组装阶段 (assemble):在发给模型之前,决定把哪些记忆拼凑在一起。
- 压缩阶段 (compact):大脑快满的时候,决定怎么腾地方。
- 总结阶段 (afterTurn):这一轮聊完了,赶紧整理一下。
- 派活阶段 (prepareSubagentSpawn):给小助手交代任务前,精准筛选信息。
- 收尾阶段 (onSubagentEnded):小助手干完活回来,把结果完美缝合进记忆。
这意味着以前那种“上下文怎么裁、怎么拼、怎么派活”,大多是系统内部固定逻辑;而现在,这一层终于被开放出来了。开发者可以自己设计一套更适合自己任务的记忆策略。对于普通用户来说,这次更新未必会让 OpenClaw 立刻神奇地变成“永不忘事”的 AI。但对于开发者来说,这个变化非常关键:上下文管理第一次从黑盒,变成了可插拔、可改写的模块。
Lossless 实验:“脱水”与“重构”
为了说明这套新机制能做什么,社区已经出现了一个很有代表性的实验插件:lossless-claw。它吸引人的地方在于,它不再沿用那种“上下文满了,就把更早内容压成一段摘要”的单一路线,而是尝试做一件更聪明的事:把旧对话变成一个可缩放、可回钻的记忆结构。
它的核心思路,可以概括成三句话。第一,近处保留原文,远处逐层摘要。 最近的对话尽量保留原始消息,让 AI 不会突然接不上话;更早的内容则逐层压成不同层级的摘要,而不是只留下单薄的一层总结。第二,给模型看的上下文,不再是单一列表,而是动态拼出来的组合。也就是说,AI 真正看到的内容,可能是“高层摘要 + 中层摘要 + 最近原文”的拼接结果。这样它既有全局感,也有近期细节。第三,如果摘要不够,它还能往回钻。这点是最有意思的。它不是假装“摘要就等于原文”,而是承认摘要会损失细节。所以当 AI 觉得某个点很重要时,它可以再调用工具,把背后的原始对话片段重新取出来看。
以前的上下文压缩,更像是把一本厚书不断压成读书笔记。而 lossless-claw 这类方案,更像是把书做成了带目录、带索引、还能随时翻回原页的档案系统。它并不是真的“零损失”。但它至少在努力解决一个老问题:摘要不是原文,摘要只是入口。真正好的系统,应该允许 AI 在必要时重新摸到原文。
另一个更值得注意的变化是对子智能体的支持。
以前主智能体给子智能体分配任务时,很像“临时抓一把材料塞过去”。信息多了,子智能体会乱;信息少了,子智能体会偏。这个问题在简单任务里还不明显,一到复杂任务,尤其是多步骤工程任务,问题就会被放大。现在有了prepareSubagentSpawn 和 onSubagentEnded 这类钩子之后,理论上就可以做得更精细:主智能体在派活之前,先只挑与该任务直接相关的上下文给过去;
子智能体完成以后,再把结果按结构化方式并回主记忆,而不是简单贴一大段原始输出。
这件事看起来只是“记忆管理”的一个分支,实际上很可能会直接影响多智能体协作质量。AI 系统以后要做复杂工作,不能只是“能调用工具”就够了。它还得知道:什么时候该带哪些背景,什么时候不该把无关信息带进来。这次更新,至少在架构上给了这件事一个正式入口。
开放 Slot 接口,开启“记忆插件”时代
看到这里,你可能觉得这只是一次上下文管理升级。这次更新更重要的意义是:OpenClaw 并没有把“记忆该怎么做”继续锁死在内部,而是通过 ContextEngine Slot 把这一层开放出来了。这意味着以后完全可能出现各种不同方向的插件:有人会去做更强的长期记忆方案; 有人会去做更适合中文场景的检索与压缩; 有人会去做面向工程任务的上下文裁剪; 也有人会去做更适合多智能体协作的会话装配方式。
换句话说,OpenClaw 这次并不是简单“加了一个新功能”,而是把“当前对话上下文如何组织”这件事,从系统内部的固定规则,变成了一个开发者可以参与设计的层。这不仅仅是 OpenClaw 的一次更新,它实际上是在邀请所有的开发者,一起去定义“AI 的大脑该如何思考”。
结尾
如果你只是把 OpenClaw 当聊天工具来用,那么这次更新并不等于它从今天开始就自动拥有了“长期稳定、永不失真”的超级记忆。默认行为不会一夜之间完全改头换面。但如果你是开发者,或者你关心 AI Agent 怎样处理长任务、复杂任务、多智能体任务,那这次更新很值得注意。因为它释放了一个很重要的信号:OpenClaw 决定把“上下文管理”这件事,从固定实现,变成开放接口。
OpenClaw 能在短时间内迅速走红,一个重要原因是它把 AI 从‘只会聊天’推进到了‘真的能替你做事’。而一旦 AI 开始做复杂工作,能否保持上下文记忆,遵从指令,在长任务里保持连贯,就会变成核心问题。过去大家总爱讨论模型有多强。可到了真正做系统的时候,你会发现,很多“断片”“跑偏”“忘记约束”的问题,根子并不只在模型,而在它的大脑前面,到底摆了什么内容。
从这个角度看,OpenClaw 这次更新与它的开放态度,才是真正让人期待的。