LogoSteve
  • 博客
  • 关于我
如何看待 Agent 记忆?
2026/03/30

如何看待 Agent 记忆?

我更倾向按需记忆,而不是默认自动记忆。难点从来不是“要不要记”,而是记什么、什么时候记,以及怎么避免记忆变成噪音。

这段时间我一直在研究 Agent,也顺手把自己对记忆这件事的看法记下来。

我的判断不复杂:只有在它确实能省掉重复劳动的时候,记忆才值得引入。它不是所有 agent 默认都该有的配置。

memory 是个老生常谈的话题,但最近又被 openclaw 推到了一个新高度。很多人会下意识觉得,一个智能体就应该有记忆。可在我看来,这恰好是第一个误区。

如果一个没有记忆的 agent 也已经能满足你的日常需求,那它当然是成立的。记忆不是默认刚需。

记忆真正改变了什么

第一件事:把分散的对话连起来

我们和 agent 的每次对话,通常都是由一问一答组成的。

每次新对话开始,都会产生一个新的“扣子”。而 MEMORY.md 做的事情,就像是用一根线把这些扣子串起来。这样一来,当你在新的对话里重新提起某个线头时,另一个对话里曾经产生的关键信息也能被带出来。

独立对话被串联起来的流程图

第二件事:少做重复初始化

为什么要做这件事?

因为如果没有记忆,你和模型的每次对话几乎都要从 0 开始。你们之间总会有一个重复初始化的过程,而这个过程对人来说,往往就是把已经说过很多次的 prompt 再输入一遍。

这件事谈不上高级,只是很烦。记忆能做的,就是把这部分重复劳动拿掉。

有无记忆时使用成本的对比图

所以,只有当你真的需要跨会话串联信息时,你才真正需要记忆。否则,一个 chatbot 很多时候就已经够用了。

自动记忆的问题,主要出在哪

最近我在用 openclaw。它的底层架构基于 Claude Code,所以你在 Claude Code 的项目目录里,也能看到 MEMORY.md 这个文件。

openclaw 的卖点很明确,就是尽量把记忆自动化。但实际用下来,我觉得体验还不够稳,主要是两个问题:

  • 不稳定
  • 写得太多,也太杂

不稳定

这里说的不稳定,是相对而言的。

如果你在 prompt 里明确写出“记住:”或者 remember: 之类的指令,那么现在 SOTA 榜上的 agent 基本都能照做。

但如果你没有明确要求,它到底会不会记、记成什么样,就没那么确定了。

太多、太杂

openclaw 会先把每天的内容写进 memory,再整理进 MEMORY.md。

这件事的问题在于,如果你没有事先定义清楚“什么该记,什么不该记”,那么过一段时间之后,MEMORY.md 很容易变得又乱又长。结果就是:

  • 额外的上下文占用
  • 更高的上下文污染风险
  • 真正重要的信息反而被噪音盖住

上下文污染问题的信息图

我真正关心的两个问题

说到底,我们真正该反复追问的是下面这两个问题:

  • 我是否真的需要自动记忆?
  • 我真正要记住的,到底是什么?

对我自己来说,自动记忆不是刚需。

如果未来有人能把这两个问题处理干净,我会很愿意用。谁不想有一个自己的 Jarvis。

我对“什么值得记忆”和“什么时候该记”本来就有比较清楚的判断,所以我并不排斥手动触发的精准记忆。

对我来说,对 agent 的控制感,始终要大于自动化本身。

所以我现在的做法是:

  1. 做了一个 session-reflect skill,对需要沉淀的 session 做深度复盘
  2. 输出“发现的问题”“学到的教训”“如何改进”
  3. 将这些真正有价值的内容写入 MEMORY.md

需要的时候手动触发一次,成本其实不高。换回来的是更干净的内容,更少的噪音,也更强的控制感。

session-reflect 记忆工作流示意图

记忆怎么处理,最后还是要回到具体场景。

如果你做的是陪伴型 agent,自动记忆几乎就是产品的一部分。可即便如此,前面那两个问题也躲不过去。真正能拉开差距的,通常不是“有记忆”这件事本身,而是你怎么筛、怎么写、怎么维护这份记忆。

全部文章

作者

avatar for Steve
Steve

分类

  • AI
记忆真正改变了什么第一件事:把分散的对话连起来第二件事:少做重复初始化自动记忆的问题,主要出在哪不稳定太多、太杂我真正关心的两个问题

更多文章

Cursor Rules 入门指南:如何高效编写提示词
AI

Cursor Rules 入门指南:如何高效编写提示词

深入了解 Cursor 中的 Rules 分类与提示词结构,让 AI 成为你的顶级开发助手

avatar for Steve
Steve
2026/03/21
Prompt Caching TTL 是什么?
AI

Prompt Caching TTL 是什么?

TTL 就是 Prompt Cache 的存活时间。命中一次就刷新一次,空置太久就会过期。

avatar for Steve
Steve
2026/03/30
Prompt Caching vs 工具结果替换
AI

Prompt Caching vs 工具结果替换

Prompt caching 优化的是重复前缀的计费,工具结果替换优化的是上下文体积。两者都能省钱,但省的是不同部分。

avatar for Steve
Steve
2026/03/30
LogoSteve

Steve 的博客

© 2026 Steve