跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Agent Memory 文献追踪:异构存储与经验记忆机制解析

Agent Memory 是构建长期对话智能体的核心。本文梳理了 Memory in the Age of AI Agents 综述及 MemoryBank、ZEP、SGMEM、MemTree 等多篇关键文献。重点分析了异构存储(如知识图谱、树结构)与经验记忆(如思维链模板、策略库)的实现路径。对比了不同方案在检索召回、更新维护及上下文整合上的优劣,指出语义表征检索在深层推理上的局限,并探讨了工程落地中效用优先于泛用性的设计原则。

奶糖兔发布于 2026/4/7更新于 2026/10/2594 浏览
Agent Memory 文献追踪:异构存储与经验记忆机制解析

Agent Memory 文献追踪:异构存储与经验记忆机制解析

综述背景

在 AI Agent 领域,Memory(记忆)是构建长期对话智能体的核心组件。《Memory in the Age of AI Agents: A Survey》一文将记忆形式化地划分为三个层次:形成、演进和召回。这与早期 Survey《Rethinking Memory in AI》中提出的梳理、索引、更新、删除、检索、整合六大任务框架高度契合。

记忆系统架构示意图

从方法总结来看,不同工作侧重点各异。对于工程实现而言,异构内容的存储形态尤为关键。

集中存储形态示意图

此外,Survey 还强调了一个常被忽视的议题:记忆系统不仅要记录用户信息和事实,更要沉淀 Agent 的经验。这直接关系到 Agent 如何演化,也是本文后续关注的重点。

下文将聚焦于几个典型方案,分析其在具体实践中的做法与优劣。需要注意的是,现有 Benchmark 虽覆盖了该领域的诸多方面,但指标与实际开发中的适用性仍有差距,因此本文侧重方法论分析而非单纯的效果对比。


MemoryBank: 长期记忆的初步探索

MemoryBank 作为早期经典工作,常被用于基准比较。

记忆入库

  1. 会话总结:针对每日对话,提取关键信息摘要和用户画像描述。
  2. 全局整合:归总所有用户画像,形成全局用户画像。
  3. 时间戳与强度:为每日对话和摘要打上时间戳及 callback 强度 指标(初始值为 1)。

记忆检索

直接使用当前用户的语义表征进行查询,无额外处理。

记忆更新与遗忘

该方案采用基于记忆曲线的管理方式。每当历史记忆被召回,其 callback 强度 加 1。是否丢弃取决于两个因素:callback 强度 (S) 和上次召回距今的时间差 (t)。丢弃条件为 R > 阈值,其中 $R = e^{t/S}$。

不过该机制存在明显局限:记忆是否被遗忘主要看召回频率,而召回依赖相似度。一些有用但不常用的内容注定会被遗忘;需要知识推理做二度关联的内容,也会因表征不相似而无法被检索到。


ZEP: 时序知识图谱架构

ZEP 提出了一种三层记忆库架构,均以图的形式存储:原始层(Episode)、知识图谱层(Semantic)和信息图聚类层(Community)。其中原始层和信息图聚类层仅与知识图谱层有边连接。

记忆入库

  • 一次性初始化:原始消息存入原始层;利用 LLM 提取实体关系三元组存入知识图谱层;通过 LPA 图聚类生成 Cluster 节点存入信息图聚类层。
  • 记忆更新:新消息直接存入原始层;提取三元组后查询已有关系,若冲突则将旧知识标记为无效并写入新知识;新知识继承关联节点的标签。

记忆查询

  • 召回:将用户消息作为 Query,结合表征检索、BM25 检索及 BFS 图搜索。实验选取 Top-20 节点与边。
  • 重排:使用 BGE-reranker 进行重排。
  • 整合:将记忆填入 Prompt 模板。

ZEP 效果对比

效果评估

在 LongMemEval 上,ZEP 在单轮检索、时序推理、跨 Session 检索及知识更新上均有优势。但在检索 Assistant 信息时表现不如直接使用历史对话,这是因为 ZEP 仅对 User 信息构建了知识图谱层,Assistant 信息仅在 Episode 层记录,且召回时易受干扰。


SGMEM: 句子图记忆

SGMEM 将 User 和 Assistant 的话切分为句子,基于语义相似性构图。查询时以 User Message 为起点,在图上做 1-hop 遍历。

记忆入库

  1. 设置 chunk_size=N,将对话历史按 N 句切分为 Chunk。
  2. 将每个 Chunk 内的句子作为图节点,构建归属边和语义相似边。

记忆检索

  1. 将用户 Message 切分为句子,查找语义相似节点。
  2. 查询这些节点的 1-hop 邻居。
  3. 提取 Step 2 和 Step 3 节点所属的 Chunk 作为结果。

记忆整合

使用语义 Re-ranker 对 Chunk 和 Message 的相似度排序,取 Top-k 个拼接成 Context。

SGMEM 效果

需注意实验环境差异,SGMEM 使用的测试模型为 Qwen2.5-32B-Instruct,而 ZEP 使用了 GPT-4o。尽管如此,SGMEM 在 Top-10 Chunk 的综合准确率上仍达到了 70%+,略高于 ZEP 的结果。


MemTree: 分层树结构

MemTree 为 Agent 对话记录建立了 Hierarchical Cluster 结构。分支节点保留内容简述 c,叶子节点挂载记忆内容。

记忆入库

  1. 每条记忆原文生成语义表征。
  2. 从根节点开始逐层遍历分支节点的 c 表征,计算距离。
  3. 若找到距离小于阈值的节点,继续向下查找;若最终找到叶子节点,新记忆挂载其上,原叶子变为分支节点。
  4. 若所有子节点距离均大于阈值,则在当前层级新增叶子节点。
  5. 挂载后,所有上级节点执行描述更新动作,确保 c 包含新记忆信息。

