MemoryArena: Benchmarking Agent Memory in Interdependent Multi-Session Agentic Tasks
论文阅读:MemoryArena——在相互依赖的多 Session Agent 任务中评测 Memory
论文标题:MemoryArena: Benchmarking Agent Memory in Interdependent Multi-Session Agentic Tasks
作者:Zexue He, Yu Wang, Churan Zhi, Yuanzhe Hu, Tzu-Ping Chen, Lang Yin, Ze Chen, Tong Arthur Wu, Siru Ouyang, Zihan Wang, Jiaxin Pei, Julian McAuley, Yejin Choi, Alex Pentland
发表位置:ICML 2026(当前 arXiv 页面仍为 v1 预印本)
arXiv 编号:arXiv:2602.16313
原文链接:https://arxiv.org/abs/2602.16313
项目主页:https://memoryarena.github.io/
代码:https://github.com/ZexueHe/MemoryArena
主题:LLM Agent Memory、Long-term Memory、Multi-session Agent、Agent Benchmark
核心问题:现有 Memory Benchmark 大多测试“能不能记住”,Agent Benchmark 大多测试“能不能完成当前任务”,但真正的长期记忆能力应该测试 Agent 能否把之前交互中的经验保存下来,并在之后的 Session 中实际用于行动。
1. 问题:会回答过去发生了什么,不代表会利用过去完成未来任务
这篇论文关注的是 Agent Memory 的评测问题。
作者首先指出,目前与 Agent Memory 有关的 Benchmark 大致分成两类。
第一类是传统的 Memory Benchmark,例如:
- LoCoMo
- LongMemEval
- MemoryAgentBench
- MemoryBench
它们通常提供很长的对话或者历史文本,然后询问:
之前某个人说过什么?
某件事情是什么时候发生的?
用户过去有什么偏好?
这种 Benchmark 主要测试的是 memorization / recall(记忆和回忆)。
问题在于,Agent 只需要:
历史信息
↓
Memory
↓
回答问题
Memory 最终被用于回答一个 QA 问题。
但在真正的 Agent 系统里,Memory 的最终用途往往不是“回答历史事实”,而是:
过去的行动
↓
环境反馈
↓
形成 Memory
↓
之后遇到新的任务
↓
利用 Memory 决定下一步 Action
也就是说:
Memory 应该影响未来的行为。
另一类 Benchmark,例如:
- WebArena
- WebShop
- SWE-Bench
- Mind2Web
确实要求 Agent 在环境中采取 Action。
但是这类任务大部分是 single-session(单 Session)。
Agent 从任务开始到结束一直拥有当前 Session 的 interaction history,因此很多时候根本不需要真正的 persistent memory(持久记忆)。
例如:
User Task
↓
Action 1
↓
Observation 1
↓
Action 2
↓
Observation 2
↓
...
↓
Task Finished
这些信息始终存在于当前 Context 中。
因此作者认为:
单纯测试 Memory Recall,无法证明 Memory 能帮助 Agent 行动;
单纯测试 Agent Action,又不一定真正需要长期 Memory。
MemoryArena 希望把这两件事情合起来。
2. MemoryArena 的核心思想:让后面的任务必须依赖前面的任务
MemoryArena 最核心的设计并不是简单地把任务变长。
关键在于:
不同 Session 之间存在明确的因果依赖关系。
假设一个任务由多个 Subtask 构成:
Session 1
↓
Subtask 1
↓
产生信息 A
Session 2
↓
Subtask 2
↓
必须使用 A
↓
产生信息 B
Session 3
↓
Subtask 3
↓
必须使用 A + B
Session 结束以后,完整的 interaction trace 不再天然保留在 Agent 当前上下文中。
因此 Agent 必须通过 Memory System:
Store
Retrieve
Update
保存之前的重要信息。
如果 Session 1 的信息没有被正确保存,那么 Session 3 很可能无法完成。
这与简单地:
Task A
Task B
Task C
按顺序执行三个互不相关任务是完全不同的。
作者特别强调 interdependent subtasks(相互依赖的子任务)。
这也是 MemoryArena 和一些“把多个 Agent Task 连续跑起来”的 Benchmark 之间的重要区别。
3. Memory-Agent-Environment Loop
作者将整个过程抽象为:
Memory-Agent-Environment Loop(Memory-Agent-环境循环)。

