← 返回列表

A-MEM: Agentic Memory for LLM Agents

作者 Wujiang Xu, Zujie Liang, Kai Mei, Hang Gao, Juntao Tan, Yongfeng Zhang
年份 2025
会议/期刊 NeurIPS 2025
评分
标签 智能体 记忆管理 知识图谱
摘要 Zettelkasten 启发的智能体记忆系统:原子笔记 + 动态链接 + 记忆进化,时序推理 F1 提升 80%,token 用量减少 85-93%,百万级记忆检索 <4μs

核心思想

LLM 智能体的记忆系统普遍面临两个问题:

  1. 记忆操作预定义:开发者提前设计好存储/检索规则 → 无法适应多样化场景
  2. 记忆之间缺乏关联:每条记忆独立存储 → 无法进行跨会话的多跳推理

A-MEM 借鉴 Zettelkasten(卡片盒笔记法)的核心思想——原子化、互联、持续进化 → 让 LLM 自主组织记忆网络。

三个核心机制:

  1. 原子笔记生成:每条记忆自动生成关键词、标签、语义描述
  2. 动态链接:新记忆到来时,自动发现并建立与已有记忆的语义联系
  3. 记忆进化:新信息触发相关历史记忆的上下文更新

结果:时序推理 F1 从 25.5% → 45.9%,token 用量减少 85-93%

背景知识

什么是 Zettelkasten

原则 卡片盒方法 A-MEM 对应
原子性 每张卡片只记录一个想法 每条记忆包含 7 个结构化字段
互联 卡片之间手动建立链接 LLM 自动发现语义关联
持续进化 新卡片触发旧卡片更新 记忆进化机制

现有记忆系统对比

系统 记忆结构 关联机制 自适应
MemoryBank 扁平存储 遗忘曲线衰减
MemGPT 双层虚拟上下文 分页管理
ReadAgent 分页+摘要 三步检索
A-MEM 结构化笔记 动态链接网络 LLM 自主进化

方法详解

1. 记忆笔记结构

每条记忆 $m_i$ 包含 7 个组件:

字段 含义 生成方式
$c_i$ 原始交互内容 直接存储
$t_i$ 时间戳 系统记录
$K_i$ 关键词 LLM 生成
$G_i$ 分类标签 LLM 生成
$X_i$ 语义上下文描述 LLM 生成
$e_i$ 稠密向量嵌入 编码器计算
$L_i$ 关联记忆集合 动态链接

语义组件生成

\[K_i, G_i, X_i \leftarrow \text{LLM}(c_i \| t_i \| P_{s1})\]

嵌入计算

\[e_i = f_{\text{enc}}[\text{concat}(c_i, K_i, G_i, X_i)]\]

2. 动态链接机制

Step 1:相似度检索

对新记忆 $m_n$,计算与所有已有记忆的余弦相似度:

\[s_{n,j} = \frac{e_n \cdot e_j}{|e_n| |e_j|}\]

取 top-k 最相关记忆:

\[M_{\text{near}}^n = \{m_j | \text{rank}(s_{n,j}) \leq k, m_j \in M\}\]

Step 2:LLM 驱动的关联分析

LLM 分析候选记忆,判断是否存在有意义的关联:

\[L_i \leftarrow \text{LLM}(m_n \| M_{\text{near}}^n \| P_{s2})\]

3. 记忆进化

新记忆整合时,触发相关历史记忆的更新:

\[m_j^* \leftarrow \text{LLM}(m_n \| M_{\text{near}}^n \setminus m_j \| m_j \| P_{s3})\]

进化后的 $m_j^*$ 替代原始 $m_j$ → 语义描述和属性随新经验动态适应

4. 检索算法

给定查询 $q$:

  1. 计算查询嵌入:$e_q = f_{\text{enc}}(q)$
  2. 计算相似度:$s_{q,i} = \frac{e_q \cdot e_i}{ e_q   e_i }$
  3. 检索 top-k:$M_{\text{retrieved}} = {m_i \text{rank}(s_{q,i}) \leq k, m_i \in M}$

实验结果

主要结果(LoCoMo 数据集,GPT-4o-mini)

类别 指标 LoCoMo 基线 MemGPT A-MEM
多跳推理 F1 25.02% 26.65% 27.02%
多跳推理 BLEU-1 19.75% 17.72% 20.09%
时序推理 F1 18.41% 25.52% 45.85%
时序推理 BLEU-1 14.77% 19.44% 36.67%
开放域 F1 12.04% 9.15% 12.14%
单跳 F1 40.36% 41.04% 44.65%
对抗性 F1 69.23% 43.29% 50.03%

时序推理提升最显著:F1 从 25.52% → 45.85%(+80%)→ 记忆进化机制的核心价值。

Token 效率

系统 每次操作 token
LoCoMo/MemGPT ~16,900
A-MEM ~1,200-2,500

减少 85-93% 的 token 用量。

DialSim 性能

  • A-MEM F1: 3.45(vs LoCoMo 2.55, MemGPT 1.18)
  • 比 MemGPT 提升 192%

检索效率(百万级扩展)

记忆条数 A-MEM (μs) ReadAgent (μs)
1,000 0.31 43.62
10,000 0.38 484.45
100,000 1.40 6,682
1,000,000 3.70 120,070

百万级记忆检索仅需 3.7 微秒,比 ReadAgent 快 32,000×

消融实验

配置 多跳 F1 时序 F1 开放域 F1
无链接 + 无进化 9.65% 24.55% 7.77%
有链接 + 无进化 21.35% 31.24% 10.13%
有链接 + 有进化(完整) 27.02% 45.85% 12.14%

链接建立基础关联,进化提供本质性的精化

跨模型泛化

在 6 个基座模型上测试(GPT-4o-mini, GPT-4o, Qwen2.5-1.5B/3B, Llama3.2-1B/3B),A-MEM 在非 GPT 模型和多跳推理上一致优于基线

个人思考

  1. Zettelkasten 到 AI 记忆的类比非常自然:卡片盒方法的核心是”知识是网络而非列表”→ A-MEM 将这个思想形式化为可计算的图结构。
  2. 时序推理 +80% 是最亮眼的结果:时序问题需要跨会话关联不同时间点的信息 → 正是动态链接机制的用武之地。
  3. 85-93% token 节省使得长期记忆在成本敏感场景下可行:每次操作 <$0.0003 → 可以支持生产级部署。
  4. 记忆进化是区别于其他系统的核心创新:不是简单地添加新记忆,而是让新信息改变旧记忆的理解 → 类似人类的”重新审视旧知识”。
  5. 对抗性问题上 A-MEM 不如无记忆基线(50.03% vs 69.23%)→ 动态链接可能引入虚假关联,在对抗场景下反而有害 → 需要更好的噪声过滤。
← 返回列表