一个让人头疼的场景
你和 AI 助手聊了三个月:项目进度、会议安排、个人偏好、临时决策……对话越积越长,某天你问它一句:
「 Caroline 在 Nate 参加电竞比赛那个月做了什么?」
这个问题看似简单,实则要跨会话、跨人物、跨时间线做多跳推理——先找到 Nate 的比赛记录,再锁定对应月份,最后关联 Caroline 的活动。
现有记忆增强 Agent 的主流做法是:先检索,再推理。用 embedding 相似度或知识图谱的固定 -hop 扩展,一次性把 top- 记忆片段塞进上下文,然后让 LLM 作答。
问题在于:检索方向在推理开始前就定死了。 中间发现的新线索没法反过来调整检索路径。结果就是——检索了一堆「电竞比赛」相关片段,却漏掉了关键的「七月」这个时间锚点。
被动检索只找到 Nate 的电竞比赛记录;主动重建通过推理推断出「七月」这一时间线索,进而定位 Caroline 的活动。
认知神经科学的一个老结论:回忆更像按线索一点点「拼」出来,不是打开仓库把整段记忆原样读走。 新加坡国立大学( NUS )团队把这一洞见落地到了 LLM Agent 上,论文已被ICML 2026接收。
被动检索的两条死胡同
现有记忆方案大概就两条路,踩的坑各不一样。还是那个 Caroline 的问题:相似度检索就像拿问句原话直接搜聊天记录——搜出来的全是 Nate 的比赛记录,月份这条线索根本进不了候选集。
第一类:相似度检索( Similarity-based Retrieval )。 代表方法包括 MemoryBank 、 Mem0 等。检索策略可形式化为:
其中 是查询, 是记忆单元,s i m ( ⋅ , ⋅ ) \mathrm{sim}(\cdot,\cdot)sim(⋅,⋅)是固定的相似度函数。检索方向完全由查询决定,推理过程中无法调整。
第二类:图结构检索( Graph-based Retrieval )。 代表方法包括 A-Mem 、 Zep 等。在相似度检索的基础上,沿预定义的图结构做 -hop 邻居扩展:
图结构确实能捕捉实体间关系,但扩展路径仍是预先固定的——无法根据中间证据动态剪枝或转向。
被动检索(左)一次性选定记忆片段; MRAgent 的主动重建(右)在推理过程中多轮探索、剪枝、调整方向。
MRAgent 的核心主张很直白:检索应该跟着推理一起走——每发现一条新证据,就改一次下一步要查什么;别在动笔推理前就把记忆片段全部定死。
MRAgent : Cue-Tag-Content 关联记忆图
MRAgent 的核心其实就两件事:先把记忆建成一张能走的图,再让 LLM 推理时真的在图上走。
MRAgent 整体架构:(a) 从对话中构建 Cue-Tag-Content 关联记忆图;(b) 查询到来时, LLM 在图上执行主动记忆重建。
Cue-Tag-Content 三层结构
记忆被建模为异构图M = ( C , V , R ) \mathcal{M} = (\mathcal{C}, \mathcal{V}, \mathcal{R})M=(C,V,R):
■Cue (线索)c ∈ C c \in \mathcal{C}c∈C:细粒度关键词,如实体名、属性、时间标记
■Content (内容)v ∈ V v \in \mathcal{V}v∈V:具体记忆条目
■Tag (标签):连接 Cue 与 Content 的语义桥梁,编码关联关系
三者通过三元组( c , g , v ) ∈ R (c, g, v) \in \mathcal{R}(c,g,v)∈R相连。 Tag 的关键作用是在访问昂贵的 episodic 内容之前,先提供语义导航——避免在大图上做无约束的 -hop 扩展导致组合爆炸。
论文定义了两个映射算子,支撑两阶段检索:
先通过 Cue 激活候选 Tag ,再基于选定的 Tag 检索 Content——把关联推理和内容检索解耦,让选择性访问在大规模图上变得可行。
多粒度记忆层
受人类记忆分层启发, MRAgent 把 Content 组织为三个功能层:
| 记忆层 | 存储内容 | 典型用途 |
|---|---|---|
| Episodic (情景) | 特定时间点的具体事件 | 时间推理、事件回溯 |
| Semantic (语义) | 稳定的个人属性、偏好、事实 | 跳过冗长历史直达目标知识 |
| Topic (主题) | 跨多个 episode 的抽象模式 | 自顶向下定位相关事件簇 |
情景记忆沿统一时间线组织,支持时间约束;语义记忆通过 aspect-level Tag 锚定到实体线索;主题层则提供 自顶向下的跳转,先锁定主题再下钻到具体 episode 。
记忆填充通过 LLM 蒸馏管道自动完成:对话流被切分为 episode 单元 ,再由 LLM 提取 Tag 和 Cue :
构建阶段保持轻量,复杂的关系推理推迟到检索阶段按需执行——这是后续 Token 效率优势的重要来源。
主动重建:推理与检索融为一体
MRAgent 把记忆访问形式化为主动重建过程,维护显式重建状态:
■Z ( t ) \mathcal{Z}^{(t)}Z(t):活跃集,包含当前步骤待探索的 Cue 、 Tag 、 Content 候选
■H ( t ) \mathcal{H}^{(t)}H(t):重建上下文,前几步累积的证据
给定查询后, Agent 先提取细粒度 Cue 并匹配存储线索,初始化S ( 0 ) = ( Z ( 0 ) , ∅ ) \mathcal{S}^{(0)} = (\mathcal{Z}^{(0)}, \varnothing)S(0)=(Z(0),∅),然后进入迭代循环。
主动记忆重建算法:每轮由 LLM 选择遍历动作、执行图遍历、路由剪枝、更新状态,直到证据充分或探索收益递减。
三类遍历动作
遍历动作集A = Π _ 1 , … , Π _ m \mathcal{A}={\Pi\_1,\ldots,\Pi\_m}A=Π_1,…,Π_m包含前向和反向两类:
前向遍历——沿 Cue→Tag→Content 方向扩展:
反向遍历——从已检索的 Content 反向激活新的 Cue 和 Tag ,根据中间证据调整探索方向:
每轮三步走
1.LLM 推理与动作选择:基于查询 、累积上下文H ( t ) \mathcal{H}^{(t)}H(t)和活跃集Z ( t ) \mathcal{Z}^{(t)}Z(t),选择本轮遍历动作A ( t ) ⊆ A \mathcal{A}^{(t)} \subseteq \mathcal{A}A(t)⊆A
2.受控图遍历:执行选定动作,生成候选节点集Z ~ ( t + 1 ) \widetilde{\mathcal{Z}}^{(t+1)}Z(t+1),由 LLM 选择的方向引导,避免穷举扩展
3.LLM 路由与状态更新:评估语义关联,剪枝无关分支,更新活跃集和重建上下文
循环持续直到 LLM 判定证据充分,或进一步探索不太可能带来新信息。
理论保证:主动检索严格强于被动检索
论文从近似理论角度给出了形式化证明。给定检索预算 ,定义两个假设类:
■H L M _ p a s s i v e ( T ) \mathcal{H}^{\mathrm{LM}}\_{\mathrm{passive}}(T)HLM_passive(T): LM 在推理前固定 次非自适应检索所能实现的预测器集合
■H L M _ a c t i v e ( T ) \mathcal{H}^{\mathrm{LM}}\_{\mathrm{active}}(T)HLM_active(T): LM 可做 次自适应检索所能实现的预测器集合
定理(主动检索严格强于被动检索):对任意 ,
直觉上,主动检索能学到被动检索能学的任何函数,反之则不成立。这里给出的是表达能力上的严格分离,远超普通工程 trick 。
人类记忆重建过程与 MRAgent 架构的功能对应关系:线索触发→关联传播→渐进重建。
实验结果:性能与效率双杀
基准与设置
在两个长程记忆 benchmark 上评估:
■LoCoMo:长对话记忆理解,覆盖 multi-hop 、 temporal 、 open-domain 、 single-hop 四类问题
■LongMemEval:跨多 session 的长期记忆评估
基线包括 RAG 、 LangMem 、 A-Mem 、 MemoryOS 、 Mem0 。骨干模型用 Gemini-2.5-Flash 和 Claude-Sonnet-4.5 ,评估指标为 F1 和 LLM-Judge ( J )。
LoCoMo 主结果
Claude 骨干下, MRAgent 在四类问题上全面领先:
| 问题类型 | 最强基线 J | MRAgent J | 提升 |
|---|---|---|---|
| Multi-hop | 75.88 (Mem0) | 90.19 | +18.9% |
| Temporal | 80.68 (LangMem) | 85.34 | +5.8% |
| Open Domain | 56.25 (Mem0) | 71.57 | +27.2% |
| Single hop | 83.12 (LangMem) | 91.10 | +9.6% |
| Overall | 78.61 (LangMem) | 88.32 | +12.4% |
Gemini 骨干下更夸张——Overall J 从 Mem0 的 68.31 跳到 84.21 ,相对提升 23.3%。 Multi-hop 的 J 得分达到 75.17 ( Mem0 为 68.79 ), Temporal 从 61.68 飙到 80.37 。
Multi-hop 和 Temporal 恰恰是被动检索最吃力的题型——需要跨片段拼接证据、对齐时间线。 MRAgent 的多轮重建机制在这些场景优势最大。
LongMemEval 主结果
| 设置 | 最强基线 J | MRAgent J |
|---|---|---|
| Multi-Session | 56.39 (MemoryOS) | 68.42 |
| Single-Session | 90.00 (A-Mem) | 92.85 |
| Temporal | 45.71 (LangMem) | 68.42 |
| Preference | 46.67 (MemoryOS) | 66.67 |
| Overall | 54.92 (MemoryOS) | 72.95 |
相对最强基线提升 32%。换 Claude 做检索后( MRAgent*), Overall J 进一步到 86.76 。
Token 与运行时:效率碾压
LongMemEval 上每样本总 Token 消耗(含构建+检索):
| 方法 | Token 消耗 | 运行时(s) |
|---|---|---|
| A-Mem | 632k | 1,122 |
| MemoryOS | 273k | 3,136 |
| LangMem | 3,268k | 1,210 |
| Mem0 | 245k | 533 |
| MRAgent | 118k | 586 |
MRAgent 的 Token 消耗仅118k——不到 A-Mem 的 1/5 ,不到 LangMem 的 1/27 。运行时 586s ,与最快的 Mem0 ( 533s )基本持平。换个算账方式:如果你的 Agent 按 Claude/Gemini 按 Token 计费,同样预算下 MRAgent 能多跑 4–5 轮重建;对客服 Bot 、个人助手这类长对话产品,这直接决定能不能在 SLA 内完成 multi-hop 推理。
效率来源:构建阶段保持轻量,复杂关系推理推迟到检索阶段按需执行; Tag 在访问昂贵 episodic 内容前提供语义导航,提前剪枝无关路径。
消融实验:每个组件都有用
LoCoMo multi-hop 消融实验( Claude 骨干):对比 CE 、 CTE 、 CTC 三种记忆结构,以及是否启用主动推理。
论文对比三种记忆结构变体:
■CE( Cue→Episode ):直接索引,最简结构
■CTE( Cue-Tag-Episode ): Tag 中介的情景检索
■CTC( Cue-Tag-Content ):完整记忆结构,含语义层
消融把三层结构逐一拆掉,最让我在意的一组对比是:光有 CTC 图结构但关闭主动推理,性能会明显回落——图建得再好,不让 LLM 在上面走几步, multi-hop 照样拼不齐。
多轮推理:证据逐步累积
LoCoMo 多轮推理分析( Claude 骨干):(a) 各类问题的累积证据召回率;(b) 平均收敛轮数与最大有效轮数。
■Single-hop 和 Temporal 查询:约 3 轮即达近满分召回
■Multi-hop 查询:迭代探索带来超过 30%的召回提升——这类题型的证据散落在多处,不迭代几轮根本拼不齐
■自主终止: Max Valid Turns 与 Average Turns 高度吻合, LLM 能有效判断何时继续搜索、何时停止,避免冗余探索
Multi-hop 性能随推理轮数 和每轮检索预算 的变化热力图( Claude 骨干)。增加并行检索预算无法替代更深的重建深度。
预算敏感性分析进一步表明:加宽每轮检索的并行度()替代不了加深推理轮数()。记忆推理的本质是序列依赖的,不是并行堆量就能解决的。
案例研究:五轮重建跨 session 证据
多 session 查询的推理轨迹:从 Cue 「 Joanna 」出发,沿关联 Tag 遍历,检索剧本投稿记录和语义背景,再通过主题层对齐拒稿事件。
查询:「 Joanna 的哪些剧本被制片公司拒绝了?」——这个问题要跨 session 对齐「投稿」和「拒稿」两类事件,被动 top- 检索基本无解。
MRAgent 的重建轨迹:
1.从 Cue 「 Joanna 」出发,沿 Tag 检索其剧本投稿记录( episodic )
2.获取剧本相关的语义背景信息( semantic )
3.上探到主题层,定位拒稿相关主题
4.下钻回具体拒稿事件,与先前检索的投稿记录对齐
5.验证时间一致性,输出最终答案
五轮迭代、三种记忆层协同、前向+反向遍历并用——案例图把整条推理链画得很清楚。
读完这篇论文,我脑子里转的几个念头
Mem0 、 A-Mem 、 MemoryOS 这一代产品还在卷「怎么检索更准」。 MRAgent 换了个问法:推理时怎么动态重建记忆?我会把它看成范式切换——把「查记忆」写进推理循环里,论文还给出了主动检索严格强于被动检索的形式化证明(主动 ⊋ 被动),不是空喊口号。
Tag 这层设计尤其讨巧。纯向量检索太扁,全量 -hop 图扩展又太重; Cue-Tag-Content 卡在中间——Tag 够轻,能做快速语义路由;又够结构化,能撑 multi-hop 遍历。就算你不全盘照搬 MRAgent ,这个 Tag 中介思路也值得拆出来单独试。
效率数字容易被一眼扫过。 118k Token 对 632k ,按 API 计费算下来,同等预算能多跑好几轮重建。个人助手、客服 Agent 、长期项目管理——这些场景的对话越来越长, Token 账单和响应延迟是硬约束,不是锦上添花。
成绩分化也很有意思: Single-hop 从 83.12 到 91.10 ,涨得温和; Multi-hop 从 75.88 到 90.19 、 Temporal 从 80.68 到 85.34 ,跳幅大得多。说明痛点集中在「得先推理才知道该查什么」的题型——恰好是记忆 Agent 真正要打的仗。
当然也有问号:多轮 LLM 调用在极端低延迟场景能不能扛住?构建阶段的 LLM 蒸馏一旦抽错 Tag ,下游会不会一路带偏?论文在 LoCoMo 和 LongMemEval 上证据充分,生产环境的对话分布更脏更乱,还得有人去踩坑。
总结
| 维度 | 核心要点 |
|---|---|
| 问题 | 被动检索在 multi-hop / temporal 查询上失效 |
| 方法 | Cue-Tag-Content 图 + 主动多轮重建 |
| 理论 | 主动检索表达能力严格强于被动检索 |
| 性能 | LoCoMo +23%, LongMemEval +32% |
| 效率 | Token 降至 118k ( A-Mem 的 1/5 ) |
| 代码 | 已开源 |
NUS 团队在 ICML 2026 的这篇工作,标题就足够 provocative——Memory is Reconstructed, Not Retrieved。它把认知科学的记忆重建理论搬进了 LLM Agent 工程,用图结构承载关联、用多轮推理驱动访问、用理论证明锚定范优势。对于正在构建长期记忆 Agent 的开发者, MRAgent 值得认真读一遍源码。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~