【Figure 1。该图展示 MemoryArena 的核心 Memory-Agent-Environment Loop:Agent 根据 Memory 采取 Action,Environment 返回 Feedback,交互结果继续更新 Memory,而更新后的 Memory 被带入后续 Session。】
在一个普通的单 Session Agent 中,Agent 在第 t 步根据:
当前任务 instruction
+
本 Session 之前的 observation
+
本 Session 之前的 action
决定下一步行动。
可以抽象成:
action_t =
Agent(
instruction,
previous_actions,
previous_observations
)
由于整个 Session 的历史通常还在 Context 里,所以这里并不一定需要 persistent memory。
3.1 多 Session 情况
MemoryArena 将一个完整任务拆成:
s_1 -> s_2 -> ... -> s_n
每个 s_i 都是一个独立 Session。
例如购买一个完整的相机套装:
Session 1:
购买 Camera Body
Session 2:
购买 Lens
Session 3:
购买 Camera Case
问题是:
购买 Lens 时,必须知道之前买的 Camera Body 是什么型号。
购买 Case 时,又可能需要知道:
Camera Body
+
Lens
的尺寸或者兼容关系。
因此不同 Session 之间需要持续存在某种状态。
MemoryArena 为 Agent 增加一个 persistent memory system:
M
在每个 Action step 中首先进行 Memory Retrieval:
m_i,t =
Retrieve(
M,
current_subtask,
current_actions,
current_observations
)
然后 Agent 根据:
当前 Subtask
+
当前 Session History
+
Retrieved Memory
产生下一步 Action:
action =
Agent(
current_subtask,
session_history,
retrieved_memory
)
当一个 Subtask 完成后:
M =
Update(
M,
subtask_interaction_trace
)
随后这个更新后的 Memory 会被带入下一个 Session。
整个过程因此变成:
Retrieve
Memory ----------------> Agent
↑ |
| |
Update Action
| |
| ↓
+---------------- Environment
Feedback
作者把这种完整闭环称为:
Memory-Agent-Environment Loop
这里 Memory 不再是一个任务结束以后接受 QA 查询的数据库,而是 Agent 决策过程的一部分。
4. MemoryArena 与已有 Benchmark 的区别
论文给出了一组 Benchmark 对比。
简化如下:
| Benchmark | Memory 评测 | Agent Action | Environment Feedback | Multi-session | Interdependent Subtasks |
|---|---|---|---|---|---|
| LoCoMo | ✓ | × | × | ✓ | × |
| LongMemEval | ✓ | × | × | ✓ | × |
| MemoryAgentBench | ✓ | × | × | ✓ | × |
| MemoryBench | ✓ | × | × | ✓ | × |
| WebArena | × | ✓ | ✓ | × | × |
| WebShop | × | ✓ | ✓ | × | × |
| Evo-Memory | ✓ | ✓ | ✓ | ✓ | × |
| AgencyBench | × | ✓ | ✓ | ✓ | ✓ |
| MemoryArena | ✓ | ✓ | ✓ | ✓ | ✓ |
这里一个很重要的区别是 cross-task causal dependency(跨任务因果依赖)。
例如 Evo-Memory 也会连续运行多个任务,并让 Agent 从过去任务中学习。
但论文指出,这些任务本身仍然来自原本独立的 Agent Benchmark:
Task 1
Task 2
Task 3
Task 3 并不会在数据设计层面强制要求:
必须使用 Task 1 得到的某个具体信息才能完成。
MemoryArena 则显式构造这种依赖。
因此 MemoryArena 测试的不只是:
Memory 里有没有过去的信息?
而是:
这些过去的信息有没有被正确保存,并在未来真正改变 Agent 的行动?
5. MemoryArena 的四类任务环境
MemoryArena 包含四种主要 Agentic Environment:
- Bundled Web Shopping
- Progressive Web Search
- Group Travel Planning
- Sequential Formal Reasoning
其中 Formal Reasoning 又包含 Math 和 Physics 两部分。

