Agent Memory 是什么?

考查重点:历史信息与后续决策。记忆保存过去交互、任务状态与经验,在后续决策按需取用;不是全部历史每轮拼接,写入/更新需有效范围

本题目录

参考答案

核心回答

Agent Memory 是 Agent 保存过去交互、任务状态和经验,并在后续决策中按需使用这些信息的机制。它让系统知道当前任务已经完成哪些步骤,也能在下一次对话中复用有效的用户偏好或历史事实。

常见地可以分为:短期或工作记忆,服务当前会话和任务,例如已确认参数、计划和工具结果;长期记忆,跨会话保留偏好、稳定事实或经过整理的经验。按内容还可以区分事实、事件经验和操作方法,这与保存多久是不同维度。

它的基本生命周期是:选择值得记的信息 → 保存 → 按当前任务检索 → 注入决策上下文 → 更新、合并或删除。例如用户明确说“以后报告都用非技术语言”,可以按记忆规则保存为偏好;后续生成报告时再读取,而不是每次加载全部历史对话。

展开说明

1. Memory 保存哪些信息

短期记忆通常包含近期对话;工作记忆更强调当前任务的执行信息,例如待办、已确认条件、已完成步骤和中间结果。它们可以结合使用,帮助 Agent 在多轮和多步执行中保持连续。

长期记忆面向跨任务复用的信息,例如用户持续有效的表达偏好、项目背景、重要历史决策和经过验证的经验。按内容看,语义记忆保存事实与知识,情景记忆保存发生过的具体事件,程序性记忆保存可复用的方法或行为规则。这些维度可以交叉组合:一条长期记忆既可能是用户偏好,也可能是一次任务经验。

Memory 不必全部是自然语言。当前订单号、任务阶段和偏好配置适合结构化字段,事件经验可以保留带来源的文本或记录,较长资料则按需检索。选择形式应方便后续准确读取和更新。

2. 写入和检索怎样形成闭环

写入从交互或任务结果中选取有价值的信息,区分明确事实、临时要求、假设和模型推断,保留主体、来源、适用范围及必要时间。重复信息可以归并,含糊内容先作为候选,不必把每句话都固化。

检索先按用户、项目或任务范围筛选,再决定匹配方式。用户的固定偏好可以按键直接读取;需要回忆相近经历时,可以结合语义、关键词和元数据检索。匹配不只看向量相似度,还要检查当前问题是否相关、信息是否有效以及是否有权限使用。

读取后的相关记忆被组织进本轮模型输入,帮助下一步决策;未召回的存储内容不会自动被模型看到。使用后根据新事实或用户更正更新记录,过期、错误或要求删除的内容也应退出后续使用。

3. 在应用里通常存在哪里

应用层 Memory 可以使用数据库、键值存储、文件、向量索引等实现。存储完整消息或执行日志便于追溯,面向决策的记忆则可以是摘要、结构化状态和选出的事实;两者不必完全相同。

以 LangGraph 为例,checkpointer 保存某条 thread 的图状态,支持会话连续和执行恢复;Store 保存图状态以外、可跨 thread 使用的信息。当前任务的参数与进度可以放在前者,跨会话偏好可以放在后者。存储范围与持久化能力仍要分别配置:内存后端适合临时运行,需要重启后保留时使用可靠的持久化后端。

4. 记忆为什么还需要维护

保存下来不等于永远正确。用户搬家、项目版本升级或任务条件改变,都可能使旧记录失效;一次“这次写详细些”也不一定改变平时偏好。记忆需要可追溯、可更正和可删除,读取时尊重当前适用范围,更新时避免旧信息反复覆盖新值。具体判断可看记忆与当前上下文冲突时怎样处理。

常见追问

长期记忆一定要用向量数据库吗?

不一定。结构稳定、能按用户或项目明确定位的信息,用数据库或键值查询可能更直接;向量检索适合语义相近、难以用固定键定位的内容。也可以组合,但相似度不能替代身份、字段和有效性检查。

Memory 和 RAG 有什么关系?

两者都可以从外部存储取信息供模型使用。Memory 更强调 Agent 交互和任务中需要延续的信息,RAG 更强调从知识来源检索证据;实现组件可以复用,资料也可以个性化。关键是分清信息来源、用途、权限和更新方式。

加了 Memory,模型就自动学会这些内容了吗?

应用通常是在推理时重新提供相关记录,并未因此更新模型参数。后续任务能否用到它,还取决于保存、检索和上下文组织;只有把数据库写满,而没有正确读取,也不能发挥记忆作用。

对应教程

  • LangGraph 高级特性:阅读 Checkpointer 与 Store 的不同范围,理解当前任务状态和跨会话信息怎样保存与使用。

参考资料

  • 国内:JavaGuide:Agent 记忆系统设计:采用记忆类型及编码、存储、检索、整理与遗忘的生命周期,说明正文中 Memory 为何不限于聊天历史。
  • 国内:zero2Agent:记忆与上下文:参考当前任务状态、关键约束和长期信息召回,说明保存的信息怎样帮助多轮与多步决策。
  • 国内:WeThinkIn:记忆类型与读写流程:依据作用范围、内容与存储形式的区分,说明正文中候选写入、相关读取及长期更新的不同职责。
  • 国外:LangMem:长期记忆概念:采用事实、事件经验和方法记忆的区分,说明正文中信息用途如何影响保存与读取。
  • 国外:LangChain:Persistence:依据 checkpointer 与 Store 的范围和内存后端边界,将正文中的记忆概念对应到具体框架职责。

相关面经

6 篇

BIGO

客户端开发工程师
秋招一面
查看原面经 →
memory

百度

Go 后端开发工程师(Agent)
实习一面
查看原面经 →
LongTermMemory 是做什么的?

京东

后端开发工程师
一面
查看原面经 →
说说memory

深圳璇溟科技有限公司

Agent 开发工程师
实习
查看原面经 →
了解Agent memory 吗?

宁波银行

校招秋招
查看原面经 →
记忆
展开剩余 1 篇面经

拼多多

AI Agent
秋招一面
查看原面经 →
记忆

收录题集

5 个来源,共5 份题集

Agent Memory进阶追问

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

Agent 与自主系统

AMIT SHEKHAR · ai-engineering-interview-questions · 1 条原题

查看题集 →

Agent记忆与上下文工程

Rocky Ding · AIGC-Interview-Book · 2 条原题

查看题集 →

Agent 面试题

Guide · JavaGuide · 1 条原题

查看题集 →

AI Agent 面试 Top50 必刷题

程序员马丁 · ai-handbook · 2 条原题

查看题集 →

相关题目

4 题