HyperMem: Hypergraph Memory for Long-Term Conversations
论文阅读:HyperMem——用超图组织长期对话记忆
论文标题:HyperMem: Hypergraph Memory for Long-Term Conversations
作者:Juwei Yue, Chuanrui Hu, Jiawei Sheng, Zuyi Zhou, Wenyuan Zhang, Tingwen Liu, Li Guo, Yafeng Deng
发表位置:ACL 2026 Main Conference,Volume 1: Long Papers
arXiv 编号:2604.08256
原文链接:https://arxiv.org/abs/2604.08256
ACL Anthology:https://aclanthology.org/2026.acl-long.1627/
主题:LLM Agent Memory、Long-term Conversation、Hypergraph、Hierarchical Retrieval
核心问题:传统 RAG 和 Graph-based Memory 主要通过成对关系组织记忆,如何显式表示跨时间、跨 Episode 的多元素高阶关联,并据此进行完整而高效的长期记忆检索?
1. 问题:长期记忆为什么还需要新的结构?
长期对话 Agent 面临的一个基本问题是:随着对话持续数周甚至数月,完整历史不可能一直保留在模型上下文窗口中,因此需要把历史信息保存为外部 Memory,并在之后按需取回。
传统方案大致可以分为两类。
第一类是普通 RAG。它将历史对话切成若干 Chunk,然后根据当前 Query 与 Chunk 的相似度取回若干片段。
第二类是 Graph-based RAG / Graph Memory。它进一步抽取实体和关系,通过图结构保存:
Alice -- signed_up --> Marathon
Bob -- works_on --> Project
这比完全独立的 Chunk 更结构化,但论文认为,两种方法仍然存在一个共同问题:
它们主要围绕 pairwise relation(成对关系)进行组织,而真实长期对话中的很多记忆实际上是多个元素共同形成的 high-order association(高阶关联)。
论文用一个持续数月的对话作为例子:
3 月:
Alice 报名参加马拉松。
3 月:
Bob 的项目快到 deadline,需要加班。
5 月:
Alice 已经可以跑 15km。
5 月:
Bob 项目上线,两人一起跑步庆祝,
Alice 又提到跑步可以缓解压力。
这里并不是只有一条简单的二元关系。
例如 Alice 的「马拉松训练」这一主题同时涉及:
- 报名马拉松;
- 后续训练;
- 跑步能力提升;
- 与之后跑步活动相关的事实。
这些 Episode 在时间上可能相隔数月,但在语义上属于同一个持续发展的主题。
如果只把历史保存成独立 Chunk,很容易只取回来其中一个片段。
即使构建普通图,论文认为多个 Episode 之间的这种「共同属于同一段长期叙事」的关系仍然没有被显式作为一个整体建模。
HyperMem 因此引入了 Hypergraph(超图)。

【Figure 1。该图对比 Chunk-based RAG、Graph-based RAG 与 HyperMem 的记忆结构,重点观察 HyperMem 如何利用一个 Hyperedge 将多个属于同一 Topic 的 Episode 作为整体关联起来。】
2. 为什么是 Hypergraph?
普通 Graph 中,一条 Edge 通常连接两个节点:
A ----- B
如果三个节点互相关联,通常需要拆成若干二元 Edge:
A ----- B
| |
+-------C
Hypergraph 则允许一条 Hyperedge(超边) 同时连接多个节点:
Hyperedge E = {A, B, C, D}
因此,在 HyperMem 中:
一条超边可以直接表示「这一组 Memory 共同属于某个语义单元」。
论文关注的并不是单纯把 Graph 换成 Hypergraph,而是利用这种结构建立一个三层长期记忆:
Topic
↓
Episode
↓
Fact
其中:
| 层级 | 含义 | 主要作用 |
|---|---|---|
| Topic | 长时间跨度上的共同主题 | 将时间上分散但语义上连续的 Episode 聚合起来 |
| Episode | 时间上连续的一段事件或子对话 | 保存事件级语境和时间信息 |
| Fact | Episode 中抽取出的原子事实 | 作为最终精确检索目标 |
这里最关键的是:
Topic 并不是简单的对话标签,而是跨时间组织 Episode 的语义锚点。
例如:
Topic: Alice's marathon training
Episode 1:
Alice signs up for marathon
Episode 2:
Alice can now run 15km
Episode 3:
Project launches; they run together
这些 Episode 可以出现在不同日期。
HyperMem 使用 Episode Hyperedge 将属于同一个 Topic 的多个 Episode 组织成一个整体。
另一方面,一个 Episode 内部又可能包含多个 Fact,因此使用另一层 Fact Hyperedge 将它们组织起来。
于是形成:
Topic
|
| Episode Hyperedge
|
+---- Episode A
+---- Episode B
+---- Episode C
|
| Fact Hyperedge
|
+---- Fact 1
+---- Fact 2
+---- Fact 3
论文的重点就在于:
把长期对话中的「主题连续性」「事件上下文」和「原子事实」分别保存在不同粒度上,同时利用 Hyperedge 显式保存多个 Memory 元素之间的整体关联。
3. HyperMem 整体框架
HyperMem 可以分成两个阶段:
Memory Construction / Indexing
↓
Memory Retrieval
Memory Construction 又包含:
Raw Conversation
↓
Episode Detection
↓
Topic Aggregation
↓
Fact Extraction
↓
Hypergraph Memory
↓
Lexical + Semantic Index
用户提出 Query 后,则沿相反方向进行 coarse-to-fine retrieval(粗到细检索):
Query
↓
Topic Retrieval
↓
Episode Retrieval
↓
Fact Retrieval
↓
Response Generation