记忆检索

将当前语句转化为检索表征,与树上所有节点的 c 进行相似性检索,不区分层级,配合阈值过滤和 Top-K 排序。

效果

在超长对话场景下,该方法优于全文上下文。特别是当知识线索集中于长对话最后几十段时,全文回答正确率为 76.7%,而本文方法可达 84.2%。

MemTree 效果


Human-Inspired Episodic Memory: KV Cache 优化

该方法处理的是体外参数记忆(KV Cache),不区分 User 和 Assistant 信息,将 LLM 处理的所有上文视为历史。

核心步骤

  1. 分块标志:计算 Token 的意外概率,超过阈值的 Token 作为分块标志。
  2. 边界调试:基于块内部的 modularity 调试边界,Key 向量即为 Modularity 表征。
  3. 索引生成:用块中累计 Attention Score 最高的 Key 向量作为索引。
  4. 上下文构建:生成下一句时,用 Query 查得 Top-K 个 KVCache 及其前后块,形成上下文。

Buffer of Thoughts: 经验性记忆

BOT 旨在解决 LLM 成功经验如何沉淀的问题。它将成功结题的 COT 和回答抽象为解题模板,存储于 Buffer 中。

记忆入库

LLM 解决成功后,提炼模板。通过表征相似度检测新增模板,若高于阈值则丢弃,避免冗余。

记忆索引与整合

使用【问题描述器】输出文字对应的表征向量作为检索 Key,匹配后将模板插入提示工程指导模型执行。


PRINCIPLES: 策略记忆

针对引导性对话场景,该方法通过 Role-play 模拟对话,评估策略有效性,提取成功与失败路径的策略。

记忆入库

利用多 LLM 进行 Role-play,采样好策略与坏策略,总结场景、成功策略及失败原因。

记忆整合

召回策略后,通过重写模块微调细节以适应当前场景,再注入上下文。


思考与总结

回顾上述方案,有几个关键点值得深思:

  1. 记什么比怎么记更重要:在不同场景下,有用的记忆内容差异巨大。例如 Code/Tool Agent 已将记忆升格为 Skill,这对对话 Agent 而言可能并非最佳抽象。核心在于明确任务需求。

  2. 图搜索的局限:多数方法利用图搜索补充语义检索,但本质上未解决深层推理问题。图结构本身也常由语义表征建立,存在同构性缺陷。若要挖掘潜层信息(如学生认知缺陷),必须引入特定抽象工具,先挖掘出本场景关心的信息。

  3. 上下文腐烂风险:部分工作在记忆整合上下了功夫,但缺乏对记忆系统长期运行态的考量。如何防止信息整合导致上下文质量下降,仍是待解之题。

  4. 学术与工程的平衡:学术方法倾向于泛用性,工程方案侧重适用性。实际场景设计中,效用(效果、扩展性、维护难度)远比贴合论文趋势重要。这也解释了为何该领域方法尚未收敛——既要泛用性又要工程简洁,往往难以兼得。

综上,Agent Memory 的设计应回归场景本质,在理论趋势与工程实效之间寻找最优解。

目录

  1. Agent Memory 文献追踪:异构存储与经验记忆机制解析
  2. 综述背景
  3. MemoryBank: 长期记忆的初步探索
  4. 记忆入库
  5. 记忆检索
  6. 记忆更新与遗忘
  7. ZEP: 时序知识图谱架构
  8. 记忆入库
  9. 记忆查询
  10. 效果评估
  11. SGMEM: 句子图记忆
  12. 记忆入库
  13. 记忆检索
  14. 记忆整合
  15. MemTree: 分层树结构
  16. 记忆入库
  17. 记忆检索
  18. 效果
  19. Human-Inspired Episodic Memory: KV Cache 优化
  20. 核心步骤
  21. Buffer of Thoughts: 经验性记忆
  22. 记忆入库
  23. 记忆索引与整合
  24. PRINCIPLES: 策略记忆
  25. 记忆入库
  26. 记忆整合
  27. 思考与总结

更多推荐文章

查看全部
  • Windows 10 系统 Python 3.10 详细安装与环境配置指南
  • 鸿蒙金融理财全栈项目:生态合作、用户运营与数据变现
  • AIGC 时代如何利用 DeepSeek 辅助孩子系统学习编程
  • Python 异步爬虫实战:Playwright 与 aiohttp 爬取科技媒体文章
  • VSCode Copilot 认证失败排查与修复指南
  • 如何深入系统地学习 Python
  • Python 毕业生就业追踪系统 Vue3 架构与实现
  • Linux 核心 IO 模型深析:CMake 构建与 Poll 多路转接实现
  • Python 兼职平台推荐与接私活实战指南
  • FPGA 入门:基于 LED 的 2 选 1 多路选择器设计
  • 大模型幻觉深度治理:技术体系、工程实践与未来演进
  • Linux 命名管道与共享内存基础
  • 本地部署 Kimi K2 模型:llama.cpp、vLLM 与 Docker 方案
  • Python 语言优势与核心应用场景解析
  • Spring Boot 微服务架构设计与实战
  • 链表分割算法实现:以给定值 x 为基准
  • Python + Bright Data MCP 实时抓取 Google 搜索结果实战
  • 2026 年 3 月 GESP 真题:C++ 一级数字替换
  • 基于 Python 的餐饮供应链管理系统设计与实现
  • Octo 模型:开源机器人技术如何降低行业门槛

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online