文章目录
- 前言
- 零、论文基本信息
- 一、背景与问题
-
- [1. 长上下文并没有解决 Memory 问题](#1. 长上下文并没有解决 Memory 问题)
- [2. Memorize while Reading 范式](#2. Memorize while Reading 范式)
- 不可回溯
- [二、ReMemR1 的核心思想](#二、ReMemR1 的核心思想)
- [三、Memory Callback Mechanism](#三、Memory Callback Mechanism)
-
- [1. 状态重新定义](#1. 状态重新定义)
- [2. Callback Query](#2. Callback Query)
- [四、Memory Retrieval](#四、Memory Retrieval)
- [五、强化学习优化 Memory 使用](#五、强化学习优化 Memory 使用)
-
- [1. Final Answer Reward](#1. Final Answer Reward)
- [2. Callback Reward](#2. Callback Reward)
- [3. Memory Update Reward](#3. Memory Update Reward)
- [4. Format Reward](#4. Format Reward)
- 六、实验设置
- 七、实验结果分析
- [八、与已有 Agent Memory 方法比较](#八、与已有 Agent Memory 方法比较)
-
- [1. A-MEM](#1. A-MEM)
- [2. MAGMA](#2. MAGMA)
- [3. Chain-of-Memory](#3. Chain-of-Memory)
- [九、对 Coding Agent 的启发](#九、对 Coding Agent 的启发)
- 十、局限性
-
- [1. Callback 依赖 Agent 判断](#1. Callback 依赖 Agent 判断)
- [2. Retrieval 仍然依赖表示质量](#2. Retrieval 仍然依赖表示质量)
- [3. 强化学习成本较高](#3. 强化学习成本较高)
- [4. 应用范围有限](#4. 应用范围有限)
- 十一、我的理解和启发
- 十二、总结
- 参考资料
前言
前面已经阅读了 A-MEM、MemoryOS、MAGMA、Chain-of-Memory 等不同类型的
Agent 记忆方法。
这些方法分别从不同角度探索:
- 如何建立长期记忆;
- 如何组织记忆关系;
- 如何根据问题检索记忆;
- 如何让 Memory 更适合 Agent 推理。
但是,对于长上下文 Agent,还存在一个更底层的问题:
Agent 读取过的信息,未来是否还能主动回去重新访问?
很多 Memorize while Reading 方法采用:
text
输入文档
↓
顺序阅读
↓
更新 Memory
↓
丢弃历史上下文
↓
继续阅读
这种方式计算成本低,但它默认:
当前 Memory 已经包含未来推理所需的信息。
然而真实任务并非如此。
例如:
text
前文:
Alice 曾经研究量子计算。
后文:
Alice 的实验项目失败。
问题:
为什么实验失败?
如果早期信息已经被摘要压缩,后续 Agent 很难恢复完整推理链。
ReMemR1 提出的核心观点是:
Memory 不应该只是一个不断覆盖的缓存,而应该成为 Agent
可以主动回访的历史空间。
因此,ReMemR1 引入 Memory Callback,让 Agent
在推理过程中主动生成查询,重新访问历史
Memory,并通过强化学习学习什么时候、如何调用过去的信息。
零、论文基本信息
- 论文名称:Look Back to Reason Forward: Revisitable Memory for
Long-Context LLM
Agents - 发表平台:ICLR 2026
- 代码仓库:ReMemR1
- 作者信息:Yaorui Shi、Yuxin Chen、Siyuan Wang、Sihang Li、Hengxing
Cai、Qi Gu、Xiang Wang、An Zhang
一、背景与问题
1. 长上下文并没有解决 Memory 问题
随着模型上下文窗口扩大,LLM 可以直接输入百万级 Token。
但是:
text
Context Window 增大
≠
长期记忆能力增强
原因是:
- 推理成本随上下文增加;
- 重要信息可能被大量无关内容淹没;
- 长距离依赖仍然难以捕获。
因此 Agent Memory 仍然需要独立机制。
2. Memorize while Reading 范式
近年来出现一种 Memory Agent:
text
Document Stream
↓
Memory Update
↓
Compressed State
↓
继续阅读
其优势:
- 不需要保存完整上下文;
- 计算复杂度低;
- 可以处理超长文档。
但是缺陷是:
不可回溯
一旦 Memory 被更新:
m t → m t + 1 m_t \rightarrow m_{t+1} mt→mt+1
旧状态可能无法恢复。
二、ReMemR1 的核心思想
ReMemR1 将 Memory Agent 从:
text
Forward-only Reading
变成:
text
Forward Reading
+
Backward Callback
整体流程:
text
读取新信息
↓
更新 Memory
↓
判断是否需要历史信息
↓
生成 Callback Query
↓
检索历史 Memory
↓
融合当前与历史证据
↓
继续推理
核心贡献:
- Memory Callback Mechanism;
- History-Augmented State;
- Multi-Level Reward Reinforcement Learning。
三、Memory Callback Mechanism
1. 状态重新定义
传统 Memory Agent:
s t = m t s_t=m_t st=mt
其中:
- m t m_t mt 是当前 Memory。
ReMemR1:
s t = ( m t , q t ) s_t=(m_t,q_t) st=(mt,qt)
其中:
- m t m_t mt:当前 Memory;
- q t q_t qt:Callback Query。
也就是说:
Agent 当前状态不仅包含:
我现在知道什么。
还包含:
我想回忆什么。
2. Callback Query
当 Agent 发现当前 Memory 不足:
生成:
text
Callback Query:
"之前是否出现过导致当前问题的信息?"
然后:
text
Callback Query
↓
Memory Retrieval
↓
Historical Evidence
重新加入推理过程。
四、Memory Retrieval
ReMemR1 不要求提前建立复杂 Graph。
它保留:
text
Memory Node
|
|-- Text
|-- Timestamp
|-- Embedding
查询时:
m ∗ = arg max s i m i l a r i t y ( q , m i ) m^*=\arg\max similarity(q,m_i) m∗=argmaxsimilarity(q,mi)
获得历史相关 Memory。
这种设计与 MAGMA、A-MEM 不同:
text
MAGMA:
提前构建多关系结构
ReMemR1:
推理时动态寻找历史证据
五、强化学习优化 Memory 使用
仅训练最终答案:
text
Answer Correct?
↓
Reward
存在稀疏问题。
Agent 不知道:
- 哪一次 Callback 有帮助;
- 哪一次 Memory Update 有效。
因此 ReMemR1 使用多层奖励。
1. Final Answer Reward
评价最终答案。
2. Callback Reward
评价 Memory 回调是否找到有效信息。
3. Memory Update Reward
评价 Memory 更新质量。
4. Format Reward
保证 Agent 输出格式正确。
最终组合:
text
Final Reward
=
Answer Reward
+
Callback Reward
+
Memory Reward
+
Format Reward
六、实验设置
论文主要验证长文本多跳推理任务。
数据集:
- HotpotQA;
- 2WikiMultiHopQA。
关注:
- 多跳推理;
- 长距离信息依赖;
- Memory 使用能力。
七、实验结果分析
实验显示 ReMemR1 相比传统 Memorize while Reading 方法具有明显优势。
主要原因:
传统方法:
text
阅读
↓
压缩
↓
遗忘
ReMemR1:
text
阅读
↓
记忆
↓
回访
↓
重新组合证据
因此能够处理:
- 长距离依赖;
- 隐含关系;
- 多阶段推理。
八、与已有 Agent Memory 方法比较
1. A-MEM
A-MEM:
text
Memory 写入阶段
↓
建立关联
重点:
如何组织 Memory。
ReMemR1:
text
推理阶段
↓
主动访问 Memory
重点:
如何使用 Memory。
2. MAGMA
MAGMA:
text
Semantic Graph
Temporal Graph
Causal Graph
Entity Graph
通过多图表达不同关系。
ReMemR1:
不提前构建复杂结构。
区别:
text
MAGMA:
Structure First
ReMemR1:
Retrieval When Needed
3. Chain-of-Memory
CoM:
解决:
检索结果如何组织?
通过:
text
Top-K Memory
↓
Memory Chain
ReMemR1:
解决:
过去 Memory 如何重新访问?
通过:
text
Current State
↓
Callback
↓
Historical Memory
九、对 Coding Agent 的启发
Coding Agent 中:
text
修改代码
↓
运行测试
↓
出现错误
如果错误原因来自几十步之前:
普通 Memory:
text
当前总结
可能无法恢复。
ReMemR1:
text
当前失败
↓
Callback Query
"之前哪个修改影响这个模块?"
↓
检索历史操作
↓
恢复修改链
更符合真实软件开发过程。
十、局限性
1. Callback 依赖 Agent 判断
Agent 需要知道:
什么时候应该回忆。
错误 Callback 会降低效果。
2. Retrieval 仍然依赖表示质量
如果历史 Memory 表示不足,Callback 无法找到关键内容。
3. 强化学习成本较高
需要:
- 轨迹采样;
- Reward 设计;
- Agent 优化。
4. 应用范围有限
目前主要验证:
- 长文本 QA。
对于:
- Coding Agent;
- Tool Agent;
- Multi-Agent;
- Embodied Agent;
仍需进一步研究。
十一、我的理解和启发
ReMemR1 最大的价值不是提出一个新的 Memory 数据结构,而是改变了 Memory
使用方式。
过去:
text
Memory = 存储过去
现在:
text
Memory = 可以主动调用的推理资源
这对于长期 Agent 非常重要。
未来 Memory 系统可能不只是:
text
Store
↓
Retrieve
而是:
text
Store
↓
Reason
↓
Recall
↓
Reconstruct
↓
Act
十二、总结
ReMemR1 提出了一种可回溯 Memory Agent 架构。
它认为:
长期 Agent
的关键问题不是保存更多信息,而是在未来需要时重新找到过去的重要信息。
通过:
- Memory Callback;
- History-Augmented State;
- Multi-Level Reward Reinforcement Learning;
ReMemR1 让 Agent 能够:
text
向前阅读
+
向后回忆
形成非线性的长期推理过程。
如果一句话总结:
ReMemR1 将 Agent Memory
从"不断压缩的状态缓存"转变为"可以主动回访的历史推理空间"。
参考资料
- Shi Y, Chen Y, Wang S, et al. Look Back to Reason Forward:
Revisitable Memory for Long-Context LLM Agents. ICLR 2026. - 代码仓库:ReMemR1.