TrajWiki: Source-Grounded Memory Trajectories for Long-Horizon Dialogue Agents¶
会议: NeurIPS 2026
arXiv: 2608.00967
领域: 对话系统
关键词: 长期对话智能体, 记忆演化轨迹, Memory Wiki, 可溯源检索, 细粒度断言生命周期
一句话总结¶
针对长期多轮对话智能体记忆缺乏溯源性、易发生覆盖丢失以及扁平检索碎片化的问题,提出记忆框架 TrajWiki,将对话历史建模为带断言级演化操作的不可变快照轨迹,并聚合为互联的持久化 Memory Wiki 页面以实现分层高效检索与强溯源回答生成。
研究背景与动机¶
构建能够维持长程连贯交互的大语言模型对话智能体,是实现实用型个人助理与专业顾问的核心前提。然而,底层大语言模型受限于固定上下文窗口,无法将跨越数周乃至数月的跨会话历史直接拼接在 prompt 中。尽管近年来基于外部非参数记忆的检索增强架构取得了进展,但现有记忆增强智能体通常遵循简单的读写范式:将对话历史离散压缩为静态的断言、用户画像或事件条目,并以最新状态覆盖历史记录。
这种单状态覆写机制面临两个核心痛点。一方面,系统仅保留智能体“当前相信什么”,却完全丢失了该信念如何形成、哪些先验主张被修正或废弃、以及由哪些原始对话轮次所支撑的演化链条;当用户偏好发生演化或产生歧义冲突时,无法进行细粒度的溯源与归因诊断。另一方面,随着对话轮次增加,海量细粒度记忆散落在扁平存储池中,面对涉及跨会话多跳聚合、实体列表统计或时序演化的复杂查询时,直接基于语义相似度的扁平检索极易引发严重的上下文碎片化,遗漏关键背景。
本文的切入角度是:解耦记忆的演化溯源与高层语义组织,将静态条目转变为不可变的演化轨迹,并在上层维护维基风格的持久化聚合知识索引。核心 idea:提出面向长期对话智能体的演化轨迹记忆框架 TrajWiki,通过不可变情景快照与断言级更新算子(ADD、REVISE、DEPRECATE)维护带证据溯源的记忆轨迹,并自底向上构建结构化、互联的 Memory Wiki 知识层,实现从维基页面到轨迹再到原始消息的分层检索与事实约束生成。
方法详解¶
整体框架¶
TrajWiki 将对话记忆系统的生命周期形式化解耦为三个核心层级:底层对话历史 \(\mathcal{D}\)、中间层不可变情景快照 \(\Sigma\) 与演化轨迹 \(\mathcal{T}\)、以及顶层持久化的 Memory Wiki \(\mathcal{W}\)。整体处理流水线满足: $\(\mathcal{D} \rightarrow \Sigma \rightarrow \mathcal{T} \rightarrow \mathcal{W} \rightarrow \mathcal{E}_q \rightarrow a_q\)$ 1. 记忆构建与轨迹演化:对话轮次首先被结构化抽取为不可变情景快照 \(\sigma\),包含原子断言、时间戳与原始消息引用。快照通过连续性判定匹配追加至最兼容的记忆轨迹 \(T \in \mathcal{T}\),并在轨迹内部执行断言级显式生命周期迁移(ADD、REVISE、DEPRECATE),确保历史陈旧断言不被物理删除而是保留演化链条。 2. Memory Wiki 持久化编译:为抑制扁平检索的碎片化,系统从活跃与历史断言中归纳实体、主题、清单和全局索引四种类型的维基页面 \(p \in \mathcal{W}\),记录核心事实摘要并强关联至对应的底层轨迹集合 \(L_p \subseteq \mathcal{T}\)。 3. 分层检索与证据约束生成:推理阶段,用户查询 \(q\) 首先路由定位至 Top-\(t\) 维基页面,诱导出候选轨迹子空间 \(\mathcal{C}_q\);随后在候选轨迹中执行兼顾相关性与多样性覆盖的 Top-\(k\) 贪心选择;最终展开为包含轨迹、快照、断言和原始消息的严谨证据集 \(\mathcal{E}_q\),在显式引用一致性约束下合成回答。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入对话历史 D<br/>消息内容 / 发言人 / 时间戳 / 消息ID"] --> B["情景快照与断言抽取<br/>生成不可变快照 σ 与原子断言"]
B --> C["1. 记忆轨迹连续性匹配<br/>兼容度判定 g(σ, T) 关联或新建轨迹"]
C --> D["2. 细粒度断言演化管理<br/>应用 ADD / REVISE / DEPRECATE 算子"]
D --> E["3. Memory Wiki 结构化编译<br/>构建索引/实体/主题/清单四类维基页面"]
E --> F["4. 分层候选路由与覆盖感知选择<br/>页面路由缩小空间 → 覆盖目标函数贪心选轨迹"]
F --> G["5. 证据链展开与事实约束生成<br/>展开原始消息与快照,严格引用校验生成 aq"]
关键设计¶
1. 记忆轨迹连续性匹配:兼顾局部实体连续性与防止过度语义合并
面对连续多轮流式对话,若将所有信息混入单一时间线会导致上下文混杂,而完全孤立存储又会割裂长程主题。TrajWiki 构建确定性特征向量 \(K_\sigma\)(关键词词法)、\(E_\sigma\)(实体名称)、\(X_\sigma\)(原文精确术语)和 \(F_\sigma\)(属性键值对,如活动地点、事件类型等)。当新快照 \(\sigma\) 到达时,系统计算综合兼容度评分: $\(g_{\mathrm{det}}(\sigma, T) = 0.60 \cos(e_\sigma, e_T^{\mathrm{sum}}) + 0.20 \cos(e_\sigma, e_T^{\mathrm{latest}}) + 0.20 J(K_\sigma, K_T) + b_{\mathrm{entity}} + b_{\mathrm{facet}} + b_{\mathrm{cont}} - p_{\mathrm{mismatch}}\)$ 其中 \(J\) 为关键词 Jaccard 相似度;当规范化实体或属性键值匹配时分别给予 \(b_{\mathrm{entity}}=0.08\) 与 \(b_{\mathrm{facet}}\in [0.03, 0.06]\) 的正向奖励;\(b_{\mathrm{cont}} = \min(0.14, 0.04|\mathrm{specific}(\sigma) \cap \mathrm{specific}(T)|)\) 强调特定术语连续性;若仅共享泛化实体而缺乏特定连续性,则施加 \(p_{\mathrm{mismatch}}=0.10\) 惩罚。候选轨迹初筛后送入结构化判定器裁决是否继续(CONTINUE)或新建轨迹(NEW),确保语义相近但属于独立事件的记忆不被错误塌缩。
2. 细粒度断言演化管理:保留历史可溯源性的生命周期状态机
针对传统系统直接改写或删除旧记忆导致的不可逆失真,TrajWiki 在轨迹内维护只追加(append-only)的断言演化链条: $\(C_{j,t} = \operatorname{Apply}(C_{j,t-1}, \mathcal{O}_{j,t}), \qquad \mathcal{O}_{j,t} \subseteq \{\texttt{ADD}, \texttt{REVISE}, \texttt{DEPRECATE}\}\)$ 当新抽取的断言与历史断言存在字面一致但状态变更时,直接派发 DEPRECATE 或 REVISE 算子;对于语义重合的新断言,通过关键词预筛选最多 3 个候选历史断言,由判别器决定是作为并列事实 ADD 还是作为修正事实 REVISE。被修正常态的旧断言标记为废弃(deprecated),但其不可变的情景快照、时间戳和原始对话消息 ID 永久保留在轨迹中,既避免在生成时产生过时信息泄漏,又支持事后针对信念漂移的全链路诊断回溯。
3. Memory Wiki 结构化编译:将演化日志编译为紧凑互联的领域知识层
单纯保存大量细粒度轨迹在对话轮次激增时会导致检索空间膨胀。TrajWiki 在记忆重放后将轨迹库编译为持久化的 Memory Wiki 页面集 \(\mathcal{W}\),页面划分为四大类型:全局索引页(index)、实体页(entity)、主题事件页(topic)以及专用于汇总列表/计数事实的清单页(inventory)。编译机制强制执行非索引覆盖约束 \(\bigcup_{p \in \mathcal{W}_{\mathrm{non\text{-}index}}} L_p \approx \mathcal{T}\),防止轨迹仅能通过全局目录被动遍历。当单个实体页面聚合的轨迹数超过 6 条时,编译器利用轨迹摘要向量聚类将其自动切分为中等粒度分片(目标容量为 4 条轨迹),并在 Markdown 正文中明确分离核心事实、计数量化项、关联轨迹链接与矛盾不确定性区块。
4. 分层候选路由与覆盖感知选择:兼顾检索精度与多跳信息多样性
在查询检索阶段,TrajWiki 首先利用查询向量与词法特征从维基页面库中检索 Top-\(t\) 个页面,过滤掉泛化的 index 目录页,将搜索空间从全局上百条轨迹快速收敛至候选集 \(\mathcal{C}_q\)。针对列表统计、时序因果与多跳聚合查询,TrajWiki 避免盲目选取高相似度冗余项,而是设计了覆盖感知贪心选择机制:第一条轨迹选取相关性得分最高者作为语义锚点,后续轨迹依次最大化收益函数: $\(S(T) = s_{\mathrm{rank}}(T) + 0.90\Delta_{\mathrm{entity}} + 0.65\Delta_{\mathrm{facet}} + 0.30\Delta_{\mathrm{item}} + 0.12\Delta_{\mathrm{term}} + 0.18\mathbb{I}_{\mathrm{inventory}} + 0.18\mathbb{I}_{\mathrm{count}} + 0.75s_{\mathrm{family}} - p_{\mathrm{red}}\)$ 该目标对能带来未覆盖实体、未见事件属性、新增列表元素或计数量词的互补轨迹给予动态增益,同时对重复实体和内容簇施加惩罚 \(p_{\mathrm{red}}\),确保系统能够检出分布在不同会话中的多跳支撑碎片。
5. 证据链展开与事实约束生成:全链路溯源校验与结构化错误隔离
入选的 Top-\(k\) 条轨迹按预算展开为包含原对话消息、关联快照与有效断言的紧凑证据块 \(\mathcal{E}_q\)。回答生成器通过结构化输出协议输出回答结论、支撑断言引用、纳入统计事件列表及不确定性标记。系统执行强制的确定性后校验:所有引用的来源 ID 必须严格属于 \(\mathcal{E}_q\) 中实际可见的原始消息集合 \(\operatorname{refs}(a_q) \subseteq \operatorname{refs}(\mathcal{E}_q)\),并剥离虚假或未支撑的数字条目;若证据不足则安全拒答或触发基于查询改写的反思重试。
损失函数 / 训练策略¶
TrajWiki 是免微调(training-free)的非参数化长期记忆系统框架,适用于标准闭源及开源指令微调大语言模型。其向量相似度计算采用开源 Qwen3-Embedding-8B 模型;在断言抽取、维基编译、轨迹重排与证据合成阶段通过 JSON Schema 结构化解码约束输出。系统内嵌确定性兜底与修复(repair)机制:当大语言模型输出格式异常或丢失高置信实体时,触发无参数的词法规则抽取和保底 Markdown 拼装,确保流式长程运行过程中的系统健壮性。
实验关键数据¶
主实验¶
在代表性长程对话基准 LoCoMo(包含单跳、跨会话多跳聚合、时序推理等 QA)以及专业领域长轮次多轮医疗对话基准 MedMT-Bench(评估长程上下文理解 LCMU、抗干扰 RCI 及矛盾检测 IC)上评估 TrajWiki。对比方法涵盖完整历史(Full Context)、朴素 RAG(Naive RAG)、以及主流记忆增强智能体框架 LangMem、A-MEM 与 Mem0。LoCoMo 评估基于规范化槽位匹配的 F1、BLEU-1 以及严格 LLM Judge 准确率;MedMT-Bench 报告测试点评分通过率(Pass Accuracy %)。
| 数据集 / 评测维度 | 指标 | Full Context | Naive RAG | LangMem | A-MEM | Mem0 | TrajWiki (本文) |
|---|---|---|---|---|---|---|---|
| LoCoMo (gpt-4o-mini) | F1 | 28.4 | 22.1 | 27.6 | 29.5 | 31.8 | 35.2 |
| BLEU-1 | 24.1 | 18.9 | 23.5 | 25.0 | 27.3 | 30.6 | |
| Multi-Hop Acc (%) | 41.2 | 32.5 | 39.8 | 43.1 | 46.5 | 54.2 | |
| Temporal Acc (%) | 38.6 | 29.4 | 36.2 | 39.0 | 41.3 | 44.8 | |
| Overall Acc (%) | 43.5 | 35.2 | 41.9 | 45.4 | 48.7 | 53.9 | |
| MedMT-Bench (gpt-4o-mini) | LCMU Pass (%) | 52.3 | 41.0 | 49.5 | 53.0 | 56.4 | 63.8 |
| RCI Pass (%) | 48.1 | 37.6 | 45.2 | 49.8 | 52.1 | 61.5 | |
| Contradiction IC (%) | 34.5 | 26.2 | 31.8 | 36.4 | 39.2 | 52.7 |
消融实验¶
在 LoCoMo 多跳子集(Multi-Hop split)上基于 32K 离线上下文预算和 \(k=15\) 轨迹截断评估 TrajWiki 记忆组织各组件的反事实消融(Offline Counterfactual Ablation)。指标包括:候选轨迹搜索池规模(Cand. Univ.)、黄金证据引用覆盖率(Gold Ref Cov.)、Top-15 轨迹召回率(Gold Traj. R@15)、全部证据完全覆盖率(All Ref Rate)、平均上下文消耗 Token 估算以及无支撑风险代理指标(Unsup. Risk):
| 配置 / 变体 | 候选搜索池 (Cand. Univ.) | 黄金引用覆盖率 (Gold Ref Cov.) | 轨迹召回率 (Gold Traj. R@15) | 全覆盖率 (All Ref Rate) | 上下文 Tokens | 无支撑风险 (Unsup. Risk) |
|---|---|---|---|---|---|---|
| 完整 TrajWiki | 55.6 | 0.610 | 0.610 | 0.355 | 2.7K | 0.645 |
| 直接轨迹检索 (w/o Wiki 路由) | 130.4 | 0.356 | 0.346 | 0.128 | 25.6K | 0.872 |
| 仅维基摘要 (w/o 轨迹展开) | 41.2 | 0.000 | 0.807 | 0.000 | 25.3K | 1.000 |
| 扁平原始记忆检索 (Flat Raw RAG) | 594.7 | 0.237 | 0.457 | 0.082 | 0.7K | 0.918 |
| 仅最新快照 (Latest Snapshot Only) | 15.0 | 0.613 | 0.610 | 0.351 | 6.4K | 0.649 |
| 仅两步最新快照 (Latest Two Snapshots) | 22.5 | 0.564 | 0.558 | 0.287 | 6.8K | 0.713 |
| 仅溯源断言 (Source-Linked Claims Only) | 347.0 | 0.088 | 0.136 | 0.011 | 0.2K | 0.989 |
关键发现¶
- 多跳跨会话推理与矛盾对抗场景增益显著:在 LoCoMo 上,TrajWiki 的最大性能跃升出现在需要汇总多会话证据的 Multi-Hop 问题上(提升达 7.7% 以上);在 MedMT-Bench 具有强对抗干扰的“信息矛盾(IC)”场景下,相比最强基线 Mem0 实现了高达 +13.5% 的大幅突破,证明保留断言演化链能有效识别被推翻的陈旧假设。
- Memory Wiki 扮演了关键的搜索空间压缩与语义导航枢纽:消融表明,去掉 Wiki 路由直接搜索轨迹,不仅候选池由 55.6 暴增至 130.4(检索计算量增加 2.35 倍),黄金引用覆盖率反而从 0.610 腰斩至 0.356;但若仅依赖 Wiki 摘要而缺乏轨迹展开,黄金引用的底层恢复率为 0,证明维基与轨迹层缺一不可。
- 记忆轨迹保持高度时序语义连贯性:快照嵌入分析表明,绝大多数非单步轨迹的首尾余弦相似度均维持在中高区间,相邻快照间的局部更新相似度保持高度平稳;随时间推移轨迹语义空间平缓扩展,未发生破坏性的语义漂移(Semantic Drift)。
- 计算开销主要集中于写入侧一次性编译:全量运行消耗的 43.28M deployment tokens 中,54.3%(23.71M)用于构建可重复复用的记忆轨迹与 Memory Wiki,查询时检索与生成仅占 24.8% 与 15.8%,有利于在长期高频对话中摊薄前期预处理开销。
亮点与洞察¶
- 将记忆从易失状态升格为不可变演化轨迹:摒弃了主流 Agent 记忆库直接原地更新覆写旧事实的做法,引入情景快照和 ADD/REVISE/DEPRECATE 算子,使智能体不仅清楚当前结论,还能精确回溯“该认知从何时由哪句话演变而来”。
- 双层知识编译破解长期交互的检索碎片化:通过自动聚类和编译生成的持久化 Memory Wiki,构建了高层主题实体网络,充当稀疏查询与底层密集片段之间的结构化路由索引,在降低检索候选空间的同时大幅强化多跳召回。
- 开箱即用的白盒诊断与审计能力:输出强制保留来源引用与事件约束校验,系统将审计所需检索的上下文 Token 量从全量的 20.33K 压缩至 11.34K,使错误归因能够精准定位于“维基路由丢失”、“轨迹筛选偏离”或“生成模型幻觉”。
局限与展望¶
- 作者承认的局限:系统对 LLM 的结构化输出质量有极强依赖,抽取或验证阶段的解析失败会触发降级或高开销修复机制;此外,基于摘要的维基抽象在多级压缩后可能削弱微观细节的显著度,偶尔导致生成端忽视非核心细节。
- 适用边界与观察:目前的实验主要聚焦于文本对话基准,尚未针对连续时间戳频繁倒序更新、多模态视觉交互或高并发多人群聊场景进行深入验证。
- 改进方向:探索通过强化学习或模型蒸馏,将目前基于通用 LLM 的断言抽取与维基编译逻辑替换为轻量级微调小模型,降低写入侧计算延迟与 Token 消耗。
相关工作与启发¶
- vs Mem0 / LangMem: 后者主要侧重单步事实抽取并维护平铺的键值或向量库,状态更新通常采用离散覆写;TrajWiki 强调不可变演化轨迹与细粒度生命周期算子,保留了完整的信念变化全貌。
- vs A-MEM: A-MEM 引入了结构化笔记与动态链接,但本质仍属于扁平图结构;TrajWiki 引入了持久化的 Memory Wiki 作为高层中间路由层,具有更加鲜明的分层导航能力。
- vs GraphRAG / RAPTOR: 后者面向静态离线文档树构建或图谱索引;TrajWiki 专为随交互动态增量演化的长程对话设计,解决了流式对话中事实过时与纠错更新的语义追踪难题。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次将不可变记忆轨迹与维基风格的持久化层结合,为长期对话智能体提供了兼顾结构化索引与溯源演化的全新范式。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖开放域与专业医疗长对话两大挑战性基准,离线反事实消融、语义漂移分析与系统开销分解极为详尽。
- 写作质量: ⭐⭐⭐⭐⭐ 架构形式化严谨,模块分工明确,附录提供了完备的提示词、复现规则与审计诊断统计。
- 价值: ⭐⭐⭐⭐⭐ 为解决长程人机交互中的记忆膨胀、事实覆盖与黑盒幻觉提供了极具落地可行性的系统工程设计。