Agent 记忆怎么设计才靠谱?这篇论文把 10 种方案拆开测了一遍
Agent 记忆系统不能只靠“把历史对话塞进向量库”解决。长期运行的 Agent 需要处理的是一套数据系统问题哪些信息值得留下旧事实怎么更新冲突版本怎么处理查询时如何找回正确证据。arXiv 论文《Memory in the LLM Era: Modular Architectures and Strategies in a Unified Framework》做了一件很有用的事它没有只介绍某个新方法而是把 10 种代表性 Agent Memory 方案放到同一个框架里拆开比较。作者把记忆系统拆成四个模块信息提取从对话里抽什么记忆管理新旧记忆怎么合并、更新和过滤记忆存储记忆用什么结构保存信息检索查询时怎么找回相关内容这套拆法的价值在于它让我们能看清一个记忆方案的能力到底来自哪里。分数高不一定是因为检索强也可能是因为存储结构更好或者更新策略更稳。论文给出的工程判断也比较明确层次结构通常更稳原始证据不能丢关系连接很重要复杂的 LLM 自主管理不一定比清晰的规则式架构更划算。为什么 Agent 记忆不是普通聊天记录LLM 默认没有长期状态。每次调用模型时模型只能看到当前 prompt 里的内容。用户感觉模型“记得之前说过什么”通常是系统把历史上下文重新塞回输入窗口。短对话可以这么做长期 Agent 不行。个人助手需要记住用户偏好、项目背景和最近变更代码 Agent 需要记住仓库结构、失败测试和用户长期约定科研 Agent 需要在多轮探索里积累证据而不是每轮从零开始。这些信息不是聊天记录的附属品而是下一步行动的依据。只把历史拼进上下文会遇到三个瓶颈历史越来越长token 成本持续上涨旧事实和新事实会冲突需要版本判断相关证据可能分散在多个 session不能只靠相似度检索所以 Agent Memory 更接近一套长期运行的数据基础设施而不是一个 prompt 技巧。论文原图长上下文提示把历史信息直接塞进 prompt记忆增强提示会先经过记忆模块选择和组织相关内容。四模块框架把记忆系统拆成可比较的零件论文提出的统一框架很适合工程读者理解。模块要解决的问题常见做法信息提取从当前消息里抽什么原文归档、摘要提取、图谱三元组抽取记忆管理新旧记忆怎么合并和更新连接、整合、层级迁移、更新、过滤记忆存储记忆以什么结构保存扁平存储、层次存储、向量存储、图存储信息检索查询时怎么找回记忆关键词检索、向量检索、结构检索、LLM 辅助检索不同方案看起来名字很多底层差异基本都落在这四个模块里。例如Mem0 更强调从对话里提取和更新记忆Mem0^g 加入图谱式表达MemoryOS 把短期、中期、长期记忆分层MemTree 和 MemOS 用树结构组织多粒度信息Zep 更依赖图结构和社区组织。拆成模块后比较就更清楚了一个系统可以检索很强但信息提取阶段丢了细节也可以存储结构很好但更新策略过于依赖 LLM 工具调用规模变大后稳定性下降。论文原图作者把 Agent Memory 拆成信息提取、记忆管理、记忆存储和信息检索四个模块。信息提取结构化之前先保住原始证据论文把信息提取分成三类。第一类是直接归档。系统保存原始消息和时间戳不做额外加工。它不聪明但不容易丢细节。第二类是摘要式提取。系统用 LLM 从一段对话里提炼关键词、主题、标签或简短摘要。摘要能减少冗余但压缩过程也可能抹掉上下文。第三类是图谱式提取。系统从文本里抽出实体和关系转成“主体-关系-客体”的三元组。图谱方便做关系推理但抽取错误会沿着后续存储和检索继续放大。论文里的一个观察很实用结构化表示不一定带来更完整的记忆。Mem0 的图谱版本 Mem0^g 在一些任务上并不总是优于普通 Mem0。一个合理解释是三元组保留了关系却可能压掉语气、上下文和细粒度事实。长期记忆需要结构但结构不能替代证据。更稳的设计是双轨保存结构化信息负责组织和检索原始对话片段负责校验和补细节。论文原图信息提取可以直接归档也可以做摘要提取或图谱式实体关系抽取。记忆管理难点是更新不是写入记忆管理决定系统如何维护一份“会变化的长期状态”。论文总结了五类管理操作连接相关经历把语义相近、时间相近或上下文相关的记忆连起来整合碎片信息把重复或零散内容压缩成摘要、主题或用户画像跨层级迁移把短期记忆逐步转成中期、长期记忆更新已有记忆处理新旧事实冲突保持记忆一致过滤过时内容删除、降权或标记不再有效的信息LLM 参与记忆管理很有吸引力。系统可以让模型自己决定什么时候合并、什么时候更新、什么时候调用工具看起来更灵活。问题是记忆规模变大后LLM 要处理的不只是语义判断还包括工具调用、索引位置、冲突版本和状态维护。任何一步不稳定都会影响后续检索。论文在上下文扩展实验里观察到类似现象MemOS、MemGPT 这类更接近 “LLM-as-OS” 的方案在上下文规模扩到 200% 时更容易受到候选空间变大、工具调用复杂和索引冲突的影响。MemoryOS 使用更明确的规则式分层管理扩展稳定性反而更好。工程上可以把结论说得更直接底层、高频、影响一致性的记忆操作需要确定性机制托底LLM 更适合参与需要语义判断的环节。论文原图记忆管理包含关联、整合、跨层级迁移、更新和过滤等操作。存储结构单层向量库不够用论文从两个维度讨论存储。第一个维度是组织方式扁平存储还是层次存储。扁平存储把所有记忆放在同一层比如 JSON 文件、FIFO 队列或统一向量库。实现简单但历史变多以后检索空间会变脏相关内容更容易被噪声淹没。层次存储会给记忆分生命周期。短期记忆保存最近上下文中期记忆保存主题片段长期记忆保存稳定偏好或高价值事实。第二个维度是表示方式向量还是图。向量适合语义相似度检索图适合关系、层级和多跳推理。两者不是竞争关系而是解决不同问题。实验结果支持这个判断LONGMEMEVAL 的 7B 设置下MemTree 拿到最高 Overall F136.92LOCOMO 上MemOS 在 7B 和 72B 下分别拿到最高 Overall F137.05 和 42.79LONGMEMEVAL 的 72B 设置下MemoryOS 拿到最高 Overall F146.04这些高分方法的共同点是它们都没有把记忆压成单层向量空间。树结构和分层结构能同时保留上层概括和下层细节。检索时先定位范围再下钻到证据比在一个巨大扁平空间里直接找 top-k 更可靠。检索机制相似度不等于推理长期记忆系统不能只依赖向量相似度。论文把检索机制分成四种关键词检索适合名字、术语和精确短语向量检索适合同义表达和语义接近内容结构检索适合沿图或树做扩展LLM 辅助检索适合改写查询、识别实体、判断隐含依赖向量检索能找到“语义接近”的片段但不会天然建立事实之间的关系。比如用户问“我上次提到的那个项目后来换负责人了吗”系统可能需要跨多个会话串起项目名称、负责人、更新时间和最新状态。单纯 top-k 相似度可能召回几个相关片段但不保证能把版本关系和多跳关系组织起来。论文也观察到缺少关联操作的方法例如 MemoryBank、MemGPT、MemoChat在 LONGMEMEVAL 的 Multi-Session 任务和 LOCOMO 的 Multi-Hop 任务上表现偏弱。长期记忆不是更长的搜索框而是一个能保存关系、版本和证据链的系统。实验设置两个长期记忆 benchmark作者评测了 10 个代表性 Agent Memory 方法A-MEM、MemoryBank、MemGPT、Mem0、Mem0^g、MemoChat、Zep、MemTree、MemoryOS、MemOS。评测数据集主要有两个。LOCOMO是长期人类对话问答任务。每段对话平均包含 27.2 个 session、约 588.2 轮对话问题类型包括单跳检索、多跳检索、时间推理和开放域知识。LONGMEMEVAL是长期用户-AI 交互记忆评测。它包含 500 个高质量问题每个问题对应平均 50.2 个 session、约 115,000 tokens 的历史上下文评估信息提取、多会话推理、知识更新和时间推理。实验指标使用 F1 和 BLEU-1。默认主干模型是 Qwen2.5-7B-Instruct同时比较 Qwen2.5-72B-Instruct、LLaMA3.1-8B 和 GPT-4o-mini。作者还把方法放到统一框架下重实现并统一使用 all-MiniLM-L6-v2 作为 embedding 模型。这个设置减少了“每个方法各测各的”带来的比较偏差。强模型仍然重要但系统不能只靠模型硬推记忆系统能找回历史信息但找回证据不等于完成推理。论文里一个明显现象是时间推理任务很依赖主干模型规模。比如在 LOCOMO 上MemoryOS 和 MemoChat 从 Qwen2.5-7B 换到 Qwen2.5-72B 后时间推理表现出现超过 2 倍的提升。原因很简单时间问题要求模型理解“先后关系”“更新关系”“当前有效事实”。如果系统只在最后一步把证据塞给模型再让模型临场判断弱模型更容易出错。更稳的方向是把时间能力变成系统结构的一部分例如显式时间戳、版本记录、失效标记和时间检索算子。模型负责解释和生成系统负责提供可靠的时间线。高分通常更贵架构决定性价比论文专门分析了 token 成本。整体趋势不意外性能更高的方法通常消耗更多 token。复杂摘要、记忆更新、多步检索和 LLM 管理都会带来额外调用。更有用的结论是成本不只取决于“用了多少 LLM”还取决于记忆架构。MemTree 和 MemOS 准确率高但 token 开销也高。MemoryOS 不一定每项第一却在效果和 token 成本之间更均衡。MemoChat、MemoryBank 这类简单方法 token 成本低但准确率也上不去。论文还指出一个容易被忽略的优化方向调整信息处理粒度。如果每一轮对话都单独抽取、更新和插入记忆系统的成本会随着会话增长快速上升。更合理的方式是把多个 dialogue turns 作为一个片段处理。MemoryOS 会把对话组织成 segment 再进入中期记忆MemoryBank 也有按天汇总的思路。记忆粒度不是越细越好。太细会让索引膨胀、更新昂贵、检索噪声变大适当粗粒度反而能提高成本效率。论文原图不同记忆方法在 LOCOMO 上的总体性能和平均 token 成本权衡。论文原图对话 session 增加后不同记忆方法的平均 token 成本变化。上下文越大检索噪声越难压住作者用 LONGMEMEVAL 构造了 50%、100%、150%、200% 四种上下文规模。结果很直接上下文规模从 50% 扩到 200% 后几乎所有记忆架构的 F1 都会下降。性能下降的主要原因不是模型突然变弱而是检索空间变大以后无关信息密度上升信噪比下降。知识更新任务尤其敏感。这类问题要判断“当前有效事实是什么”。历史里可能同时存在多个互相冲突的旧版本。用户过去说自己住在上海后来搬到深圳再后来改到杭州系统必须回答杭州而不是从历史里随机召回一个城市。时间推理相对稳定一些因为时间关系有明确顺序线索。“之前”“之后”“最近一次”这类关系不完全依赖语义相似度。工程评测不能只看小上下文。一个记忆系统在 10 条历史上表现稳定不代表它在 1000 条历史上还能可靠。论文原图LONGMEMEVAL 上下文规模从 50% 扩展到 200% 后多数方法出现性能衰减。论文原图知识更新、时间推理等任务类别对上下文扩展压力的敏感度不同。早期证据更容易被遗忘论文还做了位置敏感性实验。作者把关键证据分别放到上下文早期、中期和后期观察系统能否稳定找回。多数方法都有近因偏差后期证据更容易被召回早期证据更容易被后续对话冲淡。论文给了几组数字MemTree 的 Overall F1 从 Early 的 34.13 提升到 Late 的 37.37MemOS 的 Overall F1 从 Early 的 29.10 提升到 Late 的 34.40MemoryOS 的 Late-Early 差距较小只有 1.29 F1近因偏差不一定总是坏事。用户刚刚修改地址时系统应该优先使用最新信息。问题在于系统不能把“最新”误当成“永远正确”。有些任务需要回忆旧事实例如“我第一次提到这个项目时的目标是什么”。如果记忆系统没有版本管理和证据保留机制更新任务和历史回忆任务会互相干扰。论文还发现会话局部信息更容易受位置影响长期偏好相对稳定。原因是偏好通常会被多次提炼而一次性细节更容易在后续摘要和更新中被稀释。论文原图关键证据放在 Early、Middle、Late 不同位置时记忆方法的整体表现不同。新方法树结构加三层记忆基于实验分析作者设计了一个新的记忆方法。它不是从零发明概念而是组合已有方案里的有效模块借鉴 MemTree、MemOS 的树状组织借鉴 MemoryOS 的短期、中期、长期分层用更粗粒度的 segment 降低 token 成本从多个层级独立检索再合并上下文工作流可以简化成这样新消息进入短期记忆 ↓短期记忆满了以后最旧的一部分按语义切成片段 ↓片段进入中期记忆树叶子节点保留片段摘要父节点保存聚合摘要 ↓经常被访问、最近仍然重要的片段通过 heat score 晋升到长期记忆 ↓查询时同时检索短期、中期、长期记忆再交给 LLM 生成答案这个设计承认不同记忆有不同生命周期。短期记忆保证当前上下文连续中期记忆用树结构承接主题和片段长期记忆保存高价值内容。检索时短期记忆可以全量带上中期记忆同时做向量检索和树上的 beam search长期记忆再做向量检索。相比把所有历史塞进一个库这种分层检索更容易控制噪声和成本。论文原图新方法组合树结构和短期、中期、长期三层记忆从多个层级独立检索再合并上下文。新方法的优势是综合性价比在 LONGMEMEVAL 上作者的新方法 Overall F1 是 38.79。相比最强现有 baseline MemTree 的 36.92整体相对提升 5.17%。在 LOCOMO 上新方法也拿到最好 OverallQwen2.5-7B38.03Qwen2.5-72B43.87它的平均 token 开销低于每段对话 450 tokens。这个数字值得关注因为很多记忆方法不是不能提高分数而是分数上去以后成本也跟着上去。新方法并不是每个子任务都第一。LOCOMO 里MemOS 在多跳检索和时间推理等复杂任务上仍然很强。GPT-4o-mini 设置下MemOS 的 Overall F1 也略高于作者方法。作者方法的优势更接近工程上的综合性价比整体分数高token 成本低换模型后表现也比较稳定。论文原图作者新方法在保持较好效果的同时把平均 token 成本控制在较低水平。真实系统通常不需要一个只在单项任务上极限刷分的方案而需要一个不贵、不脆、历史规模变大后还能工作的记忆架构。做 Agent 记忆系统可以先记住四条原则第一先搭层次结构再引入复杂智能管理。很多团队一开始就想让 LLM 自动决定记忆怎么写、怎么合并、怎么删。这个方向有空间但也容易把系统变成黑箱。更稳的起点是短期、中期、长期分层再给每层定义明确的迁移规则。第二保留原始证据。摘要、标签、三元组、embedding 都是索引不是事实本身。只保留加工后的记忆在需要细节时很容易出问题。结构化信息负责提速原始片段负责校验。第三给记忆加版本意识。长期 Agent 一定会遇到知识更新。用户偏好会变项目状态会变组织关系会变。直接覆盖旧记忆会丢掉解释链路只追加新记忆又会让旧版本污染检索。更合理的做法是保留历史同时标注有效期、更新时间、置信度或失效状态。第四评测要同时看准确率、成本、规模和位置。只测准确率不够。记忆系统还要测 token 成本、上下文扩大后的衰减、早期证据能不能找回、换主干模型后是否稳定。Demo 里的好表现不能自动推导到生产环境。结尾记忆系统要有工程边界这篇论文给 Agent Memory 做了一次系统性的拆解评测。它把记忆从“模型好像记住了”拉回到工程问题信息提取、记忆管理、存储结构、检索机制每一层都会影响最终回答。如果把论文结论转成实践建议可以这样落地用层次结构管理记忆生命周期用结构化索引提高检索效率用原始证据保证可追溯再让 LLM 参与需要语义判断的环节。不要一开始就追求全自动记忆管理。先明确四个问题哪些信息应该进入记忆新旧事实冲突时怎么更新查询时先检索哪一层旧证据什么时候失效什么时候只降权把这些边界设计清楚Agent 记忆才会从“看起来聪明”变成“长期可靠”。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】