MemArbiter: Decision-Time Memory Arbitration for Long-Horizon LLM AgentsMemArbiter: Decision-Time Memory Arbitration for Long-Horizon LLM Agents
论文阅读:MemArbiter——面向长程 LLM Agent 的决策时 Memory 仲裁
论文标题:MemArbiter: Decision-Time Memory Arbitration for Long-Horizon LLM Agents
作者:Jiajun Dong, Yutao Hu, Fengrui Fan, Shihan Dou, Yueming Wu, Deqing Zou
发表位置:arXiv preprint
arXiv 编号:2608.02113
原文链接:https://arxiv.org/abs/2608.02113
PDF:https://arxiv.org/pdf/2608.02113
主题:LLM Agent、Working Memory、Long-Horizon Agent、Memory Management、Memory-Action Gap
核心问题:即使与当前 Action 有关的信息已经被 Memory 系统保存并成功访问,为什么它仍然可能无法真正影响 Agent 的下一步决策?
1. Introduction:Memory 被找到了,不等于真的被用上了
在长程 Agent 任务中,Agent 会不断积累:
- 当前环境状态;
- 之前执行过的 Action;
- Action 的成功或失败结果;
- 已经发现的环境信息;
- 当前子目标;
- 任务约束。
因此,一个长程 Agent 不仅需要“记住”过去的信息,还需要在正确的时间让正确的信息真正影响下一步 Action。
已有大量 Memory 工作主要解决的是 Memory accessibility(记忆可访问性):
- 扩大或管理 Context Window;
- 从历史信息中 Retrieval;
- 压缩长文本;
- 对交互历史进行 Summarization;
- 保存 Episodic Experience。
这些方法回答的问题通常是:
与当前任务有关的信息还能不能被保存下来,并在需要的时候被找到?
但 MemArbiter 关注的是另一个阶段的问题:
信息已经存在,而且 Memory Manager 已经能够访问它,但为什么 Agent 最后还是做错了?
作者将这种现象称为:
Memory-Action Gap(记忆—行动鸿沟)。
2. Memory-Action Gap:一种发生在“访问之后”的失败
论文专门区分了三种不同情况。
2.1 Forgetting
信息根本没有被保存下来。
例如:
Agent 曾经发现钥匙在抽屉里,但是 Memory 系统没有保存这条信息。
那么后面 Agent 自然无法利用它。
2.2 Retrieval Failure
信息虽然保存了,但之后没能被检索出来。
例如:
Memory 里确实存在:
key is in drawer 2
但当前需要钥匙的时候,Retriever 没有把这条信息找到。
2.3 Memory-Action Gap
第三种情况不同:
信息保存了
↓
Memory Manager 也能够访问
↓
甚至可能已经参与当前 Memory Prompt 构造
↓
但最终仍然没有充分影响 Action
也就是说:
Accessible Memory ≠ Effective Action Guidance
信息“可以被访问”,并不意味着模型一定会在当前决策中正确使用它。
论文认为,其中一部分原因来自 Memory Management 本身,例如:
- Memory 是如何形成的;
- 不同类型的信息如何组织;
- 哪些信息应该优先;
- 信息应该以多大的详细程度呈现;
- 什么信息当前应该进入 Prompt;
- 哪些信息应该暂时隐藏。
论文并不试图解决所有 Memory-Action Gap。
作者明确指出,Gap 也可能来自底层模型自身的 Reasoning 能力。
MemArbiter 只关注:
由 Memory Management 导致的 Memory-Action Gap。
3. 为什么“Flat Memory”可能有问题?
作者认为,长程 Agent 的历史信息实际上具有完全不同的决策功能。
例如:
目标是什么?
和:
我现在在哪里?
以及:
刚才这个 Action 为什么失败?
虽然都属于“Memory”,但三者在下一步决策中的作用完全不同。
论文将 Memory 分成五种功能角色:
| Memory 类型 | 决策功能 | 典型信息 | 时间特征 |
|---|---|---|---|
| Goal | 引导 Agent 朝目标行动 | Task Goal、完成条件 | 跨 Step 持续存在 |
| Task State | 描述当前决策状态 | 当前位置、持有物体、Object State | 高频更新 |
| Constraint | 限制不合法 Action | 属性要求、位置限制、数量限制 | 在相关 Step 中较稳定 |
| Episodic | 保存过去 Action 与结果 | Action、成功/失败结果 | 持续积累 |
| Reference | 保存可重复使用的环境知识 | Object Location、ID、URL、Parameter | 需要时激活 |
它们的生命周期和用途明显不同。
例如:
- Goal 通常整个任务都需要;
- Task State 经常发生变化;
- Constraint 可能持续很多 Step;
- Episodic 会随着交互不断增加;
- Reference 可能很久不用,但某一步突然非常重要。
如果所有 Memory 都被扁平地混在一个列表中:
Memory 1
Memory 2
Memory 3
Memory 4
...
那么系统实际上忽略了这些信息之间的功能差异。
4. Figure 1:信息明明存在,Agent 为什么还是走错了?
论文使用一个 ALFWorld 任务展示 Memory-Action Gap。
任务大意是:
将一个 Pan 冷却,然后放到 Countertop 上。
在 Flat Memory 中,Agent 已经可以看到与任务相关的多条历史信息。
其中包括旧的 Object Location、之前执行过的操作以及当前相关状态。
但这些异质信息全部混合在同一个 Memory Context 中。
结果 Agent 抓住了其中一条关于旧位置的信息,又跑去寻找 Pan,而没有充分利用更加关键的当前状态:
Agent 已经位于 Countertop,并且手里拿着已经冷却好的 Pan。
Function-Aware Memory 则分别组织这些信息,例如:
Goal:
cool some pan and put it on countertop
Task State:
at countertop
holding cooled pan
Constraint:
target pan must be cooled
Episodic:
go to countertop -> success
cool pan -> success
Reference:
previously discovered environmental facts
这样,当前真正决定 Action 的 Task State 和 Goal 可以获得更加明确的决策地位。

