content/02-agent/deep-topics/memory/mem0-memory-in-agents.md

Agent 的记忆:是什么、为什么、怎么做

原文Memory in Agents: What, Why and How · mem0.ai 作者:Taranjeet Singh 发表:2025-04-15 译注:本文为忠实中译,保留原文结构与表格。这是 mem0 记忆系列的开篇,立场偏 mem0 自家产品,阅读时请把「Mem0 怎么做」一节当作厂商视角参考。对照本目录的 开源记忆项目深度拆解三家商用方案对比 一起看,判断会更平衡。


引子:当今 AI 中「记忆」的错觉

想象你在和一个忘掉你说过的一切的朋友聊天。每次对话都从零开始:没有记忆、没有上下文、没有进展。那会让人觉得别扭、累人、毫无温度。不幸的是,今天大多数 AI 系统正是这样工作的。它们很聪明,没错,但缺了一样关键的东西:记忆

ChatGPT 或编程 copilot 这类工具,用着用着你就会发现自己在一遍又一遍地重复指令和偏好,原本的「好用」也就打了折扣。要构建能够学习、进化、协作的 Agent,真正的记忆不只是「锦上添花」——它是必需品

这种由上下文窗口和巧妙的提示工程营造出来的「记忆错觉」,让很多人误以为 Agent 已经会「记住」了。但实际上,今天的大多数 Agent 是**无状态(stateless)**的:无法从过往交互中学习,也无法随时间适应。

要从无状态的工具,走向真正智能、自主的**(有状态)Agent,我们需要给它们记忆**——而不只是更大的提示词或更好的检索。

AI Agent 的「记忆」到底指什么

AI 记忆,或者说 AI Agent 记忆,是指 Agent 跨越时间、任务和多次用户交互,保留并回忆相关信息的能力。 记忆让 AI Agent 能记住过去发生了什么,并用这些信息改进未来的行为。

记忆不是只存聊天记录,也不是往提示词里塞更多 token。它是要构建一个持续演化的内部状态,这个状态会影响 Agent 的每一次交互——哪怕两次交互相隔数周甚至数月。

定义 Agent 记忆的三大支柱:

  • 状态(State):知道此刻正在发生什么
  • 持久化(Persistence):跨会话保留知识
  • 取舍(Selection):决定什么值得记住

三者合在一起,带来了我们过去从未拥有过的东西:连续性(continuity)

记忆如何嵌入 Agent 技术栈

无状态 Agent(无记忆) vs 有状态 Agent(有记忆)

我们把记忆放进现代 Agent 的架构里看。典型组件有:

  • 用于推理和生成答案的 LLM
  • 一个策略 / 规划器(如 ReAct、AutoGPT 风格)
  • 工具 / API 的访问能力
  • 一个检索器(retriever),用来拉取文档或历史数据

问题在于:这些组件没有一个记得昨天发生了什么。 没有内部状态,没有不断深化的理解,没有记忆。

把记忆加进循环后:

Agent 就从一次性的助手,变成了不断进化的协作者。

上下文窗口 ≠ 记忆

一个常见的误解是:上下文窗口足够大,就不再需要记忆了。

但这条路走不通,因为有几个固有的局限。其中最主要的一个是:给 LLM 喂更多上下文很贵——更多 token = 更高的成本和延迟。

特性上下文窗口记忆
保留时长临时——每次会话都重置持久——跨会话保留
作用范围扁平、线性——对所有 token 一视同仁,没有优先级概念分层、结构化——优先处理重要细节
扩展成本高——随输入规模增长低——只存储相关信息
延迟更慢——更大的提示带来更多延迟更快——经过优化且稳定
召回方式基于「就近」——离得远的就忘了基于意图或相关性
行为被动反应——缺乏连续性自适应——随每次交互而演化
个性化没有——每次会话都是无状态的深度——记住偏好与历史

上下文窗口帮助 Agent 在一次会话内保持一致。AI 记忆则让 Agent 能跨会话保持智能。即便上下文长度达到 10 万 token,缺少持久化、优先级和「显著性(salience)」,依然不足以支撑真正的智能。

为什么 RAG 不等于记忆

虽然 RAG(检索增强生成)和 AI Agent 记忆系统都通过检索信息来辅助 LLM,但它们解决的是非常不同的问题。

  • RAG 在推理时把外部知识引入提示词。它擅长用文档中的事实为回答提供依据(grounding)。
  • 但 RAG 本质上是无状态的——它对之前的交互、用户身份、当前问题与过往对话的关系,都毫无感知。

