AdaMem:清华/微信/中科大提出 Agent 记忆系统新 SOTA

发布时间:2026/7/14 12:38:08

AdaMem:清华/微信/中科大提出 Agent 记忆系统新 SOTA 一句话总结AdaMem 把对话记忆从扁平的向量化检索升级为四层结构分类存储 动态路由检索在长周期对话推理和用户画像任务上都达到了 SOTA 效果论文标题AdaMem: Adaptive User-Centric Memory for Long-Horizon Dialogue Agents论文地址https://arxiv.org/pdf/2603.16496作者背景清华大学、微信、中国科学技术大学一、动机当前 LLM Agent 越来越依赖外挂记忆来应对长周期交互但现有记忆系统面临三个核心痛点。过度依赖语义相似度常见的检索逻辑是拿 query 向量和历史记录比对返回最像的。但在实际对话中用户相关的关键信息往往不是字面上最像的那段——比如她为什么后来改了口味这种问题关键证据可能散落在多次对话中语义检索很难一网打尽记忆碎片化很多系统把对话历史切成 chunk 存储导致时间顺序、因果链条、人物关系全都断裂。需要连贯推理时只能拼凑出一堆互不关联的碎片固定粒度的两难切得太粗检索回来夹杂大量无关内容切得太细看不出事件的完整发展脉络。现有系统很难在两者之间找到好的平衡点所以一个好的记忆系统应当满足这些基本原则结构化存储碎片化和固定粒度问题的共同根源是把对话切成等长文本块然后扁平堆放。更好的做法是在写入时就对信息进行加工提取事件、事实、属性等语义类型按不同抽象层级组织成体系化的数据结构而非一股脑塞进向量库层级流转人脑不会把所有经历以同样的形式永久保存近期对话保持原貌以备即时调用反复出现的模式逐渐提炼为稳定认知。一个工程化的记忆系统也应设计从短期原文到长期结构化记录再到抽象画像的沉淀路径让信息在合适的时机自然地转化和压缩。检索策略自适应既然记忆已经分层组织检索就不必再一招鲜。简单的事实查询只需翻轻量语义索引涉及时间线或因果链的问题才动用结构化关系遍历AdaMem 便是沿着这一逻辑的一次具体实践很多记忆系统像是把聊天记录剪成一堆纸条问问题时去翻最像的几张AdaMem 则是把这些纸条分别放进桌面便签、事件日记、人物档案、关系线索板里提问时先判断这题在问谁、要不要查关系、要不要追时间线再决定去翻哪个抽屉二、结构化存储四层记忆的设计如果要 “用结构化取代扁平”那么具体应该分成几层、每层存什么AdaMem 的选择是为每个对话参与者各维护四种记忆对应从原始对话到高度抽象的递进层级记忆类型类比存储内容抽象层级Working Memory桌面便签最近对话原文最低保留原始表达Episodic Memory事件日记事件、事实、属性、主题摘要中等结构化提取Persona Memory人物档案用户偏好和稳定特征较高跨对话聚合Graph Memory关系线索板消息-主题-事实-事件关系网络正交维度关联索引前三层构成一条抽象度递增的纵向链原文 → 结构化事实 → 画像摘要。Graph Memory 则是横向的连接层把散落在不同对话中的证据沿人物线、主题线、时间线串联起来三、记忆的写入与流转3.1 规范化写入有了分层结构后首先要解决的问题是新来的对话怎么进入这套体系。如果每种记忆各自独立解析原文同一句话在不同模块里很容易被理解成不同的意思。AdaMem 的做法是设置一个统一入口每段新对话先由 Memory Agent 生成一个规范化记录 z_t包含摘要、主题、态度、原因、事实片段、人物属性、时间戳和说话者身份。后续所有模块的写入都基于这同一份 z_t而非各自重新理解原文很多系统记不住的根源不是存储不够而是写得乱同一句话在不同模块里产生了不一致的理解3.2 工作记忆的沉淀规范化记录首先进入 Working Memory——一个容量为 20 的 FIFO 队列。队列满了之后最老的 5 条消息被弹出送给三个路由器分别处理事件、事实和属性。每个路由器对每条信息只做一个决定ADD新增条目、UPDATE修订已有条目还是IGNORE忽略冗余。原始消息不丢弃保留作为后续可追溯的证据来源3.3 细粒度记忆的聚合随着对话持续进行Episodic Memory 中积累了大量细粒度条目某次跑步、某次点餐、某个周末计划。这些碎片单独来看价值有限但聚在一起就能形成更高层的用户画像。AdaMem 用两步上卷来完成这一提炼用向量相似度把细粒度键连成一个稀疏近邻图取连通块作为合并组避免手动调相似度阈值用 LLM 把同组内容改写成更高层的主题摘要或画像描述比如最近开始跑步“少吃甜食”喜欢周末户外活动这些分散在不同对话里的句子最终会被聚合成近阶段关注健康生活方式这样一条 Persona Memory3.4 图记忆的构建纵向的三层沉淀解决了信息该存在哪里的问题但还有一个维度没有覆盖跨片段的关联。用户在第 3 次对话里提到的偏好变化可能和第 15 次对话里的行为直接相关但它们分属不同的 Episodic Memory 条目纵向结构看不出这种联系。Graph Memory 正是为此设计的。它不是让模型从头做知识图谱抽取而是基于前述规范化记录按固定规则构建。节点有五种类型消息、主题、事实、属性、事件边有五种类型mentions消息 → 主题supports消息 → 事实/属性事实 → 事件same_topic同一说话人近期谈论同一主题temporal_next时间相邻的消息speaker_related同一说话人的相邻消息至此AdaMem 的存储体系已经完整纵向三层递进原文 → 结构化 → 画像横向一层关联图记忆。接下来的问题是面对一个具体的问题该怎么利用这套结构四、自适应检索让问题决定检索路径有了分层结构化存储AdaMem 便有条件实现差异化的检索路径这也是 “Adaptive” 的含义所在4.1 先判断在问谁多人对话中同一个问题可能指向 user、assistant 或两者。AdaMem 先做一个四分类确定 query 的目标参与者。如果指代不明确不硬猜而是分别在双方记忆包中小范围检索后合并排序让不确定性在检索阶段被显式处理而非隐藏到生成阶段4.2 再规划该走哪条检索路线确定了问谁之后下一步是怎么搜。系统先用规则关键词做初步判断when/before/after→ 时间线问题 → 启用图扩展why/because/connect→ 因果关系问题 → 启用图扩展favorite/personality/trait→ 属性问题 → 画像优先who/what/where→ 单跳事实问题 → 语义检索即可只有当规则置信度较低时才让一个 LLM 介入做识别。这种规则先行、模型兜底的策略保证简单问题不会被过度检索复杂问题又能获得结构化的证据支持4.3 基础检索与证据补回基础检索同时从三个来源拿候选画像摘要、情节事实、主题反查的原始消息。除了召回的 top-K 信息之外还补充了两种额外内容事实上下文高分事实命中 → 补充召回对应的原始对话消息关键词回退补那些向量检索不占优但字面上很关键的消息先看摘要索引确定方向必要时翻回原始聊天记录确保不只拿到抽象结论还能找到具体证据4.4 图检索与多信号融合当路线规划认为需要结构化证据时系统在图上选语义种子节点做受限多跳扩展每种边有固定权重如supports0.90、temporal_next0.70并带 hop decay 衰减系数 0.85最终融合分数由四项组成score(m∣q)0.7⋅sbase0.1⋅sgraph0.1⋅srecency0.1⋅sfact\text{score}(m|q) 0.7 \cdot s_{\text{base}} 0.1 \cdot s_{\text{graph}} 0.1 \cdot s_{\text{recency}} 0.1 \cdot s_{\text{fact}}score(m∣q)0.7⋅sbase​0.1⋅sgraph​0.1⋅srecency​0.1⋅sfact​语义检索占绝对主导70%图、时间、事实信号只是辅助。这种克制的设计有意避免图检索喧宾夺主——结构化的价值不在于替代语义检索而在于补全它覆盖不到的关联证据五、多 Agent 协作的记忆管理存储和检索的设计解决了记什么和怎么找但还有一个工程问题如果让一个 Agent 同时负责记忆维护、证据搜索和答案生成不同职责之间容易相互干扰。AdaMem 将这三件事拆给三个专职角色角色职责类比Memory Agent理解新消息、维护四层记忆档案管理员Research Agent规划搜索策略 → 检索 → 整合 → 反思迭代至证据充分研究助理Working Agent基于整合好的证据写出最终回答发言人值得注意的是Research Agent 决定的是还缺什么信息what而前面 4.2 节的路线规划决定的是这次检索该怎么执行how。前者像研究助理决定还要查什么资料后者像图书管理员决定该翻目录卡还是档案柜。后续消融实验证明了这一职责划分的有用性六、实验结果6.1 LoCoMo整体最强时间推理提升最大在长上下文多 session 对话基准 LoCoMo 上测试AdaMem 用 GPT-4.1-mini 做骨干时达到44.65 F1 / 37.92 BLEU-1相比最强基线提升4.4%。最亮眼的是时间类问题提升高达23.4%不过在 Open Domain 类别上效果稍差。作者认为这类题更适合针对特定结构假设的方法AdaMem 追求的是更均衡的整体表现6.2 PERSONAMEM记人更准泛化更强PERSONAMEM 更关注用户建模和个性化记忆。AdaMem 平均准确率63.25%高于 A-Mem59.75%和 Mem048.55%。泛化到新场景一项达到73.68%相对提升27.3%6.3 消融实验图记忆贡献最大三部分互补去掉图记忆时的降幅最大说明跨时间、跨片段的关系补回是最关键的增益来源信息融合和多 Agent 记忆管理也是带来稳定增益的关键组件6.4 效率-性能权衡AdaMem 平均输入 token 约 2248端到端延迟 4.722 秒Mem0 更省1340 tokens / 3.739 秒但 F1 只有 38.16。AdaMem 不是又快又省的路线而是用合理的额外成本换来显著的长推理质量6.5 跨模型迁移换到开源骨干 Qwen3-4B-Instruct 也能达到 36.78 F1Qwen3-30B-A3B-Instruct 则到 43.02 F1说明记忆架构本身是可迁移的不依赖特定闭源模型的智商红利

相关新闻