92 lines
4.3 KiB
Markdown
92 lines
4.3 KiB
Markdown
---
|
||
title: "LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory (Wu et al., UCLA/Tencent, ICLR 2025)"
|
||
created: 2026-06-25
|
||
updated: 2026-06-25
|
||
type: paper
|
||
tags: ["memory-benchmark", "chat-assistant", "long-term-memory", "evaluation"]
|
||
sources:
|
||
- "https://arxiv.org/abs/2410.10813"
|
||
code: "https://github.com/xiaowu0162/LongMemEval"
|
||
---
|
||
|
||
# LongMemEval: Benchmarking Long-Term Interactive Memory in Chat Assistants
|
||
|
||
> Wu et al. | UCLA / Tencent AI Lab Seattle / UC San Diego | ICLR 2025 | arXiv:2410.10813
|
||
|
||
## 问题
|
||
|
||
LLM 驱动的聊天助手已集成记忆组件来追踪交互历史,但其在**持续交互中的长期记忆能力**缺乏系统评估。现有基准有两个缺陷:
|
||
1. 对话历史过短(几千 tokens),无法挑战现代系统的记忆能力
|
||
2. 问题覆盖面窄——缺少跨会话推理、时间推理、知识更新、信息遗忘等关键能力
|
||
|
||
## [[longmem-eval|LongMemEval 基准]]
|
||
|
||
### 问题形式化
|
||
|
||
每个评测实例为 4-元组 (S, q, t_q, a):
|
||
- **S** = [(t₁, S₁), ..., (t_N, S_N)]:按时间排序的 N 个历史会话,每个 S_i 是多轮用户-助手交互
|
||
- **q**:问题
|
||
- **t_q**:提问时间戳
|
||
- **a**:答案
|
||
|
||
### 五种核心记忆能力 (500 题)
|
||
|
||
| 能力 | 说明 | 例子 |
|
||
|------|------|------|
|
||
| **Information Extraction** | 从单/多会话提取隐藏信息 | "我上次去博物馆是什么时候?" |
|
||
| **Multi-Session Reasoning** | 跨多个会话综合信息 | "我目前拥有多少乐器?"(分散在 4 个会话中) |
|
||
| **Temporal Reasoning** | 基于时间参考的推理 | "距离我上次和朋友去博物馆过去了几个月?" |
|
||
| **Knowledge Updates** | 处理用户信息的更新/矛盾 | 用户先说过敏花生→后来说不过敏 |
|
||
| **Abstention** | 识别无法回答的问题 | 问 30-gallon 鱼缸的鱼数——但用户只有 10-gallon |
|
||
|
||
### 两种标准设置
|
||
|
||
| 设置 | 规模 | 难度 |
|
||
|------|------|------|
|
||
| LongMemEval **S** | ~115k tokens/problem | 长上下文 LLM 下降 30-60% |
|
||
| LongMemEval **M** | 500 sessions, ~1.5M tokens | 极大规模长时间交互 |
|
||
|
||
## 统一记忆设计框架:[[memory-indexing-retrieval-reading|索引→检索→阅读]]
|
||
|
||
将记忆系统分解为三个阶段 × 四个控制点:
|
||
|
||
```
|
||
会话 → [Value 粒度] → [Key 索引] → 存储
|
||
↓
|
||
查询 → [Query 展开] → 检索 → [Reading 策略] → 答案
|
||
```
|
||
|
||
**三阶段**:Indexing(索引写入)、Retrieval(检索召回)、Reading(阅读利用)
|
||
**四控制点**:Value(存储粒度)、Key(索引键)、Query(查询)、Reading Strategy(利用策略)
|
||
|
||
## 关键实验发现
|
||
|
||
### 1. 粒度:Round > Session > User Fact
|
||
|
||
Session 级别的存储信息损失严重。最优粒度是 **round**(单轮交互),但进一步压缩为 user facts 会在总体精度上反降——尽管它提升了多会话推理准确度。
|
||
|
||
### 2. [[fact-augmented-key-expansion|事实增强的 Key 展开]]
|
||
|
||
用提取的用户事实(而非仅对话原文)作为索引键:
|
||
- 记忆召回 +9.4% (recall@k)
|
||
- 下游 QA 准确度 +5.4%
|
||
|
||
### 3. [[time-aware-query-expansion|时间感知的 Query 展开]]
|
||
|
||
直接把时间戳关联到事实并缩小搜索范围:
|
||
- 时间推理召回 +6.8%~11.3%(当使用强 LLM 展开查询时)
|
||
|
||
### 4. Reading 策略:Chain-of-Note + 结构化格式
|
||
|
||
即使完美召回,准确利用检索到的项目仍非易事。Chain-of-Note + 结构化数据格式在三类 LLM 上提升 QA 达 **10 个绝对百分点**。
|
||
|
||
## 核心洞察
|
||
|
||
1. **记忆评测需要覆盖"遗忘"**——Abstention 是 LongMemEval 的独特贡献:模型必须学会说"我不知道",而非幻想答案
|
||
2. **三阶段框架统一了记忆设计空间**——indexing/retrieval/reading 的分拆使不同优化策略可以在独立控制点上叠加
|
||
3. **Key 展开的价值大于 Query 展开**——在索引阶段用结构化事实增强 key 比在查询阶段做 rewrite 更高效(+9.4% vs +6.8-11.3%)
|
||
4. **与 Atlas 的对接点**:LongMemEval 的三阶段框架可以直接映射到 Atlas 的 ES 记忆管线——round 粒度 → episodic 索引,fact-augmented key 对应 semantic 索引的 consolidation 输出
|
||
|
||
## 来源
|
||
[原始存档](raw/papers/longmem-eval-2025.md) | [arXiv](https://arxiv.org/abs/2410.10813) | [GitHub](https://github.com/xiaowu0162/LongMemEval)
|