首页 > 教程攻略 > ai资讯 >Agent技术解读:Memory记忆模块

Agent技术解读:Memory记忆模块

来源:互联网 时间:2026-08-27 14:31:22

引言

大半年前,我们聊过基于LLM的Agent。那篇《大模型智能体 LLM Agent》里其实就点破了一件事:Agent是大模型与场景之间那座价值传递的桥梁。规划、记忆、工具使用——几个核心组件缺一不可。

今天,咱们就把其中一个拎出来细聊:Memory,也就是记忆模块。

(1)什么是记忆?

先说到底什么是记忆。往简单了说,记忆就是信息从被感知、到存储、再到被检索的整个过程。人类大脑里,大致分为三种:

  • 感官记忆

    :最原始的记忆阶段。视觉、听觉、触觉,在刺激结束后还能保留几秒钟的“余音”。比如你刚看到的画面、刚听到的那个声音。细分下来有图标记忆(视觉)、回声记忆(听觉)、触觉记忆。
  • 短时记忆

    (也叫工作记忆):你当下能意识到的那一小撮信息。它支持你学习、推理,但容量大约只有7个单元,持续时间不过20-30秒。
  • 长期记忆

    :信息可以放上几天、甚至几十年,容量近乎无限。它又分两种:
    • 显式/陈述性记忆:可以主动回忆起来的,比如情景记忆(经历)和语义记忆(事实)。
    • 隐式/程序性记忆:无意识的,比如骑自行车、在键盘上打字,这类自动运行的技能。

到了语言模型这边,概念也就对上了:

  • 感官记忆

    :就是原始输入(文本、图像)对应的嵌入表征。
  • 短期记忆

    :就是上下文学习(in-context learning),受限于Transformer的窗口大小,非常短,影响范围有限。
  • 长期记忆

    :相当于智能体在查询时可用的外部向量存储,通过快速检索来访问。

所以你看,记忆模块就像是Agent的大脑——帮助它积累经验、自我进化,让行为更一致、更合理、更有效。

这种设计灵感,其实直接来自对人类记忆认知过程的研究。人类记忆的发展路径是从感觉记忆开始,记录原始感知;再到短期记忆,临时保存;最后才进入长期记忆,固化下来。Agent的记忆结构,几乎就是沿着这条路来的:短期记忆对应上下文窗口,长期记忆对应外部的向量存储,可以随时查询。

(2)LLM记忆从何而来?

记忆的来源大致有三条路:

  • 内部任务信息(Inside-trial Information)

    :当前任务执行时产生的信息。比如一次对话里,Agent要记住上下文才能生成连贯的回答。只跟眼前的活儿有关。
  • 跨任务信息(Cross-trial Information)

    :跨越多个任务积累下来的经验、教训和模式。比如做旅行计划,Agent能从用户历史预订的机票、酒店和反馈中,优化后续的执行策略。
  • 外部知识(External Knowledge)

    :Agent与环境交互之外获取的信息。可能是通过API、数据库或在线资源(比如维基百科)拿到的。

从落地案例分布来看,像ExpeL这类工作,就把这三种方式都揉进了流程里。

(3)LLM记忆如何保存?

保存形式主要有两种:文本形式和参数形式。各有千秋,适合的场景也不同。

  • 如果只是想快速回忆最近的对话,文本形式更顺手。
  • 如果要存储大量知识,或者需要一个稳定可靠的知识库,参数形式更有优势。

(a)文本形式

好处很明显:容易理解、容易实现、读写速度快。但问题也直白——记忆太长就占地儿,影响处理速度。文本形式记忆还能再分:

  • 存储完整的交互信息(比如ReAct)
  • 只存最近的交互信息
  • 检索到交互信息和外部知识

像MemGPT,就分别体现了短期记忆和召回记忆。Qwen-Agent里,则通过chatml特有的标记来切分历史会话,只在最后一轮拼接ReAct的prompt。

(b)参数形式

这种方式更高级。不直接存储文字,而是把记忆转化成模型参数——像把知识压成精华。好处是不受文本长度限制,存储效率高;代价是写入时计算量大,而且解释起来不如图文直观。技术手段包括微调(fine-tuning)和知识编辑(editing)。微调让模型快速学会特定领域知识,而知识编辑能精确地更新或删除某条记忆,不影响其他内容。像经典的Character-LLM就是用微调方式把角色特征写进参数里。

(c)图谱

还有个更高级的形态:知识图谱。微软的GraphRAM,就是让LLM从语料里挖掘实体和关系,建成知识图谱给下游用。形态上,越来越像人。

很多人把Neo4j这类图数据库用起来,效果不错:

用Cypher语言查节点,查完结果再喂给LLM——这条路走得通。

(4)LLM记忆如何工作?

实际落地时,分两派。

有的系统只模拟人类的短期记忆,靠上下文学习实现,记忆直接写在prompt里。有的系统则采用了混合记忆架构,把短期和长期记忆都模拟出来:短期缓冲最近感知,长期巩固重要信息。

记忆存储格式上,可以用自然语言,也可以用嵌入向量。

操作层面,Agent通过三个关键动作来与环境交互:

  • 记忆阅读

    :提取有意义的信息,增强行动能力。
  • 记忆写入

    :把感知到的环境信息存进记忆里。
  • 记忆反思

    :模拟人类审视和评估自己认知、情感和行为的过程。

这套东西,很像LLM的大脑运作机制,分为三大块:

① 记忆写入

:对应短期记忆。接收到新信息(比如聊天)时,用特殊编码存进“大脑”。例如MemGPT里,智能体会根据上下文自己决定要不要更新记忆;MemoGPT则在聊天时做总结、提取主题和关键词,方便后续查找。

② 记忆管理

:对应长期记忆。整理短期记忆里的信息,归归类,找出最重要的,忘掉次要的,保持大脑清晰高效。MemoryBank能从对话中提炼“每日大事记”,同时不断评估,生成个性特征;Voyager根据环境反馈优化记忆;Generative Agents让智能体自我反思,从事件中提炼抽象答案;GITM则总结多个计划的关键行动,提取最重要的步骤。

③ 记忆读取

:用记忆解决问题。ChatDB用SQL操作完成阅读;MPC从记忆池里检索相关内容,用思维链示例方式忽略次要信息;ExpeL则用Faiss向量库做记忆池,找出与当前任务最相似的k个成功示例。