跳转至

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 专为随交互动态增量演化的长程对话设计,解决了流式对话中事实过时与纠错更新的语义追踪难题。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首次将不可变记忆轨迹与维基风格的持久化层结合,为长期对话智能体提供了兼顾结构化索引与溯源演化的全新范式。
  • 实验充分度: ⭐⭐⭐⭐⭐ 涵盖开放域与专业医疗长对话两大挑战性基准,离线反事实消融、语义漂移分析与系统开销分解极为详尽。
  • 写作质量: ⭐⭐⭐⭐⭐ 架构形式化严谨,模块分工明确,附录提供了完备的提示词、复现规则与审计诊断统计。
  • 价值: ⭐⭐⭐⭐⭐ 为解决长程人机交互中的记忆膨胀、事实覆盖与黑盒幻觉提供了极具落地可行性的系统工程设计。