【Figure 1(Flat Memory 与 Function-Aware Memory 的案例对比,用于说明 Memory-Action Gap)】
Figure 1 想表达的重点并不是“旧信息应该被删除”,而是:
即使相关信息都存在,不同功能的信息如果以同样的方式混在一起,真正决定当前 Action 的信息也可能无法获得足够的显著性。
5. Problem Formulation
5.1 Stepwise Agent Setting
论文采用标准 ReAct Agent 的逐步交互环境。
每个 Step 中:
Task Goal
+
Current Observation
+
Cross-step Memory
↓
LLM
↓
Action
↓
Environment
↓
New Observation / Outcome
Memory Module 会随着环境反馈不断更新。
在执行下一次 Action 前,Memory Module 从完整 Memory 中组织出一部分当前可见内容:
Complete Memory M_t
↓
Memory Management
↓
Prompt-visible Memory P_t
↓
Action Generation
MemArbiter 研究的核心就是:
如何从
M_t构造出真正适合当前决策的P_t。
论文保持:
- Base Model;
- ReAct Loop;
- Environment;
不变。
主要修改的是中间的 Memory Management。
5.2 Atomic Memory Item
另一个关键设计是:
Memory 不应该直接以“大段历史文本”为最小单位。
一条 Observation 里面可能同时包含:
- 当前状态变化;
- Action 结果;
- Constraint;
- Reference Fact。
如果把整个 Observation 当作不可拆分的一块:
Observation X
系统就很难分别控制里面不同信息的:
- 更新;
- 优先级;
- 生命周期;
- Prompt 展示方式。
因此作者首先把历史信息拆成 Atomic Memory Item(原子记忆项)。
每个 Item 对应一个相对独立、可以单独更新和控制的信息单元。
例如:
pan 1 is on countertop
可能属于 Reference。
而:
pan 1 must be cooled
则属于 Constraint。
这两个事实可能来自同一个 Observation,但对未来 Action 的作用完全不同,因此需要独立管理。
6. MemArbiter 整体框架
MemArbiter 是一个外部 Decision-Time Working Memory Arbitration 模块。
每个 Step 开始时,系统首先进行 State Parsing。
它读取:
Task Goal
Current Observation
Previous Action
Previous Action Outcome
Accumulated Trajectory
并提取一些中间决策状态:
Current Subgoal
Task Progress
Relevant Entities
Unresolved Information Needs
这些信息共同构成当前的:
Decision Context
之后 MemArbiter 依次执行五个阶段:
1. Memory Banks + Candidate Writes
↓
2. Dual-Band Memory Representation
↓
3. Decision-Relevance Signals
↓
4. Temporal Presentation Gate
↓
5. Prompt Assembly
↓
Next Action