记忆则带来了连续性。它捕捉用户偏好、历史提问、决策与失败,并让这些信息在未来的交互中可用。

可以这样理解:

「RAG 让 Agent 答得更好。记忆让 Agent 行为更聪明。」

系统层面的关键差异

维度RAG:检索增强生成Agent 中的记忆
时间感知没有时间或先后顺序的概念跟踪交互的顺序、时序与演化
状态性无状态;每次查询相互独立有状态;上下文跨会话累积
用户建模绑定任务;与用户身份无关随用户学习并演化
适应性无法从过往交互中学习基于「什么有效、什么失败」来适应

你需要的是两者兼备——RAG 为 LLM 提供信息,记忆塑造它的行为。

Agent 记忆的类型:一个高层分类

在最基础的层面上,Agent 的记忆有两种形态:

  • 短期记忆:保存单次交互内的即时上下文。
  • 长期记忆:跨会话、跨任务、跨时间持久化知识。

就像人类一样,这两类记忆服务于不同的认知功能。短期记忆帮助 Agent 在当下保持连贯;长期记忆帮助它学习、个性化和适应。

进一步拆开看:

类型作用示例
工作记忆(短期)维持短时的对话连贯「刚才那个问题是什么来着?」
事实记忆(长期)保留用户偏好、沟通风格、领域上下文「你偏好 markdown 输出和简短回答。」
情景记忆(长期)记住具体的过往交互或结果「上次我们部署这个模型时,延迟上升了。」
语义记忆(长期)存储随时间积累的、概括化的抽象知识「涉及 JSON 解析的任务通常让你头疼,要不要给个快速模板?」

记忆的优势:Mem0 有何不同

译注:以下为厂商自述,可作为「一种记忆架构的设计取向」参考。

在 Mem0,AI 记忆是我们工作的核心。当其它 AI 系统把记忆当作事后补丁时,我们围绕「构建真正类人的记忆能力」搭建了整套架构:

  • 智能过滤(Intelligent Filtering):不是所有信息都值得记。Mem0 用优先级打分和上下文标签来决定什么被存下来。这避免了「记忆膨胀」,让 Agent 专注在重要的东西上——就像人类会下意识地过滤掉噪音。
  • 动态遗忘(Dynamic Forgetting):好的记忆系统需要有效地遗忘。Mem0 不把记忆当成一个静态的垃圾堆,而是让低相关度的条目随时间衰减,腾出空间和注意力。遗忘不是缺陷——它是智能记忆的一个特性。
  • 记忆巩固(Memory Consolidation):我们根据使用模式、近因和重要性,在短期和长期存储之间搬运信息,同时优化召回速度和存储效率。这模仿了我们内化知识的方式。
  • 跨会话连续性(Cross-Session Continuity):大多数 Agent 在会话结束时就重置了。Mem0 不会。我们的记忆架构跨会话、跨设备、跨时间段维护相关上下文。

AI 记忆的实战表现

看看记忆如何在真实场景中改变 Agent 的行为:

  • 客服 Agent:不再把每个投诉都当成全新问题,而是记住过去的问题和解决方案——带来更顺滑、更个性化的支持。
  • 个人助理:随时间适应你的习惯——比如根据你的作息(而不只是日历)来安排会议。
  • 编程 Copilot:学习你的代码风格、偏好的工具,甚至主动避开你不喜欢的写法。

记忆是 AI Agent 的地基

当每个 Agent 都能用上相同的模型和工具时,记忆将成为最显而易见的差异化要素。胜出的,不会只是那个「会回应」的 Agent,而是那个会记住、会学习、会与你一同成长的 Agent。

记忆成为 AI Agent 的地基,让它们从一次性工具变成长久的队友——尤其是当它建立在可互操作(interoperable)的分层之上时。

下一篇预告:本文打了个基础。接下来的文章会更深入:

  • 记忆在底层是怎么工作的——从架构、数据流,到实际集成。
  • 记忆在 Agent 系统中的应用,配可上手的示例。
  • 记忆的评估指标(召回率、显著性、老化)。

在那之前,记住这一句:

「如果你在思考人机交互的未来,记忆不是可选项。」

评论