【Figure 2。该图是 HyperMem 的核心框架图,上半部分展示 Episode Detection、Topic Aggregation、Fact Extraction 和 Hypergraph Memory 构建过程,下半部分展示从 Topic → Episode → Fact 的三级检索过程。】
下面按照论文的顺序分别介绍这些组件。
4. Hypergraph Memory Structure
HyperMem 将 Memory 表示成由三类节点组成的 Hypergraph:
V_T = Topic Nodes
V_E = Episode Nodes
V_F = Fact Nodes
以及两类 Hyperedge:
E_E = Episode Hyperedges
E_F = Fact Hyperedges
整体结构可以写成:
H = (
V_T union V_E union V_F,
E_E union E_F
)
其中:
E_E负责组织属于同一个 Topic 的 Episode;E_F负责组织属于同一个 Episode 的 Fact。
Hyperedge 中的节点还拥有一个 [0, 1] 范围的 importance weight(重要性权重),表示某个 Episode 或 Fact 对对应主题或事件的重要程度。
因此 HyperMem 不只是保存「谁和谁相连」,还保存:
这一组节点为什么被组织到一起
+
每个节点在该关联中的重要程度
5. Hypergraph Memory Construction
Hypergraph 的构建分成三个阶段:
- Episode Detection
- Topic Aggregation
- Fact Extraction
而且这些步骤并不是简单规则系统,其中多个关键判断由 LLM 完成。
5.1 Episode Detection:先把连续对话切成事件
长期对话通常不会一直围绕一个主题进行。
例如:
聊马拉松
→ 聊工作
→ 几周后继续聊马拉松
→ 聊项目
如果直接把大量消息作为一个整体 Memory 保存,会使多个事件互相混杂。
因此 HyperMem 首先定义 Episode(情节 / 事件片段)。
Episode 是:
时间上相对连续,并且语义上构成一个完整事件的一组对话。
流式边界检测
系统维护一个历史 Buffer。
每当新的对话到达时:
new dialogue
↓
append to buffer
↓
LLM boundary detector
LLM 会根据三个主要信号判断当前事件是否已经结束:
- 当前 Buffer 是否已经形成语义完整的事件;
- 连续对话之间是否存在明显的时间间隔;
- 是否出现主题切换或事件结束的语言信号。
模型输出两个核心信号:
should_end
should_wait
如果:
should_end = True
系统就把当前 Buffer 固化为一个 Episode,然后清空 Buffer,继续处理之后的对话。
一个 Episode 保存三部分信息:
Episode = {
dialogue,
title,
episode_summary
}
其中:
dialogue:原始对话;title:简洁主题;episode_summary:该事件的简短叙事摘要。
因此 Episode 同时保留:
原始证据 + 事件级语义摘要。
这也是之后 Temporal Reasoning 能够利用的一个重要层级。
6. Topic Aggregation:把跨时间 Episode 再聚合起来
只划分 Episode 仍然没有解决长期记忆问题。
原因是同一件事情可能持续数月:
3 月:报名马拉松
↓
4 月:训练
↓
5 月:能够跑 15km
↓
6 月:完成比赛
它们在时间上被切成多个 Episode,但实际上属于同一个持续发展的 Narrative。
因此 HyperMem 在 Episode 之上进一步建立 Topic Node。
6.1 Streaming Topic Aggregation
当新的 Episode E_cur 到来后,系统首先利用之后会介绍的 lexical + semantic retrieval,从历史 Episode 中找到相似候选:
E_cur
↓
retrieve similar historical Episodes
↓
C_E
然后由 LLM 判断当前 Episode 和已有 Episode / Topic 之间的关系。
论文将结果分成三种情况。
Case 1:Topic Initialization
如果没有找到相关历史 Episode:
C_E = empty
说明这是一个新的长期主题。
系统创建新的 Topic:
Topic = {
title,
summary
}
Case 2:Topic Creation
系统虽然找到一些语义相似 Episode,但 LLM 判断当前 Episode 实际上不属于它们现有的 Topic。
此时仍然创建新的 Topic。
这是为了避免:
语义看起来相似
≠
属于同一个持续事件
论文在 Prompt 中明确要求 Topic Matching 不只是判断宽泛主题是否相似,还会考虑:
- 是否属于同一个具体事件或主题;
- 是否存在 Narrative Continuity(叙事连续性);
- 核心人物 / 项目 / 关系是否一致;
- 即使时间跨度数周甚至数月,是否仍属于同一事件的发展过程。
Case 3:Topic Update
如果新 Episode 与已有 Topic 匹配:
E_cur → existing Topic
则把 Episode 加入已有 Topic,并重新生成 Topic 的 metadata。
也就是说 Topic 不是建立之后永久不变,而是随着新的对话不断更新。
6.2 Episode Hyperedge
确定 Topic 后,系统构建 Episode Hyperedge,将该 Topic 下的一组 Episode 联合组织起来。
例如:
Topic:
Alice's marathon training
Hyperedge:
{
Alice signs up for marathon,
Alice can run 15km,
Alice continues training,
...
}
同时 LLM 为每个 Episode 分配一个 [0,1] 的权重:
w_episode
表示这个 Episode 对该 Topic 的贡献程度。
因此 Topic 最终成为一个跨越时间的 semantic anchor(语义锚点)。
这使得后续系统不必从所有历史对话中独立搜索每一个 Episode,而可以先定位:
这个问题属于哪个长期主题?
然后再进入该主题内部检索。
7. Fact Extraction:从事件级记忆进一步提取原子事实
Episode 虽然比原始长对话简洁,但仍然包含大量 Narrative Context。
例如一个 Episode 可能是:
Bob 的项目正式上线。
Alice 提议一起跑步庆祝。
Bob 表示跑步确实能缓解工作压力。
用户真正的问题可能只是:
Bob 下班后通过什么方式缓解压力?
系统并不需要把整个 Episode 都作为最终证据。
因此 HyperMem 又提取一层 Fact Node。
例如:
Fact:
Running helps Bob relieve stress.
7.1 Fact 并不只有一句事实
HyperMem 的 Fact Node 包含:
Fact = {
content,
potential,
keywords
}
三个字段各自承担不同作用。
content
真正的事实:
Bob uses running to relieve stress.
potential
这个 Fact 可能回答哪些类型的问题。
例如可以理解成:
What does Bob do to relieve stress?
How does Bob relax after work?
论文将这一字段称为对潜在 Query 的 anticipation(预判)。
也就是说作者不是单纯让 Embedding 模型之后再猜:
Query 和 Fact 是否相关?
而是在构造 Memory 时就让 LLM 预测:
这个事实未来可能回答什么问题?
从而让 Query 与 Memory 的表示更加容易对齐。
keywords
保存代表性关键词,用于之后的 lexical retrieval:
Bob
running
stress
work
7.2 利用 Topic 上下文抽取 Fact
一个值得注意的细节是,Fact 并不是完全孤立地从单个 Episode 中抽取。
论文的 Fact Extraction 会给 LLM:
Topic
+
Episodes in this Topic
让模型在完整 Topic 上下文下提取 Fact。
这样做主要是为了减少:
- 重复事实;
- 无意义的细节;
- 缺乏上下文的事实。
同时,每个 Fact 都保留到原始 Episode 的 provenance(来源关系),保证之后仍然可以找到对应事件语境。
最后,对一个 Episode 中涉及的多个 Fact,再构造 Fact Hyperedge:
Episode
↓
Fact Hyperedge
├── Fact 1
├── Fact 2
└── Fact 3
每个 Fact 同样拥有 [0,1] 的重要性权重。
至此,一个原始长期对话已经被重组为:
Topic
↓
Episodes
↓
Facts
而不是一组相互独立的文本 Chunk。
8. Hypergraph Memory Retrieval
Memory 建好后,HyperMem 并不是直接在所有 Fact 上进行一次 Vector Search。
论文设计的是:
Topic → Episode → Fact 的 coarse-to-fine retrieval。
在执行在线检索之前,系统首先建立索引。
8.1 Hybrid Lexical-Semantic Index
论文同时使用两类检索信号。
Sparse lexical retrieval
采用:
BM25
利用关键词进行精确匹配。
Dense semantic retrieval
采用:
Qwen3-Embedding-4B
将节点编码成 Dense Embedding,通过语义相似度进行检索。
而且 Topic、Episode、Fact 三种节点都会分别建立这两种索引。
因此系统同时利用:
Lexical signal
+
Semantic signal
作者认为这样能够兼顾:
- 精确关键词;
- 更抽象的语义意图。
9. Hypergraph Embedding Propagation
这里还有 HyperMem 中比较重要的一个设计。
如果两个 Episode 属于同一个 Hyperedge:
Episode A ─┐
Episode B ─┼─ Topic Hyperedge
Episode C ─┘
它们不仅在图结构上相关,其 Embedding 也应该反映这种共同的主题上下文。
因此论文设计了一个轻量级的 Hypergraph Embedding Propagation(超图嵌入传播)。
基本过程分两步。
首先,根据 Hyperedge 内节点的原始 Embedding 和重要性权重,计算 Hyperedge Embedding:
hyperedge_embedding
=
weighted aggregation(
node embeddings in this hyperedge
)
节点权重首先经过类似 softmax 的归一化,因此更重要的 Episode / Fact 对 Hyperedge 表示贡献更大。
然后再把与节点相连的 Hyperedge 信息传播回节点:
new_node_embedding
=
original_node_embedding
+
lambda * aggregate(incident_hyperedge_embeddings)
其中 lambda 控制结构信息传播的强度。
论文实验中使用的传播权重为:
lambda = 0.5
这样,即使两个 Memory:
- 在文本表面表达上不同;
- 在时间上相隔很远;
只要它们属于同一个 Hyperedge,就能够通过结构传播获得更接近的语义表示。
论文特别强调,这个设计受到 Hypergraph Neural Network 的启发,但并不需要进行大规模模型训练或 Fine-tuning,而只是一个轻量的 Embedding 更新过程。
10. Online Retrieval:Topic → Episode → Fact
建立索引之后,用户提出 Query:
q
系统执行三级检索。
10.1 Stage 1:Topic Retrieval
首先在所有 Topic 中检索。
对 Query 分别进行:
BM25 Retrieval
+
Dense Vector Retrieval
然后使用 RRF(Reciprocal Rank Fusion,倒数排名融合) 合并两个 Ranking。
基本思想可以写成:
RRF_score(document)
=
sum(
1 / (k + rank_from_each_retriever)
)
随后,再利用:
Qwen3-Reranker-4B
对候选结果进行更精细的 Query-Document Relevance Ranking。
最后保留:
Top-k Topics
论文实验配置为:
Top-10 Topics
第一层的作用相当于先回答:
当前 Query 大概率在问长期历史中的哪些主题?
大量无关 Memory 会在这一阶段被提前过滤。
10.2 Stage 2:Episode Retrieval
对于选中的 Topic,通过对应 Episode Hyperedge 展开:
Topic
↓
Candidate Episodes
然后再次执行:
BM25
+
Dense Retrieval
+
RRF
+
Reranker
保留相关 Episode。
实验中:
Top-10 Episodes
这一层的作用是:
在已经确定的主题内部,找出与当前问题真正相关的具体时间段和事件。
10.3 Stage 3:Fact Retrieval
之后从保留下来的 Episode 通过 Fact Hyperedge 展开到 Fact:
Episode
↓
Candidate Facts
继续执行同样的:
RRF
+
Reranker
最后选择:
Top-30 Facts
作为最终细粒度 Memory。
因此整个检索路径是:
All Memories
↓
Top-10 Topics
↓
Relevant Episodes
↓
Top-10 Episodes
↓
Relevant Facts
↓
Top-30 Facts
相比直接在全部 Fact 中搜索,Topic 和 Episode 实际上承担了逐层缩小 Search Space 的作用。
11. 最终 Response Context 怎么构造?
HyperMem 最终并不会重新把所有原始对话放回 Context。
系统主要使用:
Retrieved Fact.content
作为回答证据。
除此之外,还可以加入对应 Episode 的:
Episode.summary
作为 Narrative Context。
最终 Context 因此可以理解成:
Relevant Episode Summaries
+
Relevant Atomic Facts
论文认为这种方式可以在减少 Token 消耗的同时,又避免只使用孤立 Fact 导致上下文不足。
这一点也在后续 Ablation 中表现得非常明显:
Episode Context 对整体性能实际上非常重要。
12. 一个完整例子
论文 Figure 2 给出了一个 Query:
What did Bob do to relieve stress after work?
HyperMem 首先检索 Topic:
Bob's work and project
然后进入这个 Topic,对 Episode 进行检索:
Project launches;
they run together.
再从 Episode 中定位 Fact:
Running helps relieve stress.
最终组合出的 Memory Context 类似:
Relevant Episode:
Project launches; they run together.
Relevant Fact:
Running helps relieve stress.
Agent 最终回答:
Running.
这个例子体现了整个 HyperMem 的基本思想:
Query
↓
先确定长期主题
↓
找到对应事件
↓
定位具体事实
↓
回答
而不是:
Query
↓
直接与所有历史文本做一次相似度匹配
13. 实验设置
论文主要在 LoCoMo 长期对话记忆 Benchmark 上进行实验。
LoCoMo 包含持续数月的 Multi-session Conversation,并将问题划分为四类:
| 类型 | 含义 |
|---|---|
| Single-hop | 直接从某个事实中找到答案 |
| Multi-hop | 需要组合多个历史对话中的证据 |
| Temporal | 需要根据时间关系进行推理 |
| Open Domain | 需要更宽泛的语境甚至外部知识 |
13.1 Baseline
作者将 Baseline 分成两大类。
RAG 系统
包括:
- GraphRAG
- LightRAG
- HippoRAG 2
- HyperGraphRAG
其中 HyperGraphRAG 同样使用 Hypergraph,因此是一个值得注意的 Baseline。
论文对两者的区分是:
HyperGraphRAG 等已有 Hypergraph RAG 工作主要面向 静态知识库 / 固定 Corpus;
而 HyperMem 研究的是:
不断随对话增长和更新的 Agent Memory
并专门设计:
Episode Detection
+
Streaming Topic Aggregation
+
Fact Extraction
+
Hierarchical Retrieval
来处理长期对话 Memory。
Memory System
还比较了:
- OpenAI Memory
- LangMem
- Zep
- A-Mem
- Mem0
- MemGraph
- MIRIX
- Memobase
- MemU
- MemOS
因此实验同时覆盖了传统 RAG / Graph RAG 和专门的 Agent Memory System。
13.2 模型配置
HyperMem 的主要组件配置为:
| 组件 | 模型 / 设置 |
|---|---|
| Semantic Embedding | Qwen3-Embedding-4B |
| Reranker | Qwen3-Reranker-4B |
| Answer Generation | GPT-4.1-mini |
| Generation Prompt | Chain-of-Thought |
| LLM Judge | GPT-4o-mini |
| Initial Candidates | 100 |
| Topic Top-k | 10 |
| Episode Top-k | 10 |
| Fact Top-k | 30 |
| Hypergraph propagation weight | 0.5 |
| Evaluation | 3 次独立运行取平均 |
需要注意,这篇论文的主要指标是:
GPT-4o-mini 给出的 LLM-as-a-judge Accuracy。
并不是传统的 Exact Match。
论文 Table 1 还说明:
- RAG Baseline 主要使用各自官方实现进行复现;
- Memory System 的部分结果来自已有论文或系统报告。
14. 主要实验结果
论文 Table 1 的结果如下。
| Method | Single-hop | Multi-hop | Temporal | Open Domain | Overall |
|---|---|---|---|---|---|
| GraphRAG | 79.55 | 54.96 | 50.16 | 58.33 | 67.60 |
| LightRAG | 86.68 | 84.04 | 60.75 | 71.88 | 79.87 |
| HippoRAG 2 | 86.44 | 75.89 | 78.50 | 66.67 | 81.62 |
| HyperGraphRAG | 90.61 | 80.85 | 85.36 | 70.83 | 86.49 |
| OpenAI Memory | 63.79 | 42.92 | 21.71 | 62.29 | 52.90 |
| LangMem | 62.23 | 47.92 | 23.43 | 71.12 | 58.10 |
| Zep | 61.70 | 41.35 | 49.31 | 76.60 | 65.99 |
| A-Mem | 39.79 | 18.85 | 49.91 | 54.05 | 48.38 |
| Mem0 | 67.13 | 51.15 | 55.51 | 72.93 | 66.88 |
| MemGraph | 65.71 | 47.19 | 58.13 | 75.71 | 68.44 |
| MIRIX | 85.11 | 83.70 | 88.39 | 65.62 | 85.38 |
| Memobase | 73.12 | 64.65 | 81.20 | 53.12 | 72.01 |
| MemU | 66.34 | 63.12 | 27.10 | 50.01 | 56.55 |
| MemOS | 81.09 | 67.49 | 75.18 | 55.90 | 75.80 |
| HyperMem | 96.08 | 93.62 | 89.72 | 70.83 | 92.73 |
HyperMem 的 Overall Accuracy 达到:
92.73%
论文将其与两个主要对手进行比较。
最强 RAG 方法 HyperGraphRAG:
86.49%
HyperMem 高:
+6.24 percentage points
Memory System 中表现最高的 MIRIX:
85.38%
HyperMem 高:
+7.35 percentage points
15. 不同问题类型上发生了什么?
15.1 Single-hop
HyperMem:
96.08%
HyperGraphRAG:
90.61%
作者认为 Fact Layer 能够提供非常明确的 Atomic Information,因此对于直接事实检索尤其有效。
15.2 Multi-hop
HyperMem:
93.62%
这一类别尤其符合 Hypergraph 的设计目标。
Multi-hop 问题往往需要:
Episode A
+
Episode B
+
Episode C
共同回答一个问题。
如果这些 Episode 相隔数个月,单独 Chunk Retrieval 很容易漏掉其中部分证据。
HyperMem 则通过 Topic Hyperedge 将它们组织到一起,因此更容易完成完整的 Evidence Aggregation。
15.3 Temporal
HyperMem:
89.72%
Temporal Question 需要知道:
什么时候发生了什么
+
事件之后如何变化
作者认为 Episode Layer 保留了事件级 Context 与 Temporal Anchor,而 Topic Layer 又能够把不同时间点的相关 Episode 组织起来,因此更适合追踪事件演变。
15.4 Open Domain
HyperMem:
70.83%
这一项并没有明显领先,甚至低于一些 Memory Baseline。
论文解释,Open Domain Question 往往需要:
conversation history
+
external world knowledge
而 HyperMem 主要管理对话内部的 Memory,并没有引入外部知识源。
因此 Open Domain 仍然是其主要困难之一。
16. Ablation Study:真正重要的是哪一层?
论文进行了一系列 Ablation。
缩写含义为:
FC = Fact Context
EC = Episode Context
TR = Topic Retrieval
ER = Episode Retrieval
Overall 结果如下:
| Configuration | Overall | Drop |
|---|---|---|
| HyperMem | 92.66 | - |
| w/o FC | 91.75 | -0.91 |
| w/o EC | 88.90 | -3.76 |
| w/o TR | 91.94 | -0.72 |
| w/o TR & FC | 91.75 | -0.91 |
| w/o TR & EC | 88.83 | -3.83 |
| w/o TR & ER | 90.19 | -2.47 |
这里最明显的结果是:
Episode Context 是整个系统中影响最大的组件之一。
删除 Episode Context 后:
92.66
→
88.90
下降:
3.76 points
在 Temporal Question 上下降更加明显:
-5.61 points
这说明 HyperMem 并不能简单理解成:
最终有 Fact 就够了。
Fact 虽然精确,但是过于原子化。
Episode Summary 提供的事件级 Narrative Context 对:
- 时间关系;
- 多条事实之间的联系;
- 事件状态;
仍然非常重要。
16.1 把层次结构完全压平会怎样?
如果绕过:
Topic Retrieval
+
Episode Retrieval
直接进行 Fact-only Retrieval,也就是:
w/o TR & ER
Overall 会降到:
90.19%
Multi-hop 更是下降:
-5.68 points
论文据此认为,三级结构并不只是为了存储时看起来更整齐。
真正有用的是:
Topic
↓
Episode
↓
Fact
这个 Retrieval Path 本身。
它维持了不同粒度 Memory 之间的语义连续性。
17. Hyperparameter Analysis
论文还分析了各层 Top-k 对结果的影响。
Topic Top-k
Topic 是最敏感的参数。
从:
Top-1
增加到:
Top-10
Accuracy 从:
76.88%
提高到:
92.66%
提升:
+15.78 points
说明如果最开始 Topic Recall 不够,相关 Narrative 会直接在第一层被剪掉,后面的 Episode 和 Fact 再精确也无法恢复。
Episode Top-k
Episode Top-k 相对不敏感:
k = 10 : 92.73%
k = 20 : 92.47%
说明当正确 Topic 已经找到之后,系统对 Episode 候选数量具有一定鲁棒性。
Fact Top-k
Fact Retrieval 在:
k = 30
附近表现最好。
继续增加 Fact 数量反而略微下降。
论文认为这意味着过度检索 Fact 会向最终 Context 引入噪声。
因此:
更多 Memory
≠
更好回答
关键仍然是获取足够但相关的证据。
18. Episode Context 能不能用更多 Fact 替代?
论文在不同参数配置下比较:
Fact Only
与:
Episode + Fact
结果显示,Episode + Fact 基本持续高出:
3% ~ 4%
这进一步说明:
Episode 提供的 Narrative Context 并不能通过单纯检索更多 Fact 来补偿。
换句话说,三层 Memory 并不是简单的信息冗余,而是承担不同粒度的职责:
Topic
负责长时间跨度的主题组织
Episode
负责事件与时间上下文
Fact
负责精确回答
19. Token Efficiency
HyperMem 还分析了 Accuracy 和 Token Usage 之间的关系。
论文以 Mem0 的 Token 使用量作为:
1.0x
基准。
部分结果为:
| Method / Configuration | Relative Token Usage | Accuracy |
|---|---|---|
| Mem0 | 1.0x | 66.88 |
| HippoRAG 2 | 2.2x | 81.62 |
| HyperGraphRAG | 26.3x | 86.49 |
| GraphRAG | 35.3x | 67.60 |
| HyperMem Fact Only | 2.5x | 89.48 |
| HyperMem Episode + Fact | 7.5x | 92.73 |
完整的 Episode + Fact 配置使用:
7.5x
Token,达到:
92.73%
而 Fact Only 在:
2.5x
Token 下已经能达到:
89.48%
相比之下 HyperGraphRAG 使用:
26.3x
Token,Accuracy 为:
86.49%
论文据此认为 coarse-to-fine Retrieval 可以提前排除大量无关信息,从而避免将大量 Graph / Chunk 内容直接输入生成模型。
20. Appendix 中的几个 Case Study
论文还通过 LoCoMo 中的实际问题说明不同层级分别在做什么。
Multi-hop:跨 10 个月统计比赛结果
问题要求回答某个人一共赢过多少次 Tournament。
相关证据分布在:
7 个 Session
+
10 个月时间跨度
GraphRAG 只找到部分证据,因此回答「至少两次」。
HyperMem 则利用 Topic Hyperedge 将所有与 Tournament 相关的 Episode 聚合起来,最终找到:
7 tournaments
这里主要体现的是:
Topic
+
Hyperedge
解决跨时间 Evidence Aggregation 的作用。
Temporal:某个时间点之前拥有多少宠物?
另一个问题询问:
截至 2023 年 9 月,Andrew 有多少宠物?
这类问题不能简单统计所有出现过的 Pet Fact,而需要重建:
截至指定时间点的状态
论文案例中:
- GraphRAG 混淆了人物;
- HyperGraphRAG 将不同时间的信息一起计算,得到 4 只;
- HyperMem 得到当时只有一只名为 Toby 的狗。
作者将这一能力主要归因于 Episode Layer 对 Temporal Anchor 和事件演变过程的保留。
21. HyperMem 的方法可以怎样概括?
按照论文自己的设计逻辑,HyperMem 实际上解决了三个连续的问题。
第一层:原始 Conversation 太长
解决方式:
Conversation
→
Episode
把连续历史分割成语义完整的事件。
第二层:同一件事可能跨很多 Episode
解决方式:
Episodes
→
Topic Hyperedge
将时间上分散但语义上连续的事件重新组织起来。
第三层:Episode 对直接问答仍然太粗
解决方式:
Episode
→
Facts
抽取直接可回答 Query 的原子证据。
最终得到:
Long Conversation
↓ Episode Detection
Episode Episode Episode
\ | /
\ | /
Topic Hyperedge
↓
Fact Extraction
↓
Fact Fact Fact Fact
↓
Topic → Episode → Fact Retrieval
因此 HyperMem 的核心并不只是「使用 Hypergraph」。
更完整地说,是:
使用 Hypergraph 将 Topic、Episode 和 Fact 三种不同粒度的 Memory 组织成高阶关联结构,再利用这一结构进行从 Topic 到 Episode 再到 Fact 的分层检索。
22. 论文指出的局限性
论文明确给出了两个主要限制。
22.1 当前只考虑 Single-user Memory
HyperMem 当前默认:
一个用户
+
一个 Memory Space
如果扩展到:
Multi-user
或者:
Multi-agent
会出现新的问题:
- Memory Isolation;
- Access Control;
- 不同用户之间的权限;
- 不同 Agent 可以访问哪些 Memory。
当前 Hypergraph 结构并没有解决这些问题。
22.2 Open Domain Question 仍然困难
HyperMem 管理的是:
Conversation History
但有些问题需要 Conversation 中根本不存在的外部知识。
例如:
User Memory
+
World Knowledge
才能完成回答。
因此仅优化内部长期 Memory 无法解决这部分问题。
论文将:
External Knowledge Base Integration
作为之后可能扩展的方向。
23. 总结
HyperMem 关注长期对话 Memory 中一个很具体的问题:
多个相关事件可能分布在数周甚至数月的不同对话中,仅依赖独立 Chunk 或 Pairwise Relation 容易产生 Fragmented Retrieval。
为此,论文提出三层 Memory:
Topic
Episode
Fact
首先使用 LLM 对流式 Conversation 进行 Episode Detection:
Conversation
→
Episode
然后通过 Topic Aggregation 将时间上分散、但属于同一持续事件的 Episode 聚合起来:
Episode A
Episode B
Episode C
↓
Topic Hyperedge
再从 Topic 下的 Episode 中抽取带有:
content
potential
keywords
的 Atomic Fact。
在索引阶段,HyperMem 同时结合:
BM25
+
Dense Embedding
+
Hypergraph Embedding Propagation
在查询阶段,则采用:
Topic Retrieval
↓
Episode Retrieval
↓
Fact Retrieval
的 coarse-to-fine 策略,并通过 RRF 与 Reranker 对候选进行排序。
在 LoCoMo 上,论文报告:
Overall LLM-as-a-judge Accuracy
= 92.73%
相比:
HyperGraphRAG : 86.49%
MIRIX : 85.38%
均取得更高结果。
Ablation 进一步表明,HyperMem 中并不是 Fact 越精细就越可以抛弃上层结构:
Topic → 长期主题与跨时间关联
Episode → 事件、时间与 Narrative Context
Fact → 精确回答证据
三种粒度承担不同职责。
尤其是移除 Episode Context 会造成最大的整体性能下降之一,而完全跳过 Topic 和 Episode、直接进行 Fact Retrieval,也会明显损害 Multi-hop Reasoning。
因此,这篇论文最终建立的是一种:
以 Hypergraph 为组织结构、以 Topic / Episode / Fact 为三种记忆粒度、以 coarse-to-fine retrieval 为读取机制的长期对话 Memory Architecture。
参考
-
Yue, Juwei, et al. HyperMem: Hypergraph Memory for Long-Term Conversations. ACL 2026.
https://aclanthology.org/2026.acl-long.1627/ -
arXiv:2604.08256
https://arxiv.org/abs/2604.08256 -
Maharana et al. Evaluating Very Long-Term Conversational Memory of LLM Agents. LoCoMo benchmark.
-
Edge et al. From Local to Global: A Graph RAG Approach to Query-Focused Summarization.
-
Gutiérrez et al. From RAG to Memory: Non-Parametric Continual Learning for Large Language Models. HippoRAG 2.
-
Luo et al. HyperGraphRAG.
-
Chhikara et al. Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory.

浙公网安备 33010602011771号