【Figure 2。该图分别展示 Bundled Web Shopping、Group Travel Planning、Progressive Web Search、Math Formal Reasoning 和 Physics Formal Reasoning 中 Session 之间的依赖方式,可以直观看出后续 Subtask 如何依赖此前产生的信息。】
论文报告的规模如下:
| Environment | 最少 Session | 最多 Session | 平均 Trace 长度 | Task 数量 |
|---|---|---|---|---|
| Bundled Web Shopping | 6 | 6 | 41.5k tokens | 150 |
| Group Travel Planning | 5 | 9 | 40.6k tokens | 270 |
| Progressive Web Search | 2 | 16 | 122.4k tokens | 256 |
| Math Formal Reasoning | 2 | 16 | 18.1k tokens | 40 |
| Physics Formal Reasoning | 2 | 12 | 14.1k tokens | 20 |
需要注意,论文 v1 的 Table 1 报告 MemoryArena 总 Task 数为 766,但 Table 2 中上述五部分数量相加为 736。两个表在 v1 中存在这一数字不一致,因此这里保留 Table 2 给出的各环境原始统计,不自行推断具体原因。
6. Bundled Web Shopping:后面的商品必须兼容前面购买的商品
第一个环境是:
Bundled Web Shopping(组合式网页购物)。
它建立在 WebShop 环境上。
普通 WebShop 可能要求:
帮我买一个符合条件的电视。
这是一个独立任务。
MemoryArena 则可能构造:
Session 1:
购买电视
Session 2:
购买 Soundbar
Session 3:
购买 TV Mount
Session 4:
购买其他配件
...
而后面的商品必须和之前购买的商品兼容。
例如:
Session 1:
购买了一台 75 inch TV
Session 2:
需要购买 TV Stand
Constraint:
Stand 必须能够支撑之前购买的电视尺寸
因此 Agent 不能只看当前 Session。
它必须知道:
Previously Purchased TV:
75 inch
6.1 如何构造商品依赖
作者首先利用 WebShop 的 category hierarchy(商品类别层次结构)找到可能存在兼容关系的商品。
例如:
Electronics
└── Television & Video
└── Televisions
├── TVs
└── TV Mounts / Stands
随后从商品 description 中抽取关键属性,并构建:
accept map
reject map
用于描述商品之间的兼容关系。
例如:
75-inch TV
↓
Accept:
70-inch compatible stand
Reject:
50-inch stand
这些规则用于形成跨 Session 的 compatible product chain(兼容商品链)。
同时作者加入 negative distractor(负例干扰项)。
于是每个 Session 都不是简单查找历史商品名称,而需要:
- 回忆之前买了什么;
- 找到关键属性;
- 推导当前兼容条件;
- 排除 incompatible candidates;
- 根据当前额外要求选择最终商品。
最终得到 150 个多 Session Shopping Task。
7. Progressive Web Search:搜索条件逐步增加
第二类环境是:
Progressive Web Search(渐进式网页搜索)。
作者基于 BrowseComp-Plus 构建这一部分。
普通 Search Benchmark 往往一次给出完整问题:
Find a person satisfying:
condition A
condition B
condition C
condition D
MemoryArena 将它拆成多个 Session。
例如:
Session 1:
找到满足条件 A 的对象
Session 2:
在之前结果基础上再满足 B
Session 3:
再加入条件 C
Session 4:
再加入条件 D
于是每一次 Search 得到的信息都会成为后续 Search 的条件。
可以理解成:
C1
↓
candidate set 1
C1 + C2
↓
candidate set 2
C1 + C2 + C3
↓
candidate set 3
C1 + C2 + C3 + C4
↓
final answer
Agent 如果忘掉前面某个条件,就可能得到完全错误的最终答案。
7.1 数据构造
作者从 BrowseComp-Plus 的 830 个样本出发。
首先使用具有 Web Search Tool 的 LLM Agent 测试这些问题。
如果某个问题能够:
在单次 interaction 中直接回答正确
那么它会被删除。
原因是这种问题不需要 Memory。
剩下的问题再被拆分为多个具有递进条件的 subquery。
之后由人工检查:
- 分解是否合理;
- 是否存在重复条件;
- 每一步是否只依赖此前已经出现的信息;
- 是否出现“当前问题需要未来 Session 才提供的信息”。
如果存在违反因果顺序的情况,整个样本都会被删除。
最终保留:
256 个 Progressive Web Search Task。
其平均 interaction trace 长度达到:
122.4k tokens。
这是 MemoryArena 中上下文最长的一类任务。
8. Group Travel Planning:新成员不断加入,约束引用过去成员
第三类环境是:
Group Travel Planning(群体旅行规划)。
它基于 TravelPlanner 构建。
任务开始时首先存在一个基础 Traveler 和已经确定的行程。
随后新的 Traveler 不断加入。
例如:
Traveler 1:
Rebecca
Traveler 2:
Jasmine
Traveler 3:
Eric
...
后来加入的人可以引用之前成员的行程。
作者定义了两种主要约束。
8.1 JOIN Constraint
JOIN 表示:
某个人希望和之前某个人参加同一个活动。
例如:
I want to have dinner with Rebecca
on the second day.
那么 Agent 必须找到:
Rebecca
Day 2
Dinner
对应的活动,然后给当前 Traveler 安排同样的活动。
8.2 RELATION Constraint
RELATION 则更加复杂。
当前 Traveler 的选择与过去成员之间存在相对关系。
例如:
I want a hotel
whose rating is at least
two levels higher than Rebecca's.
Agent 首先需要:
retrieve Rebecca's hotel
然后获得:
rating = X
再计算:
required rating >= X + 2
然后才能搜索当前 Traveler 的酒店。
这些关系可以涉及:
- price
- rating
- cuisine
- room type
- house rules
等属性。
不同 Traveler 还可以继续引用更早的 Traveler,因此最终形成 dependency chain(依赖链)。
论文构造:
270 个 Group Travel Planning Instance,
依赖深度最高达到 4。
这也是实验中最困难的一类任务。
9. Sequential Formal Reasoning:前面的 Lemma 成为后面证明的一部分
第四类任务是:
Sequential Formal Reasoning(顺序形式推理)。
包含:
- Mathematics
- Physics
作者希望模拟论文中的真实理论推导。
一个研究论文中的最终 Theorem 往往不是:
Question
↓
直接推导
↓
Answer
而是:
Definition
↓
Lemma 1
↓
Lemma 2
↓
Proposition
↓
Lemma 3
↓
Main Theorem
后面的结论依赖前面的中间结果。
因此这种结构天然适合测试:
Agent 能不能保留之前推理中得到的知识,并在之后继续使用。
9.1 数据如何构造
论文邀请了理论数学和理论物理方向的高年级 PhD 专家进行人工标注。
专家首先选择:
中心结论确实依赖较长推导链
的研究论文。
随后根据原论文结构将主要证明拆成:
Intermediate Statement 1
Intermediate Statement 2
Intermediate Statement 3
...
Final Statement
其中主要包括:
- Lemma
- Proposition
- Intermediate Result
专家还记录每一步所需要的:
- notation
- definition
- remark
- algorithm
- necessary background
如果一个中间结论需要依赖未来才出现的信息,则该样本会被丢弃,以保证严格的 causal consistency(因果一致性)。
最终得到:
| 类型 | Problem 数 |
|---|---|
| Mathematics | 40 |
| Physics | 20 |
每个 Problem 本身又由多个顺序依赖的问题构成。
10. Memory System 在 Benchmark 中如何接入 Agent
MemoryArena 并不要求使用某一种特定 Memory 架构。
作者把 Memory System 抽象成两个最基本的操作:
Retrieve()
Update()
因此不同 Memory 方法都可以接入同一个 Agent-Environment Loop。
论文主要测试三大类方法。
10.1 Long-Context Memory
最直接的方法就是:
什么都不总结,把过去完整 interaction history 全塞进 Context。
即:
Session 1 History
+
Session 2 History
+
Session 3 History
+
Current Task
作者将这种 Memory 归类为:
0D Memory
也就是原始历史,没有 consolidation(整合)或者 abstraction(抽象)。
实验包括:
- GPT-5.1-mini
- GPT-4.1-mini
- Gemini-3-Flash
- Claude-Sonnet-4.5
10.2 External Memory Agent
第二类是真正的独立 Memory System。
Memory System 会对历史进行:
- abstraction
- consolidation
- organization
- retrieval
例如:
- Letta
- Mem0
- Mem0-g
- ReasoningBank
论文正文 Section 4.1 中使用了 MemGPT 的名称,而主实验 Table 3 中对应结果以 Letta 名称呈现,因此本文按照实验结果表中的名称记录。
作者进一步将 Memory 结构分为:
| 类型 | 含义 |
|---|---|
| 0D | 原始历史,没有抽象 |
| 1D | 对信息进行总结、整合,但 Memory 仍是平面结构 |
| 2D | 使用 Tree / Graph 等关系结构组织 Memory |
例如:
Mem0
-> 1D
Mem0-g
-> 2D
10.3 RAG
第三类是标准 Retrieval-Augmented Generation。
过去 interaction 被存入 document store。
当前 Agent 根据 Query 检索相关历史信息。
论文测试:
- BM25
- Text-Embedding-3-Small
- MemoRAG
- GraphRAG
其中:
BM25
Embedding RAG
更接近原始 Chunk Retrieval。
而:
MemoRAG
GraphRAG
会进行更复杂的信息组织。
11. Evaluation Metric
作者使用两个主要指标。
11.1 Task Success Rate(SR)
SR 表示:
整个 Task 是否成功。
例如一个任务有:
Subtask 1 ✓
Subtask 2 ✓
Subtask 3 ✓
Subtask 4 ✗
Subtask 5 ✓
那么整个任务:
SR = 0
因为没有完整完成。
11.2 Process Score(PS)
由于 SR 非常严格,作者又设计了:
Task Progress Score(PS)。
对于某个 Task:
PS =
passed_subtasks / total_subtasks
例如:
5 个 Subtask
4 个完成
PS = 4 / 5 = 0.8
最终对所有任务取平均。
所以:
SR
衡量的是最终有没有完成整个任务;
而:
PS
衡量的是:
虽然任务没完全成功,但到底走到了多远。
Group Travel 的 soft PS
Group Travel Planning 实在太困难,很多方法:
SR ≈ 0
PS ≈ 0
几乎无法区分。
因此作者又报告:
soft Process Score(sPS)。
它根据一个 Subtask 内满足了多少条 constraint 给部分分数。
12. 主实验结果:现有 Agent Memory 在真正的跨 Session 行动中表现仍然很低
下面只整理 Table 3 中最直观的 Success Rate。
| 方法 | Shopping SR | Travel SR | Search SR | Math SR | Physics SR | Avg SR |
|---|---|---|---|---|---|---|
| GPT-5.1-mini Long Context | 0.01 | 0.00 | 0.06 | 0.26 | 0.45 | 0.16 |
| GPT-4.1-mini Long Context | 0.00 | 0.00 | 0.02 | 0.19 | 0.40 | 0.12 |
| Gemini-3-Flash Long Context | 0.12 | 0.00 | 0.07 | 0.16 | 0.50 | 0.17 |
| Claude-Sonnet-4.5 Long Context | 0.12 | 0.00 | 0.02 | 0.29 | 0.50 | 0.19 |
| Letta | 0.00 | 0.00 | 0.16 | 0.13 | 0.45 | 0.15 |
| Mem0 | 0.00 | 0.00 | 0.24 | 0.19 | 0.25 | 0.14 |
| Mem0-g | 0.00 | 0.00 | 0.15 | 0.19 | 0.25 | 0.12 |
| ReasoningBank | 0.00 | 0.00 | 0.10 | 0.23 | 0.25 | 0.12 |
| BM25 | 0.00 | 0.00 | 0.28 | 0.23 | 0.45 | 0.19 |
| Text Embedding RAG | 0.00 | 0.00 | 0.23 | 0.32 | 0.60 | 0.23 |
| MemoRAG | 0.00 | 0.00 | 0.22 | 0.23 | 0.50 | 0.19 |
| GraphRAG | 0.00 | 0.00 | 0.04 | 0.26 | 0.55 | 0.17 |
最明显的现象是:
所有方法的整体成功率都很低。
即使某些 Memory 方法已经能够在传统长上下文 Memory Benchmark 上取得很高的 Recall Performance,它们在 MemoryArena 中仍然无法稳定完成跨 Session 的 Agent Task。
13. PS 很高但 SR 很低:局部做对,不代表能把整个任务做对
一个值得注意的现象是:
很多方法的:
PS >> SR
例如 GPT-5.1-mini 在 Bundled Web Shopping 中:
SR = 0.01
PS = 0.58
也就是说:
Agent 能完成相当一部分 Subtask。
但真正完成全部购物链的概率只有:
1%
这说明失败往往不是:
Agent 从第一步开始什么都不会做。
而是:
前面做对
↓
某一步 Memory / Reasoning 出错
↓
状态开始偏移
↓
后面的决策建立在错误状态上
↓
最终整个 Task 失败
因此这类任务的困难在于:
长期维护一个全局一致的任务状态。
14. Group Travel Planning 几乎把所有方法打到 0
Group Travel Planning 是论文中最困难的一项。
所有方法:
Task SR = 0
原因是它不是简单记住:
Rebecca 喜欢什么
而是要处理大量类似:
Jasmine 的 Day 2 Breakfast
价格必须在 Rebecca Day 3 Lunch 的 ±10% 内
并且 Rating 更高
这样的跨 Session relative constraints。
同时一个完整 Travel Plan 包含大量 Activity Slot。
因此 Agent 同时要完成:
Memory Retrieval
+
Constraint Tracking
+
Numerical / Relational Reasoning
+
Planning
任何一个环节出现错误,都可能导致整个行程不满足约束。
15. 一个重要结果:External Memory 并不一定比 Long Context 更好
论文一个比较重要的实验发现是:
给强大的 Long-Context LLM 增加 External Memory,并不会稳定提高性能。
也就是说:
Strong LLM
+
Memory System
并不自动产生:
1 + 1 > 2
的效果。
作者提出了两个可能的原因。
15.1 Representation Mismatch
Long Context 中,Agent 看到的是:
原始、连续、完整的 interaction history
例如:
Action
Observation
Action
Observation
Action
Observation
这些信息具有原本的时间顺序和上下文关系。
而 External Memory 返回的可能是:
compressed summary
+
retrieved chunk
+
reordered information
原始 trajectory 的结构被改变了。
于是 Agent 原本擅长的:
in-context reasoning
未必能够直接适应这种 Memory Representation。
作者将这种情况称为:
representation mismatch(表示不匹配)。
15.2 Training Mismatch
第二个问题是:
Task Agent 和 Memory System 通常是分别设计的。
Task Agent 并没有被专门训练去学习:
什么时候 query memory?
query 应该怎么写?
retrieved memory 哪部分可信?
如何把 memory 与当前 observation 结合?
因此即使 Memory 检索出了正确的信息:
Memory
↓
Retrieved Information
↓
Agent
Agent 也未必能够正确利用。
作者将这一问题称为:
training mismatch(训练不匹配)。
也就是说,现有很多系统实际是在做:
一个已经训练好的 LLM
+
一个独立设计的 Memory Module
两者之间并没有真正 joint optimization(联合优化)。
16. External Memory 什么时候有帮助?
虽然 Memory 并不总能提高结果,但论文发现,在某些环境中 External Memory 和 Retrieval 更有帮助。
主要包括:
- Progressive Web Search
- Formal Reasoning
原因是这些任务的 Context 本身已经非常长。
尤其 Progressive Web Search:
Average Trace Length:
122.4k tokens
当大量历史内容直接塞入 Context 时,会出现:
- attention saturation
- context noise
- earlier error accumulation
- relevant information 被大量无关信息淹没
此时 Memory 的:
select
compress
retrieve
能力反而有价值。
例如 Progressive Web Search:
GPT-5.1-mini Long Context
SR = 0.06
BM25
SR = 0.28
Embedding RAG
SR = 0.23
Mem0
SR = 0.24
在这一环境中,把历史信息有选择地重新取出来明显更有帮助。
17. 更复杂的 Memory Structure 并不自动更好
论文还比较了:
0D
1D
2D
Memory。
直觉上可能会认为:
Raw Memory
<
Summarized Memory
<
Graph Memory
但实验并没有支持这种简单关系。
例如总体平均 SR:
Text Embedding RAG: 0.23
GraphRAG: 0.17
Mem0 和 Mem0-g 也没有表现出:
Graph Structure
必然带来更好的任务成功率。
这说明在 MemoryArena 中,更重要的问题并不只是:
Memory 存储结构够不够复杂?
而是:
Memory 有没有保留当前任务未来真正需要的状态,并且在正确的时候重新提供给 Agent。
18. Interdependent Subtask 越深,性能越差
作者进一步定义:
SR@k
表示:
到第
k个 Subtask 时,仍然能够正确完成该 Subtask 的比例。
实验中所有方法基本都表现出:
k 增加
↓
SR@k 下降
而且没有哪一种方法能够长期保持平坦曲线。
这说明随着 Session 增加:
Memory Error
+
Retrieval Error
+
Reasoning Error
+
Action Error
会不断积累。
最终造成:
long-horizon performance decay(长程性能衰减)。
18.1 Progressive Web Search 中 Long Context 衰减更快
Progressive Web Search 每个 Session 会产生非常长的 reasoning trace。
因此随着 k 增加:
Accumulated Context
↓
越来越长
↓
Long Context Agent
↓
性能下降
相比之下,External Memory / Retrieval 可以重新从过去历史中取出相关信息,因此衰减更慢。
18.2 精确信息复用时,Retrieval 往往比重度总结更可靠
某些任务要求保存的是非常具体的信息。
例如:
之前购买的商品型号
某个人 Day 3 Lunch 的具体价格
某个 Lemma 的中间结论
某个 Activity 的具体时间
此时如果 Memory System 进行了太强的 abstraction:
raw history
↓
summary
↓
summary of summary
一些具体属性可能被丢失。
论文发现,在这些需要 exact reuse(精确复用)的任务中:
Retrieval-based Method 往往比进行大量 abstraction / consolidation 的 Memory Agent 更稳定。
19. Case Study:RAG 也可能因为没检索到一个属性而彻底失败
论文 Appendix 给出了一个 Bundled Web Shopping 的例子。
Agent 此前已经购买:
Step 1:
LED TV
Step 2:
Sony Soundbar
Attribute:
Compact
Step 3 要购买:
TV Wall Mount
其中 Compatibility Rule 包含:
Compact
-> Articulating
Compact
-> Avoid Low Profile
Long Context Agent 可以直接看到完整历史,因此知道:
Soundbar = Compact
最后购买:
Articulating TV Wall Mount
任务成功。
BM25 RAG 则只检索到了:
Compatibility Rules
却没有检索回来:
Step 2:
Soundbar = Compact
于是 Agent 虽然知道规则:
Compact avoids Low Profile
却不知道自己之前买的 Soundbar 是否是 Compact。
最后选择了:
Low Profile Mount
造成整个 Bundle incompatible。
这个 Case 很好地说明了 MemoryArena 想测试的问题:
Memory 中“存在”某条历史信息并没有意义。
真正关键的是,在某个未来 Action 需要它的时候,这条信息有没有被正确 retrieval,并最终改变 Agent 的 Action。
20. 另一个 Case:Long Context 也会因为信息太多而失败
论文在 Group Travel Planning 中展示了一个相反案例。
Jasmine 的要求是:
Day 2 Breakfast
价格需要在
Rebecca Day 3 Lunch
价格的 ±10% 以内
并且 Rating 更高
Rebecca 之前的信息是:
Day 3 Lunch:
Chawla Snacks
Price:
$48
Rating:
2.9
因此 Jasmine 的目标价格范围应该是:
$43.2 ~ $52.8
同时:
Rating > 2.9
Letta 返回了一条非常紧凑的 Memory:
Rebecca:
Day 3 Lunch
Chawla Snacks
$48
Rating 2.9
Jasmine:
references this price/rating
for Day 2 Breakfast
于是 Agent 成功找到满足条件的餐厅。
Long Context Agent 则拥有超过:
20k characters
的历史,其中混杂了多个 Traveler 的大量行程。
关键的:
Rebecca
Day 3 Lunch
$48
被埋在大量上下文中。
最终模型没有正确利用这个数字,违反了价格限制。
这个例子说明:
原始信息保留得越完整,并不意味着模型越容易利用它。
Memory 的价值之一就是:
大量历史
↓
筛选 Task-Relevant State
↓
只向 Agent 提供当前需要的信息
21. 但 Memory Compression 同样可能丢掉关键状态
论文紧接着又展示了反例。
在另一个 Group Travel Case 中,Memory Agent 虽然成功记住:
Zoey 的 Lunch 信息
却丢掉了基础 Traveler 的:
travel date
origin
destination
于是 Agent 后续调用 Flight Search 时出现了错误:
wrong date
wrong origin
并最终进一步导致后面的餐厅约束计算出错。
因此这里存在一个核心矛盾:
Memory 太完整
↓
Context Noise
Memory 压缩太强
↓
Critical State Loss
Memory System 真正需要解决的问题是:
怎样只保留未来决策真正需要的 sufficient information。
22. Latency:Memory 并不是免费的
论文还测试了不同方法的执行延迟。
总体趋势是:
Long Context
最快
RAG
居中
External Memory Agent
最慢
原因并不难理解。
External Memory 往往需要额外执行:
Memory Extraction
Memory Updating
Memory Consolidation
Retrieval
Reranking
Summarization
这些操作本身可能继续调用 LLM。
因此 Agent Memory 的评测不能只讨论 Accuracy,还要考虑:
Performance
vs
Latency
作者同时指出:
Memory Structure 越复杂,并不意味着 Latency 一定越高。
不同系统即使结构相似,实际实现方式也会造成非常大的延迟差异。
因此单纯使用:
0D / 1D / 2D
并不能直接预测运行开销。
23. 一个更深层的解释:MemoryArena 可以看成 POMDP
论文 Section 4.6 从 POMDP:
Partially Observable Markov Decision Process(部分可观测马尔可夫决策过程)
的角度重新解释 MemoryArena。
这是论文比较重要的一部分。
在一个 Multi-session Task 中,Agent 在当前 Session 并不能直接看到完整的真实任务状态。
例如 Shopping 中真正的 State 可能包含:
过去买过哪些商品
每个商品的型号
商品之间的兼容关系
预算还剩多少
当前 Bundle 的全部约束
但是 Agent 当前收到的 Observation 可能只有:
现在请购买一个 TV Mount
完整 State 是隐藏的。
因此这是一个典型的:
Partial Observation
问题。
23.1 Memory 实际上是在做 Belief State Estimation
从 POMDP 的角度看,Agent 需要根据过去 observation 和 action 推断:
当前真实任务状态是什么?
这个内部估计通常叫:
belief state(信念状态)。
作者因此提出一种解释:
External Memory 可以理解为一种显式的 Belief-State Estimation Mechanism。
理想情况下,Memory 不应该保存所有历史。
它应该保存:
足以恢复当前任务状态的 sufficient statistics(充分统计信息)。
例如购物任务真正需要的可能不是:
Session 1 完整的 10,000 token 浏览历史
而只是:
Purchased TV:
Model X
75 inch
Purchased Soundbar:
Model Y
Compact
Remaining Budget:
$99.52
如果 Memory 能够始终维护这些 task-relevant state variables,那么 Agent 就不需要重新阅读全部历史。
24. 为什么当前 Memory System 还做不到?
作者从两个方向总结瓶颈。
24.1 Memory-Side Bottleneck
当前很多 Memory System 的优化目标主要是:
Recall
Compression
Semantic Similarity Retrieval
但 Agent Task 真正需要的是:
Task State Tracking
两者并不完全一样。
例如:
“用户以前买过 Sony Soundbar”
可能语义上是一个重要事实。
但未来购买 TV Mount 时真正关键的是:
Soundbar Attribute = Compact
因此 Memory System 需要知道:
什么信息是未来 decision-relevant state。
而不是简单判断:
什么历史内容和当前 Query 语义相似。
24.2 Agent-Side Bottleneck
另一边,Task Agent 本身也存在问题。
现有 LLM 往往没有专门被训练:
如何查询 Memory
如何解释 Retrieved Memory
如何根据 Memory 更新自己的 Belief State
如何发现 Retrieved Memory 缺少关键字段
因此即使 Memory System 本身已经提供信息,Agent 也可能:
under-utilize
或者:
mis-utilize
这些 Memory。
作者因此提出,未来工作需要:
jointly optimize memory representations and agent training objectives
也就是联合优化:
Memory Representation
+
Memory Retrieval
+
Agent Policy
+
Agent Training Objective
而不是继续把:
Frozen LLM
+
Independent Memory Module
简单拼接起来。
25. 从 MemoryArena 看,Agent Memory 的评测目标发生了什么变化
MemoryArena 所强调的 Memory 能力可以概括为三个阶段:
Acquire
↓
Store / Update
↓
Use for Future Action
传统 Memory Benchmark 更多集中在:
Store
+
Retrieve
最终评测:
Can you recall it?
MemoryArena 则把评测继续推进到:
Can you act correctly because of it?
因此它关心的不再只是:
Memory Accuracy
而是:
Memory
↓
State Tracking
↓
Decision Making
↓
Environment Action
↓
Future Consequence
从这个角度看,Memory 不只是一个知识库,而是 Agent Policy 的一部分。
26. 论文没有单独的 Limitations Section
论文正文没有单独设置 Limitations 章节。
作者主要通过实验和 POMDP 分析指出当前系统仍存在的两个瓶颈:
| 层面 | 问题 |
|---|---|
| Memory Side | 当前 Memory 更擅长 Recall、Compression、Semantic Retrieval,但不一定能够维护 task-relevant state |
| Agent Side | Agent 没有被训练如何 Query、Interpret 和 Integrate Memory |
论文最终提出的方向是:
将 Memory Representation 与 Agent Training Objective 联合设计,使 Memory 真正服务于长期任务中的 State Estimation 和 Decision Making。
因此论文并没有声称已经提出解决这些问题的新 Memory Method。
MemoryArena 本身主要是一套:
Benchmark + Evaluation Framework。
它的工作是把问题暴露出来。
27. 总结
MemoryArena 的出发点非常明确:
传统 Memory Benchmark 通常问:
过去发生了什么?
传统 Agent Benchmark 通常问:
你能不能完成这个任务?
MemoryArena 则试图问:
你过去经历过一些事情。
现在环境已经进入新的 Session。
你还能不能利用那些经历,
采取正确的 Action,
最终完成一个依赖过去信息的长期任务?
为此作者构造了四种具有明确跨 Session 依赖关系的 Agentic Environment:
Bundled Web Shopping
Progressive Web Search
Group Travel Planning
Sequential Formal Reasoning
并将整个评测过程组织成:
Memory
↓
Retrieve
↓
Agent
↓
Action
↓
Environment
↓
Feedback
↓
Update Memory
↓
Next Session
即:
Memory-Agent-Environment Loop。
实验表明,Long Context、External Memory Agent 和 RAG 都无法稳定解决这些任务。
尤其当 Subtask Dependency Depth 增加时,各类方法普遍出现性能下降。
同时论文发现:
- External Memory 并不总比直接使用 Long Context 更好;
- Long Context 会受到 Context Noise 和 Attention Saturation 影响;
- Memory Compression 又可能丢失未来 Action 所需要的精确信息;
- Graph / Structured Memory 并不会天然优于简单 Retrieval;
- Task Agent 与 Memory Module 之间存在 Representation Mismatch 和 Training Mismatch;
- 真正重要的问题可能不是“记住更多”,而是持续维护与当前任务有关的状态。
论文最终从 POMDP 的角度将 Agent Memory 解释为:
对隐藏 Task State 的 Belief-State Estimation。
理想的 Memory 因此不是简单保存尽可能多的历史,也不是把历史压缩成一段泛化摘要,而应该持续维护:
足以支持未来决策的 task-relevant sufficient state。
MemoryArena 的核心贡献也正在于把 Agent Memory 的评测目标,从:
Remembering
进一步推进到:
Remembering
↓
State Tracking
↓
Acting
即真正测试:
Memory 是否能够影响 Agent 的未来行为。
参考
-
Zexue He et al. MemoryArena: Benchmarking Agent Memory in Interdependent Multi-Session Agentic Tasks. ICML 2026 / arXiv:2602.16313.
https://arxiv.org/abs/2602.16313 -
MemoryArena Project Page.
https://memoryarena.github.io/ -
MemoryArena GitHub Repository.
https://github.com/ZexueHe/MemoryArena

浙公网安备 33010602011771号