大多数 AI 智能体失败,并不是因为模型不够聪明,而是因为系统忘记了真正重要的内容。 上下文窗口只是短期工作记忆。关闭标签页、切换频道,或者触达 token 上限,你的“记忆”就会消失。
如果你正在折腾 OpenClaw、ZeroClaw、NanoClaw,或者你自己的 claw 风格运行时,这篇文章讨论的是一个看似无聊、却极其关键的层:你的智能体究竟如何记住事情。
这里所说的“记忆”,指的是跨轮次、跨任务、跨会话存储与检索信息的系统级结构,而不是“我把上下文窗口开到 16k 了”。
下面这 7 种模式,基本覆盖了智能体记忆架构里的核心做法:
- 会话记忆 —— 当前对话的短期工作状态。
- 滚动摘要 —— 被压缩后的历史记录。
- 画像记忆 —— 用户和智能体的稳定身份与偏好。
- 语义记忆 ——
memorySearch、knowledge vault、RAG 存储。 - 情节记忆 —— run、事件日志、历史 episode。
- 混合检索 —— 语义、关键词、近期性三者结合。
- 共享记忆 —— 多个智能体或多个渠道共用一层状态。
模式 1 —— 会话记忆
会话记忆就像当前对话的白板:智能体在消息之间持续携带的活跃历史。在 OpenClaw 中,这几乎就是 conversation history buffer 本身。
工作方式
- 渠道把新消息和最近历史一起发送进来。
- 运行时把它与本地会话状态合并。
- 系统组装 prompt 并发送给 LLM。
- 返回结果再写回同一段历史中。
性能与体验影响
- 性能: 一开始成本很低,但随着历史变长,成本和延迟会持续上升。
- 体验: 短期连续性非常好,但一旦历史被静默截断,智能体就会突然“失忆”。
OpenClaw 对应关系
- 开箱即用: 是。
- 位置: 对话日志与运行时维护的会话内存状态。
FlowZap Code – 会话记忆
User { # User
n1: circle label:"User sends message"
n2: rectangle label:"See agent reply"
n1.handle(right) -> Agent.n3.handle(left)
Agent.n8.handle(right) -> n2.handle(left)
}
Agent { # Agent
n3: rectangle label:"Receive message"
n4: rectangle label:"Load session history"
n5: rectangle label:"Assemble prompt"
n6: rectangle label:"Call LLM"
n7: rectangle label:"Receive LLM reply"
n8: rectangle label:"Return answer to user"
n9: rectangle label:"Persist updated session"
n3.handle(right) -> n4.handle(left)
n4.handle(right) -> n5.handle(left)
n5.handle(right) -> n6.handle(left)
n6.handle(right) -> LLM.n10.handle(left)
n7.handle(right) -> n8.handle(left)
n8.handle(bottom) -> n9.handle(top) [label="Save session"]
}
模式 2 —— 滚动摘要记忆
滚动摘要记忆就是“会议纪要”模式:你不再一直携带完整转录,而是定期把最近几轮对话压缩成摘要,再继续往前推进。
工作方式
- 暂时保留完整历史。
- 当达到阈值时,概括最近一段内容。
- 在 prompt 中用摘要替换详细历史。
性能与体验影响
- 性能: 能显著降低长对话中的 prompt 体积。
- 体验: 智能体会“记住大意”,但会丢失逐行细节。
OpenClaw 对应关系
- 开箱即用: 部分支持。
- 位置: Memory Flush、
MEMORY.md、memory/等压缩机制中。
模式 3 —— 画像记忆
画像记忆是“我是谁”这一层:用户和智能体的稳定事实,比如名字、时区、工具、偏好和约束条件。
工作方式
- 会话开始时加载画像信息。
- 每个 prompt 都结合系统 persona、用户画像和当前消息。
- 重要新信息可以写回画像层。
性能与体验影响
- 性能: 额外开销小且稳定。
- 体验: 智能体会更像“真正记住了你”。
OpenClaw 对应关系
- 开箱即用: 是。
- 位置:
SOUL.md、USER.md、MEMORY.md等 Markdown 记忆文件。
模式 4 —— 语义记忆
语义记忆就是你的长期知识库:将事实、笔记、文档和对话切块、向量化,然后通过相似度检索回来。
工作方式
- 文本被切块并嵌入到向量数据库中。
- 查询时,对问题做 embedding,执行向量搜索,再进行 rerank,最后把最相关的内容注入 prompt。
性能与体验影响
- 性能: 每次查询都会增加 IO 与 token 成本。
- 体验: 如果做得好,智能体会像“记住了一切”。
OpenClaw 对应关系
- 开箱即用: 是,尤其是启用
memorySearch时。 - 位置: SQLite+vec 或外部向量后端。
模式 5 —— 情节记忆
情节记忆是智能体的经验日志:每个 episode 都是一段过去的运行,包含上下文、计划、工具和结果。
工作方式
- 每一次任务运行都形成一个结构化 episode。
- 在处理新任务前,智能体先检索相似 episode 作为参考。
性能与体验影响
- 性能: 需要额外的存储和索引。
- 体验: 智能体会逐渐表现出“从经验中学习”的感觉。
OpenClaw 对应关系
- 开箱即用: 原始信号已经存在。
- 位置: 日志、span、指标以及 run 历史中。
模式 6 —— 混合检索记忆
混合检索就是“别再争论哪一种最好,三种一起上”的模式:在构建上下文前,同时结合向量检索、关键词或 ID 检索,以及近期性检索。
在实际生产中,这通常是最稳健的模式,因为三种检索方式刚好覆盖不同的盲区。
打开混合检索架构图
工作方式
- 规划器决定要启用哪些检索模式。
- 语义检索、精确检索和近期检索并行执行。
- 结果被合并、重排,形成一个统一的上下文集合。
性能与体验影响
- 性能: 检索调用更多,因此需要更严格的超时与结果上限控制。
- 体验: 智能体既能找到模糊引用,也能找到准确实体与编号。
OpenClaw 对应关系
- 开箱即用: 从概念上完全支持。
- 位置: 你的路由层、中间件或 skill graph 中。
FlowZap Code – 混合检索
User { # User
n1: circle label:"Ask mixed query"
n2: rectangle label:"See answer"
n1.handle(right) -> Agent.n3.handle(left)
Agent.n18.handle(right) -> n2.handle(left)
}
Agent { # Agent
n3: rectangle label:"Plan retrieval strategy"
n4: rectangle label:"Trigger semantic search"
n5: rectangle label:"Trigger keyword search"
n6: rectangle label:"Trigger recent-history search"
n7: rectangle label:"Merge and rerank"
n8: rectangle label:"Build prompt with hybrid context"
n9: rectangle label:"Call LLM"
n18: rectangle label:"Return answer"
n3.handle(bottom) -> n4.handle(top) [label="Semantic"]
n3.handle(right) -> n5.handle(left) [label="Keyword"]
n3.handle(left) -> n6.handle(right) [label="Recent"]
n7.handle(right) -> n8.handle(left)
n8.handle(right) -> n9.handle(left)
n9.handle(right) -> LLM.n19.handle(left)
}
模式 7 —— 共享记忆
共享记忆是多智能体 / 多渠道系统的中央大脑:规划器、研究智能体和执行智能体都读写同一层状态,而不是各自背着超大的 prompt。
工作方式
- 编排器把工作拆成多个子任务。
- 专家智能体从共享状态中读取,也把结果写回去。
- 编排器从共享状态拼装最终答案。
性能与体验影响
- 性能: 更少的大 prompt,更多的小读写。
- 体验: 多智能体系统看起来更一致,而不是彼此割裂。
OpenClaw 对应关系
- 开箱即用: 很大程度上是支持的。
- 位置: 多个渠道与多个辅助智能体共享的同一记忆树或数据库。
这些模式如何映射到 OpenClaw
如果你今天已经在用 OpenClaw,那么你其实已经拥有了大部分模式:
- 会话记忆 —— 对话历史与当前会话状态。
- 滚动摘要 —— 上下文裁剪前的压缩。
- 画像记忆 ——
SOUL.md、USER.md、MEMORY.md。 - 语义记忆 ——
memorySearch、knowledge-vault、向量后端。 - 情节记忆 —— 日志、span 与 run 历史。
- 混合检索 —— 语义检索、原始文件与近期历史的组合。
- 共享记忆 —— 多个渠道与多个智能体共享的一棵记忆树。
真正重要的,不是再加一个数据库,而是明确你在什么位置使用了哪一种记忆模式,并把它清晰画出来。
Inspirations:
- https://www.lindy.ai/blog/ai-agent-architecture
- https://blogs.oracle.com/developers/agent-memory-why-your-ai-has-amnesia-and-how-to-fix-it
- https://kenhuangus.substack.com/p/the-openclaw-design-patternspart
- https://milvus.io/blog/openclaw-formerly-clawdbot-moltbot-explained-a-complete-guide-to-the-autonomous-ai-agent.md
- https://zackbot.ai/blog/the-2026-ai-agent-landscape-openclaw-its-alternatives-and-what-actually-works/
- https://openclawroadmap.com/config-memory.php
- https://openclawlaunch.com/guides/openclaw-memory
- https://www.youtube.com/watch?v=xNXvYrVfsNk
- https://redis.io/blog/ai-agent-architecture/
- https://dev.to/czmilo/2026-complete-guide-to-openclaw-memorysearch-supercharge-your-ai-assistant-49oc
- https://docs.openclaw.ai/concepts/memory
- https://docs.openclaw.ai/concepts/messages
- https://open-claw.bot/docs/help/development/logging/
- https://www.reddit.com/r/openclaw/comments/1r0uqwe/wth_openclaw_lost_the_entire_chat_history/
- https://dataa.dev/2025/09/01/agent-memory-patterns-building-persistent-context-for-ai-agents/
- https://milvus.io/blog/we-extracted-openclaws-memory-system-and-opensourced-it-memsearch.md
- https://playbooks.com/skills/openclaw/skills/knowledge-vault
- https://www.tencentcloud.com/techpedia/140855
- https://clawdbot.works
- https://flowzap.xyz/blog/flowzaps-game-changing-update-one-code-two-views/
- https://slashdot.org/software/comparison/NanoClaw-vs-ZeroClaw/
- https://lumadock.com/tutorials/openclaw-memory-explained
- https://www.youtube.com/watch?v=vte-fDoZczE
- https://www.reddit.com/r/openclaw/comments/1raznt8/trying_to_get_openclaw_help_me_build_a_large/