【Figure 2(MemArbiter 整体框架:Memory Formation、Decision-Time Arbitration 与 Prompt Construction)】
下面逐层展开。
7. Memory Banks 与 Candidate Writes
7.1 Candidate Writer
每个 Step 中,新 Observation 和上一轮 Action Outcome 会产生新的信息。
MemArbiter 使用一个 Candidate Writer 将这些信息拆成 Atomic Memory Candidate。
Candidate Writer 不只是看到新 Observation,还会获得完整 Decision Context,因此它能够结合:
- Goal;
- 当前 Subgoal;
- Task Progress;
- Relevant Entities;
- Information Needs;
判断一条新信息未来可能有什么用途。
一条 Observation 可以同时产生多个 Candidate。
例如一次 Action 失败后,可能同时产生:
Task State:
object is still in previous location
Episodic:
open fridge -> failed
Reference:
fridge must first be unlocked
但每一个 Atomic Memory Item 最终只有一个主要 Functional Role。
7.2 Candidate Write 不一定意味着新增 Memory
Candidate Write 可以表示:
新增 Memory
也可以表示:
修改已有 Memory
每个 Candidate 还包含一些结构化属性,例如:
- Source;
- Related Entities;
- Applicable Scope。
正式写入 Memory Bank 前还会进行:
Validity Checking
Deduplication
Conflict Resolution
因此新的 Candidate 最后可能:
Reject
Merge
Overwrite
Insert
8. 五种 Memory Bank 如何更新?
不同 Bank 的更新逻辑并不一样。
Goal
保存任务目标和 Completion Criteria。
这类 Memory 通常会跨多个 Step 保持有效。
Task State
保存最新状态,例如:
current location
held objects
object state
Task State 采用接近 Snapshot 的更新逻辑:
新的有效状态会替换旧状态。
因为对于当前 Action 而言,Agent 更需要知道“现在是什么状态”,而不是把所有历史状态都混在一起。
Constraint
保存任务限制,例如:
object must be cooled
object must be placed at location X
quantity must equal 2
重复 Constraint 会被 Merge。
如果 Constraint 的适用范围或有效性发生变化,也可以被更新。
Episodic
保存时间有序的:
Action -> Outcome
例如:
open fridge -> failed
go countertop -> success
cool pan -> success
这类信息随着任务不断积累,可以帮助之后避免重复失败或复用已经成功的操作经验。
Reference
用于保存环境中发现的可重复利用的事实:
object location
identifier
URL
parameter
重复事实会被合并。
如果新 Evidence 与旧 Reference 冲突,则根据新的 Evidence 更新已有信息。
9. Dual-Band Memory Representation:同一条 Memory 有两种表达
有了五个 Bank 之后,MemArbiter 又引入第二个独立维度:
Band。
作者为每一个 Memory Item 保存两种 Prompt 表示:
Focal
Ambient
9.1 Focal Memory
Focal 表示保留完整 Memory 内容。
它用于:
当前 Action 真正需要重点关注的信息。
例如:
The agent is currently at countertop 1 and holding the cooled pan 1.
详细信息被完整放入 Prompt。
9.2 Ambient Memory
Ambient 是更加简短的 Cue。
论文使用确定性的 Bank-specific Template 生成 Ambient Representation,只保留:
- 核心 Entity;
- Relation;
- State。
它不是重新生成一份新的 Memory,而是同一 Memory 的精简展示形式。
例如概念上可以理解为:
Focal:
The agent is currently holding cooled pan 1 while standing at countertop 1.
Ambient:
holding: cooled pan 1
location: countertop 1
这里的例子只是帮助理解 Focal / Ambient 的粒度区别;论文的具体 Template 细节没有完整展开。
9.3 Bank 和 Band 是两个不同维度
这是整个设计中很重要的一点。
Bank 决定:
这条 Memory 是干什么的?
例如:
Goal / Task State / Constraint / Episodic / Reference
而 Band 决定:
当前这一步应该让模型多大程度地注意它?
例如:
Focal
Ambient
因此,同一个 Reference Memory 可以:
Reference + Focal
也可以:
Reference + Ambient
同一个 Episodic Memory 也可以根据当前情况在两者之间切换。
Memory Item 本身不需要重新提取或重新分类。
10. Decision-Relevance Signals:当前到底需要什么 Memory?
随着任务推进,不同 Memory Bank 的价值会变化。
例如:
Agent 正常执行时,也许 Task State 和 Goal 最重要。
但如果上一轮刚刚失败:
Episodic Memory
就可能突然非常重要。
因此 MemArbiter 使用两层信号:
Bank-level Demand
Item-level Relevance
10.1 Bank-Level Demand
Bank-Level Demand 回答:
当前这一步整体上需要哪一类 Memory?
五个 Bank 的判断依据不同。
Goal
关注:
- 当前 Subgoal 是否已经完成;
- 整体任务进行到哪里。
Task State
主要关注:
- 当前 State Snapshot 是否足够新。
Constraint
判断现有 Constraint 是否与:
- 当前 Subgoal;
- 上一步 Action Outcome;
有关。
Episodic
主要结合:
- 上一步是否出现异常结果;
- 过去 Event 与当前 Subgoal 是否相关。
因此,如果刚才出现失败:
Episodic Demand ↑
就是一个自然的行为。
Reference
主要关注:
- 当前是否还有 unresolved information need;
- 已保存 Fact 是否能解决这些信息需求。
11. Item-Level Relevance
仅仅知道:
现在比较需要 Episodic Memory
还不够。
因为 Episodic Bank 里面可能已经有几十条历史事件。
因此还需要第二层:
当前 Bank 里的哪一个具体 Memory Item 最有用?
不同 Bank 使用不同的 Item Relevance 判断方式。
| Bank | Item-Level Relevance 主要依据 |
|---|---|
| Goal | 是否与 Current Subgoal 对齐 |
| Task State | Recency |
| Constraint | Scope 是否匹配当前 Subgoal 或上一 Action Outcome |
| Episodic | Subgoal Similarity + Error Recovery Utility |
| Reference | 是否能解决当前 Information Need |
因此 MemArbiter 实际上同时回答两个问题:
当前需要哪一类 Memory?
↓
这一类里面具体需要哪几条?
12. Temporal Presentation Gate:Memory 的重要性需要具有时间连续性
如果每一个 Step 都只根据“当前瞬间的 Relevance”重新选择 Memory,会产生一个问题:
Memory 的显著性可能频繁抖动。
例如:
Step t:
Memory A 很重要
Step t+1:
相关度稍微下降
→ A 被立即移除
Step t+2:
A 又变重要
→ A 再次出现
对于长程任务,这种完全无状态的 Memory Selection 可能让真正重要的信息过早消失。
因此作者引入:
Temporal Presentation Gate。
12.1 三种 Presentation State
每个 Memory Item 在当前 Step 可以处于:
Focal
Ambient
Hidden
需要注意:
Hidden 并不是第三种 Memory Representation。
它表示:
当前 Step 不把这条 Memory 放进 Prompt。
Memory 本身仍然存在。
12.2 Gate 使用哪些信息?
当前 Presentation State 不只由 Current Relevance 决定。
Gate 同时考虑:
Previous Presentation State
Bank-Level Demand
Item-Level Relevance
Relevance History
也就是:
过去它有多重要?
+
当前这一类 Memory 是否重要?
+
当前这条 Item 是否重要?
+
重要性变化是否持续?
↓
新的 Presentation State
12.3 Promotion、Retention、Demotion 与 Hiding
如果某条 Memory 当前非常重要:
→ Focal
如果仍然有用,但暂时不是当前决策核心:
→ Ambient
如果相关性不足:
→ Hidden
而原本处于 Focal 的 Memory,如果 Relevance 持续下降,也会逐渐被 Demote。
因此 Gate 的目的之一就是区分:
Transient Relevance Fluctuation
与:
Persistent Relevance Change
避免因为一次短暂波动就把重要 Memory 从 Prompt 中删除。
13. 不同 Memory Role 的 Temporal Rule 也不同
Gate 并不是对五个 Bank 使用完全一致的时间规则。
Goal 与 Constraint
Goal 和 Constraint 不会因为普通时间衰减就自动消失。
直到它们:
Completed
Superseded
Invalidated
才会被替换或降低地位。
Task State
Task State 主要保持:
Latest Valid Snapshot
因为旧 State 对当前决策通常价值较低。
Episodic 与 Reference
这两类 Memory 则会随着任务进展动态改变 Focal / Ambient / Hidden 状态。
因此整个系统不仅是:
Memory Retrieval
而更接近:
Memory Scheduling
即不断决定:
哪一条 Memory 应该在什么时候、以什么粒度出现在模型面前。
14. Prompt Assembly:最终如何构造 Action Prompt?
经过 Gate 后,每个 Memory Item 已经带有 Presentation State。
Prompt Assembly 最后把这些内容整理成结构化 Prompt。
首先按 Bank 分区:
Goal
Task State
Constraint
Episodic
Reference
每个 Bank 内:
Focal Memory
↓
Ambient Memory
Focal 使用完整表达。
Ambient 使用压缩 Cue。
同一 Band 内再按照 Item-Level Relevance 排序。
Hidden Item 不进入当前 Prompt。
最终:
Structured Memory Prompt
+
Current Observation
↓
Action Generation Model
↓
Next Action
这就完成了一个 Step 的 Memory Arbitration。
15. 从整体上理解 MemArbiter
整个方法可以概括成下面这条 Pipeline:
Observation / Action Outcome
↓
State Parsing
↓
Decision Context
↓
Atomic Candidate Writing
↓
Functional Memory Banks
↓
Focal / Ambient Representation
↓
Bank-Level Demand
+
Item-Level Relevance
↓
Temporal Presentation Gate
↓
Focal / Ambient / Hidden
↓
Structured Prompt
↓
Action
↓
Environment
↓
进入下一轮
因此 MemArbiter 并不是简单增加一个 Retriever。
它对 Memory 的几个不同阶段都进行了控制:
Formation
Organization
Prioritization
Presentation
这也是论文所谓:
End-to-End Memory Arbitration。
16. Experiments
16.1 Benchmark:ALFWorld
论文在 ALFWorld 上进行实验。
ALFWorld 是一个文本形式的 Embodied Agent Benchmark。
Agent 需要通过自然语言 Action 完成长程家庭环境任务,例如:
- Navigation;
- 找 Object;
- 拿起 Object;
- 加热;
- 冷却;
- 清洁;
- 将 Object 放到指定位置。
论文使用:
eval_out_of_distribution
中的全部 134 个 unseen tasks。
每个 Episode:
- 成功完成任务时结束;
- 或达到 50 个 Interaction Step 后结束。
17. Baseline
作者使用两个 Type-Agnostic Baseline。
也就是两个 Baseline 都不会像 MemArbiter 一样区分五种 Memory Role。
17.1 Flat Recency
直接保存:
Observations + Actions
作为非结构化历史。
当超过 Token Budget 时,只保留最近的信息。
也就是典型的:
最近发生的事情最重要
策略。
17.2 Flat Retrieval
使用 BM25 对 Observation Line 进行检索。
Query 由以下内容拼接:
Task Goal
+
Previous Action
+
Latest Observation
然后选择 BM25 分数最高的历史信息,直到达到相同 Memory Budget。
因此它代表:
根据文本相关性检索历史
这一类策略。
18. Model 与实验配置
主要实验使用:
Qwen3.6-27B-FP8
进行:
- Action Generation;
- MemArbiter Candidate Writing;
- Current-State Parsing。
Qwen3.6 通过 vLLM 部署,最大 Context Length 为:
4096 tokens
硬件为:
1 × NVIDIA A100-SXM4-80GB
实验设置两个 Memory-Prompt Budget:
500 tokens
750 tokens
这里的 Budget 只限制:
插入 Action Prompt 的 Memory Block。
所有方法都按照统一 Tokenizer 对这部分 Memory Prompt 进行计数。
Qwen 实验:
temperature = 0
random seed = 42
每个 Task 运行一次。
BM25 设置:
k1 = 1.2
b = 0.75
19. 评价指标:SR@k
论文使用:
SR@k
表示:
134 个任务中,在最多 k 个 Interaction Step 内完成任务的比例。
主要指标为:
SR@50
同时作者还使用:
SR@15
以及不同 Step Limit 下的累计成功率,用于观察任务完成速度。
20. RQ1:整体性能
论文的主要结果如下。
| Memory Budget | Method | Pick | Look | Clean | Heat | Cool | Pick Two | Overall |
|---|---|---|---|---|---|---|---|---|
| 500 | Flat Recency | 66.67 | 83.33 | 70.97 | 21.74 | 47.62 | 0.00 | 50.75 |
| 500 | Flat Retrieval | 75.00 | 66.67 | 83.87 | 52.17 | 71.43 | 0.00 | 61.94 |
| 500 | MemArbiter | 95.83 | 100.00 | 80.65 | 73.91 | 85.71 | 58.82 | 82.84 |
| 750 | Flat Recency | 70.83 | 83.33 | 77.42 | 21.74 | 42.86 | 0.00 | 52.24 |
| 750 | Flat Retrieval | 83.33 | 72.22 | 83.87 | 65.22 | 76.19 | 0.00 | 67.16 |
| 750 | MemArbiter | 100.00 | 100.00 | 93.55 | 86.96 | 100.00 | 70.59 | 92.54 |
500-token Budget 下:
Flat Recency: 50.75%
Flat Retrieval: 61.94%
MemArbiter: 82.84%
相对最强 Baseline Flat Retrieval:
+20.90 percentage points
750-token Budget 下:
Flat Recency: 52.24%
Flat Retrieval: 67.16%
MemArbiter: 92.54%
相对 Flat Retrieval:
+25.38 percentage points
21. 增加 Memory Budget 本身并不能解决问题
一个比较明显的实验现象是:
从:
500 tokens
增加到:
750 tokens
以后,两个 Flat Baseline 提升都比较有限。
Flat Retrieval:
61.94 → 67.16
Flat Recency:
50.75 → 52.24
而 MemArbiter:
82.84 → 92.54
论文据此认为:
Memory Capacity 是否有用,不只取决于保存了多少信息,还与这些信息是否按照其 Decision Function 被组织和呈现有关。
也就是说,增加 Context 中的 Memory 数量本身并不能保证这些 Memory 能有效指导 Action。
22. Pick Two 是差距最大的任务类型
Pick Two 任务要求 Agent 同时处理多个中间状态。
两个 Flat Baseline 在两个 Token Budget 下都是:
0%
而 MemArbiter 达到:
500 tokens: 58.82%
750 tokens: 70.59%
作者认为,这类任务尤其依赖:
在较长轨迹中持续保存并协调多个 Intermediate State。
因此它更容易暴露 Flat Memory 在长程状态管理上的问题。
23. SR@k:优势是否只是因为走了更多 Step?
作者还比较不同 Interaction Step Limit 下的累计成功率。
结果显示:
MemArbiter 在大多数 Step Limit 下都保持更高累计成功率,而且随着允许执行的 Step 增加,和 Flat Baseline 之间的差距总体继续扩大。
因此论文指出:
最终成功率提高并不是简单依靠“多尝试几次 Action”获得的。
相反,在更长的 Interaction Trajectory 中,MemArbiter 能继续利用历史信息,而 Flat Baseline 更早出现性能平台。
24. Cross-Model Validation
为了验证效果是否依赖 Qwen3.6,作者进行了 Cross-Model Experiment。
这一次:
- Candidate Writing:仍然使用 Qwen3.6;
- State Parsing:仍然使用 Qwen3.6;
- 只有 Action Generation 替换成 GPT-5.4。
Memory Budget 为:
500 tokens
结果:
| Method | SR@15 | SR@50 |
|---|---|---|
| MemArbiter | 70.14 | 83.58 |
| Flat Retrieval | 68.65 | 70.89 |
| Flat Recency | 68.65 | 73.13 |
MemArbiter 的 SR@50:
83.58%
相对 Flat Retrieval:
+12.69 percentage points
相对 Flat Recency:
+10.45 percentage points
因此论文认为:
Memory Arbitration 的收益在更换 Action Generation Model 后仍然存在。
25. RQ2:Ablation Study
作者对三个核心组件进行消融:
w/o Functional Banks
w/o Dynamic Signals
w/o Temporal Gate
全部使用:
500-token Memory Budget
结果如下:
| Variant | SR@15 | 相对完整模型 | SR@50 | 相对完整模型 |
|---|---|---|---|---|
| MemArbiter | 64.93 | - | 82.84 | - |
| w/o Functional Banks | 61.19 | -3.74 | 67.16 | -15.68 |
| w/o Dynamic Signals | 62.69 | -2.24 | 65.67 | -17.17 |
| w/o Temporal Gate | 67.91 | +2.98 | 73.88 | -8.96 |
25.1 去掉 Functional Banks
将五个 Functional Bank 改成一个统一 Memory Pool:
SR@50:
82.84 → 67.16
下降:
15.68 percentage points
有意思的是,SR@15 只下降:
3.74 points
也就是说:
随着 Interaction History 变长,Functional Organization 的作用越来越明显。
论文将这一现象解释为:
长程运行中异质 Memory 越来越多,如果不区分它们的 Decision Function,信息之间更容易发生干扰。
26. 去掉 Dynamic Signals
如果不动态计算不同 Bank 的需求,而采用固定 Allocation:
SR@50:
82.84 → 65.67
下降:
17.17 points
这是三个消融中最终性能下降最大的一个。
原因在于:
Task 的 Active Subgoal 会变化。
当前需要的 Memory 类型也会随之变化。
例如:
正常执行阶段
→ Task State / Goal
Action Failure 后
→ Episodic
需要寻找未知信息
→ Reference
固定 Allocation 无法随着这种需求变化调整 Memory Salience。
27. 去掉 Temporal Gate
这个消融结果比较特殊。
去掉 Temporal Gate 后:
SR@15:
64.93 → 67.91
反而提高:
+2.98
但到了长轨迹:
SR@50:
82.84 → 73.88
下降:
8.96
论文对此的解释是:
完全独立的 Per-Step Selection 在任务早期可能更加积极地选择“当前最相关”的 Memory,因此短期内效果甚至更好。
但随着 Trajectory 变长:
它不擅长持续保留跨多个 Step 仍然有价值的信息。
因此 Temporal State 的优势主要体现在更长的 Decision Sequence 中。
28. RQ3:失败以后,Agent 会不会真的调整 Memory?
论文进一步研究:
MemArbiter 的效果是否对应可观察的行为变化?
作者重点分析 Action Failure 后的情况。
28.1 One-Step Recovery
定义为:
一个 Action 执行失败以后,紧接着的下一个 Action 成功执行的比例。
注意:
这里的“Recovery”只表示:
next execution succeeds
并不意味着:
整个任务完成
也不保证任务一定取得了实质进展。
28.2 Failed-Action Repetition
表示:
Action 失败以后,下一步又重复执行同一个失败 Action 的比例。
28.3 Adjacent Repetition
统计完整 Trajectory 中:
连续两个 Action 完全相同
的情况。
28.4 State-Action Recurrence
判断:
相同的 Pre-Action Observation + Action 是否曾经在当前 Episode 更早出现过。
这个指标用于识别更加长期的循环行为。
29. Failure Recovery 实验结果
| Budget | Metric | MemArbiter | Flat Retrieval | Flat Recency |
|---|---|---|---|---|
| 500 | One-step recovery ↑ | 59.9 | 41.7 | 18.5 |
| 500 | Failed-action repetition ↓ | 26.7 | 47.1 | 80.8 |
| 500 | Adjacent repetition ↓ | 4.15 | 15.72 | 29.91 |
| 500 | State-action recurrence ↓ | 12.99 | 26.99 | 38.49 |
| 750 | One-step recovery ↑ | 65.3 | 30.5 | 16.3 |
| 750 | Failed-action repetition ↓ | 20.7 | 52.1 | 82.8 |
| 750 | Adjacent repetition ↓ | 2.33 | 15.40 | 29.96 |
| 750 | State-action recurrence ↓ | 4.33 | 24.85 | 38.64 |
在 500 Token 下:
One-step recovery:
MemArbiter 59.9%
Flat Retrieval 41.7%
提高:
18.2 percentage points
Failed-Action Repetition:
MemArbiter 26.7%
Flat Retrieval 47.1%
降低:
20.4 percentage points
750 Token 下差距进一步扩大。
30. 失败之后 Episodic Memory 会获得更高显著性
这是论文用于解释机制的另一个实验。
作者统计:
一个失败 Action 对应的 Prompt,与观察到失败以后构造的下一份 Prompt 中,Episodic Memory 占全部 Memory Token 的比例。
结果:
| Setting | Budget | Failed-Action Prompt | Next Prompt |
|---|---|---|---|
| MemArbiter | 500 | 29.4 | 32.7 |
| MemArbiter | 750 | 31.4 | 33.3 |
| w/o Temporal Gate | 500 | 19.9 | 20.1 |
在完整 MemArbiter 中:
500 tokens:
29.4% → 32.7%
增加:
+3.3 percentage points
750 tokens:
31.4% → 33.3%
增加:
+1.9 percentage points
而去掉 Temporal Gate 后:
19.9% → 20.1%
只增加:
0.2 points
也就是说,当 Agent 刚刚遭遇失败时:
MemArbiter 会让与过去 Action Outcome 有关的 Episodic Memory 在下一次决策中获得更高 Prompt Exposure。
这与更高的 Failure Recovery 和更少的重复 Action 同时出现。
不过作者特别强调:
这里展示的是 association(关联),而不是直接的 causal evidence(因果证据)。
论文并没有证明:
某一条 Episodic Memory 被 Promote
↓
直接导致
↓
某一个 Action 成功
31. Related Work:MemArbiter 与已有 Memory 工作的区别
论文将相关工作大致分成两类。
31.1 Agent Memory Management
现有 Agent Memory 包括:
Persistent Cross-Session Memory
跨 Session 保存长期信息。
In-Trial Context Compression / Summarization
对当前长轨迹中的 Context 进行压缩与总结。
Experience-Based Memory
保存可以跨任务复用的:
- Lesson;
- Skill;
- Program;
- Workflow。
Working Memory
论文特别提到一些更加接近 MemArbiter 的工作:
HiAgent
按照 Subgoal 组织 Interaction History。
ARC
维护可以不断修改的 Execution Context。
MemAct / AgeMem
学习更加通用的 Memory Editing Operation。
作者认为这些工作已经说明:
长程 Agent 中主动管理 Working Memory 很重要。
但它们更多围绕:
- Subgoal Progress;
- Unified Summary State;
- Generic Memory Editing;
进行组织。
MemArbiter 则进一步按照:
Memory 的 Decision Function
区分不同信息,并动态控制它们在 Decision-Time Prompt 中的显著性。
32. Memory Utilization for Action Selection
论文还引用了另一条研究线:
“Memory 在 Context 中”与“Memory 被模型正确使用”不是同一件事情。
例如 Lost in the Middle 已经表明:
即使相关信息就在输入中,它是否能被模型利用也会受到 Position 等因素影响。
另外,一些 Agent Memory 工作发现:
检索出来的 Experience 也可能:
- 传播错误;
- 提供误导信息。
Mem2ActBench 则进一步关注:
Long-Term Memory 能否真正 Ground 到可执行 Tool Call 中。
这些工作共同说明:
Memory Accessibility
≠
Effective Action Guidance
MemArbiter 在这一背景下进一步关注:
Within-Trajectory Working Memory 中,由 Memory Formation、Organization 和 Presentation 导致的 Memory-Action Gap。
33. Limitations and Future Work
论文明确给出了三个主要局限。
33.1 只在一个 Environment 上测试
论文只在:
ALFWorld
进行实验。
ALFWorld 属于:
Long-Horizon
Text-Based
Household Environment
因此,目前实验只能证明方法在这一环境中的有效性。
论文没有验证其是否能够迁移到:
- Web Agent;
- Multimodal Agent;
- 更 Open-Ended 的环境。
作者将这些方向留给 Future Work。
33.2 五种 Memory Role 是人工预先定义的
当前系统明确规定:
Goal
Task State
Constraint
Episodic
Reference
以及对应的 Relevance Signal。
这种设计的优点是:
Transparent
Auditable
每条 Memory 为什么获得某种 Presentation State 相对容易理解。
但它也意味着 Functional Role 依赖预先设计。
作者提出未来可以研究:
Domain-Adaptive Memory Role 与 Relevance Signal。
即让 Memory Function 更能够根据不同任务领域调整,同时仍然保持 Function-Aware 的整体结构。
33.3 当前只有关联性证据,没有因果证据
论文观察到:
Failure
↓
Episodic Exposure 增加
↓
后续 Recovery 更好
但这只是两个现象之间存在关联。
作者明确指出:
现有实验不能证明某一次:
Promotion / Demotion
直接造成了某一个 Action。
未来需要进行更加严格的:
Controlled Intervention
即主动控制某条 Memory 的 Presentation State,再观察 Action 是否发生变化,从而建立真正的因果证据。
34. 总结
MemArbiter 将长程 Agent Memory 中的问题从:
信息有没有被保存?
以及:
信息能不能被检索出来?
继续推进到:
信息已经可以访问以后,
怎样才能真正让它影响当前 Action?
论文将这一问题称为:
Memory-Action Gap。
针对 Memory Management 导致的这部分 Gap,MemArbiter 的主要流程是:
Interaction History
↓
Atomic Memory Item
↓
5 Functional Memory Banks
↓
Focal / Ambient Representation
↓
Bank-Level Demand
+
Item-Level Relevance
↓
Temporal Presentation Gate
↓
Focal / Ambient / Hidden
↓
Structured Memory Prompt
↓
Action
其中五个 Functional Memory Bank 分别承担:
Goal → 我要做什么?
Task State → 我现在处于什么状态?
Constraint → 什么不能违反?
Episodic → 我之前做过什么,结果如何?
Reference → 我已经知道哪些环境事实?
而 Dual-Band 与 Temporal Gate 进一步决定:
这条信息现在应该重点展示?
简略提醒?
还是暂时不进入 Prompt?
在 ALFWorld 的 134 个 unseen tasks 上,MemArbiter 在统一 Memory-Prompt Budget 下得到:
500 tokens:
82.84%
750 tokens:
92.54%
分别比最强 Flat Baseline 高:
20.90
25.38
percentage points
消融实验进一步显示:
- Functional Bank 的价值主要在较长 Interaction 中体现;
- Dynamic Bank-Level Signal 对最终性能贡献明显;
- Temporal Gate 在短轨迹中未必占优,但在长轨迹中能够更好地保持有价值的信息;
- Action Failure 后,MemArbiter 会提高 Episodic Memory 的 Prompt Exposure;
- 同时 Agent 出现更高的一步恢复率,以及更少的失败 Action 重复和 State-Action 循环。
因此,这篇论文的核心关注点不是继续扩大 Memory Storage,也不是单独提高 Retrieval Accuracy,而是研究:
Memory 在 Decision Time 应该如何被组织、调度和呈现,使已经可以访问的信息真正参与下一步 Action Selection。
参考
-
Dong, J., Hu, Y., Fan, F., Dou, S., Wu, Y., & Zou, D. MemArbiter: Decision-Time Memory Arbitration for Long-Horizon LLM Agents. arXiv:2608.02113, 2026.
https://arxiv.org/abs/2608.02113 -
Shridhar, M. et al. ALFWorld: Aligning Text and Embodied Environments for Interactive Learning. ICLR 2021.
-
Yao, S. et al. ReAct: Synergizing Reasoning and Acting in Language Models. 2022.
-
Liu, N. F. et al. Lost in the Middle: How Language Models Use Long Contexts. TACL, 2024.
-
Shen, Y. et al. Mem2ActBench: A Benchmark for Evaluating Long-Term Memory Utilization in Task-Oriented Autonomous Agents. arXiv:2601.19935, 2026.
-
Hu, M. et al. HiAgent: Hierarchical Working Memory Management for Solving Long-Horizon Agent Tasks with Large Language Models. ACL 2025.
-
Xiong, Z. et al. How Memory Management Impacts LLM Agents: An Empirical Study of Experience-Following Behavior. ACL 2026.

浙公网安备 33010602011771号