MemCode: Discrete Semantic Representations for Long-Term Agent Memory¶
会议: NeurIPS 2026
arXiv: 2610.19472
领域: LLM Agent
关键词: 智能体记忆, 离散语义量化, 向量与码本双路检索, 拓扑关联推理, 异步记忆整合
一句话总结¶
针对长程交互中传统连续向量记忆检索“表面相似却逻辑割裂”与“上下文依赖事实难以独立检索”的痛点,MemCode 提出将对话解析为自包含原子记忆单元(AMU),并通过保距同构离散语义量化(ISQ)与码本共现拓扑构建双路检索,在大幅降低构建延迟的同时全面超越主流基线。
研究背景与动机¶
随着大语言模型(LLM)智能体从单轮交互向跨越数天乃至数周的多会话持久伴随演进,长程记忆系统已成为实现个性化对齐、时间一致性与长程推理的核心中枢。然而,直接依赖模型上下文窗口不仅面临注意力二次方计算开销,更会因长文本“大海捞针”中的注意力分散而导致长程事实利用率急剧劣化;单纯参数化微调又无法适应流式动态事实的高频更新。因此,基于外挂存储与检索增强生成(RAG)的记忆范式成为了学术界与工业界的主流选择。
然而,现存的“先写后查(write-then-retrieve)”架构普遍面临着深层次的写入与检索脱节矛盾。在写入侧,现有系统倾向于将连续的上下文片段或多轮对话直接存入数据库,但这些文本块中充斥着指代不明的代词(如“他”、“这周三”)和依赖特定上下文的相对时间表达,一旦脱离原对话背景,其语义可检索性急剧退化;若过度依赖全局摘要,又会抹去关键的局部实体标签与时间戳,造成不可逆的抽象瓶颈。在检索侧,主流系统完全依赖连续密集向量的 \(k\) 近邻搜索(KNN)。连续空间检索存在固有的几何偏差——它只能捕获词汇与浅层语义接近的表层记忆,对于逻辑上强关联、但在向量嵌入空间中距离遥远的多跳事实或跨轮约束往往系统性漏召回。
受认知神经科学中海马体通过齿状回进行“模式分离”(将相似连续输入编码为离散痕迹)以及通过 CA3 区进行“模式补全”机制的启发,本文认为智能体长程记忆需要打破纯连续表示的局限。核心 idea:将流式对话显式解构为保留原文指针的自包含原子记忆单元(AMU),并引入无损步长的等距同构离散语义量化(ISQ)将每个事实投影至可学习码本,利用全局码本共现拓扑建立与稠密向量互补的离散关联检索通路,结合异步离线整合实现精准高效的长程记忆治理。
方法详解¶
整体框架¶
MemCode 的生命周期涵盖流式原子抽象写入、双路索引构建、拓扑感知双路检索以及异步离线整合四大协同模块: 1. 流式原子摄入与语境规范化(Ingestion & Abstraction):将流式对话切分为真实交互轮次,注入前序交互后缀作为只读背景,由 LLM 解析出解析了绝对时间锚点、消除代词歧义并包含原文精确定位指针的自包含原子记忆单元(AMU); 2. 细粒度离散语义索引(Dual-Path Indexing):为每个 AMU 生成高质量稠密连续向量(Path A),同时利用基于预测编码训练的 T5 离散量化模块通过步长为 1 的卷积投影与 EMA 码本匹配,导出无损时间戳与关键实体的紧凑离散语义指纹(Path B); 3. 拓扑感知双路联合检索(Dual-Path Retrieval Loop):接收查询后,密集向量通路精确捕获邻域强相关候选,码本通路则在查询离散指纹引导下,通过预统计的全局码本转移概率与 IDF 权重顺着共现拓扑激活远距离关联事实,两者融合并通过溯源指针回溯局部语境完成答案生成; 4. 异步离线演化整合(Memory Evolution / Consolidation):在实时交互流之外,后台异步执行基于层次凝聚聚类的去重、状态更新归档与跨会话时序压缩,在维持在线零干扰的同时抑制长期冗余膨胀。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}%%
flowchart TD
A["流式交互对话流<br/>消息分解与真实轮次切分"] --> B["流式上下文注入与原子事实抽象<br/>引入前序只读背景消除代词与相对时间"]
B --> C["自包含原子记忆单元 AMU<br/>事实描述 + 绝对时间戳 + 溯源指针"]
C --> D["细粒度等距同构离散语义量化 ISQ<br/>步长为1投影与码本离散语义指纹提取"]
D --> E["双路混合检索与拓扑关联推理<br/>连续向量KNN匹配 + 码本共现拓扑转移扩展"]
E --> F["溯源指针语境重构与答案生成<br/>联合检索结果排序与时间线重组"]
C -.->|离线非阻塞异步触发| G["异步离线记忆整合引擎<br/>层次聚类 + 模式门控合并 + 指针前向传递"]
G -.->|更新归档与时间跨度压缩| C
关键设计¶
1. 流式上下文注入与原子事实抽象:消解代词与时空歧义的自包含基元 为了克服脱水对话片段在长期存储后的检索失效,MemCode 针对每一轮交互 \(B_k\) 引入了滑动窗口大小为 \(\omega\) 的前序轮次后缀 \(\mathcal{H}_k = \text{Suffix}(B_{k-1}, \omega)\) 作为只读参考背景。该背景不参与提取,仅用于驱动大语言模型解析指代关系 \(\mathcal{R}_{roles}\) 与绝对时间锚点 \(T_{anchor}\)。提取引擎将复合交互重写为完全自包含的原子记忆单元 \(u = (c_{fact}, t_{abs}, \Lambda_{src})\)。其中 \(c_{fact}\) 将模糊指代彻底具象化为实体与事实;\(t_{abs}\) 将相对时间(如“昨天下午”、“两周后”)统一转化为确定性时间戳;\(\Lambda_{src}\) 则严格保存指向原始对话轮次和消息索引的溯源切片指针。当原子事实在检索时命中但在下游回答时信息过于精炼时,系统可通过 \(\Lambda_{src}\) 无损还原原始语境,规避不可逆文本压缩造成的事实丢失。
2. 细粒度等距同构离散语义量化(ISQ):保留实体与时间戳的高保真码本映射 传统 VQ-VAE 在文本领域常采用大步长降采样以实现极端压缩,但这会直接破坏时间戳数字、专有名词与微观实体属性等离散事实。MemCode 采用在对话数据集 DailyDialog 上利用预测编码(根据前文量化特征预测下一轮真实回复)预训练的 T5-base 编码器,并创新性地设计了步长为 1(stride-1)的一维卷积投影层:输入长度为 \(L\) 的原子文本序列,经投影后保持维度长度 \(L_{out} = L\) 不变。随后将每个投影向量分配至 1024 维的欧氏码本 \(\mathcal{E} = \{e_j\}_{j=1}^{N_c}\) 中最近的离散码字: $\(\kappa_t = \arg\min_{j \in \{1,\ldots,N_c\}} \|z_t - e_j\|_2, \quad \bar{z}_t = e_{\kappa_t}\)$ 训练过程通过指数移动平均(EMA)更新码本并加入死码重新激活机制,避免码本坍缩。在推理端,通过去除时间步连续相邻的重复码字,将任意变长的原子记忆序列压缩为确定性的离散语义指纹 \(S_{fp}(u)\),其对应的不重复码集合记为 \(U_{fp}(u)\)。该离散指纹不对底层存储的真实文字构成任何破坏,仅作为拓扑图构建的离散特征键。
3. 码本共现拓扑与双路混合检索:突破几何邻域的关联补全 为了召回在连续嵌入空间中距离较远但具有内在逻辑协同的记忆证据,MemCode 构建了基于全局记忆库的码本共现拓扑矩阵 \(\mathcal{M}_{ab}\),记录不同离散码字在同一原子记忆中共同出现的频次,并定义码字单步转移概率矩阵 \(P(b \mid a)\)。在接收到查询后,系统提取查询指纹集合 \(Q_{fp}\),并利用结合了源端逆文档频率(IDF)调和的拓扑激活公式评估目标码字激活强度: $\(S_{\mathrm{code}}(b \mid a) = \log\left(\frac{N_u + 1}{n(a) + 1}\right) \cdot \max_{1 \leq h \leq H_r} [P^h]_{ab} \cdot \alpha^h\)$ 在检索执行中,系统采用非对称双路互补策略:密集向量检索(Path A)提取 \(K_v\) 个高精度的余弦相似度候选 \(\mathcal{R}_{vec}\);码本拓扑检索(Path B)计算各未命中 AMU 内部码字与查询激活强度的最大匹配分 \(S_{\mathrm{amu}}(u)\),贪心补充 \(K_c\) 个拓扑强关联候选 \(\mathcal{R}_{topo}\)。该非对称策略既杜绝了高频共现噪声稀释精确匹配,又将传统向量检索盲区(如跨多轮的隐式同源属性、间接时间线推理)精确填补。
4. 层次聚类与指针前向传递的异步离线整合:保障零在线阻塞的长程维护 在线流式摄入必然导致相似事实冗余累积、陈旧状态冲突。MemCode 将记忆生命周期维护从实时请求路径中剥离,置于后台异步执行。该引擎基于原子向量的余弦距离执行层次凝聚聚类(HAC),并设立严格的多重门控机制:跳过计数敏感型事实、隔离跨说话人簇、对时间跨度过大的聚类做时间窗二次切分。通过门控的聚类交由大语言模型执行聚合(AGGREGATE)、合并(MERGE)或更新(UPDATE),将多条冗余事实提炼为更紧凑的全局表征。为保证可审计性与时空一致性,整合模块引入指针前向传递机制:将旧事实标记为归档,并将原有的溯源指针 \(\Lambda_{src}\) 继承链向新合成事实;若聚类时间跨度超过分钟级,显式打上时间区间前缀 \([T_{start} \text{ to } T_{end}]\),从机制上根除知识冲突并保留历史回溯路径。
损失函数 / 训练策略¶
离散语义码本模块在离线阶段使用 DailyDialog 数据集进行独立优化,部署后权重完全冻结。训练目标采用端到端自回归预测损失结合向量量化约束: $\(\mathcal{L}_{total} = -\sum_{r=1}^{|y|} \log p_\theta(y_r \mid y_{<r}, \bar{Z}) + \lambda_{\mathrm{vq}} \sum_{t=1}^L \left( \|\operatorname{sg}[z_t] - \bar{z}_t\|_2^2 + \beta \|z_t - \operatorname{sg}[\bar{z}_t]\|_2^2 \right) + \lambda_{ent} \mathcal{L}_{ent}\)$ 其中 \(\operatorname{sg}[\cdot]\) 为阻止梯度反向传播的操作符,\(\beta = 0.10\) 为承诺损失权重,\(\lambda_{\mathrm{vq}} = 1.0\) 为量化损失权重,并辅以权重为 \(0.01\) 的熵正则项 \(\mathcal{L}_{ent}\) 确保码本利用率平坦。优化器采用 AdamW,T5 参数学习率设为 \(10^{-4}\),投影层与解码器学习率设为 \(10^{-3}\),配合余弦衰减调度;码本 EMA 衰减因子设为 0.99,对于每 20 步中均值聚类样本量小于 1.0 的非活跃码字,直接从当前 batch 编码器状态中进行重新初始化,彻底杜绝码字利用失效。
实验关键数据¶
主实验¶
论文在长程智能体基准 LongMemEval-S(考察多会话动态检索与更新)以及 LoCoMo(包含时间推理、多跳、开放域问答)上开展全面评测。涵盖闭源 GPT-4o-mini 与开源大模型 Qwen3-30B-A3B-Instruct-2507 双重骨干,并对记忆构建耗时、调用次数与 Token 消耗进行了系统统计。
| 基准数据集 | 骨干模型 | 评测方法 | 构建时间 (s) ↓ | 总Token数 (k) ↓ | 综合精度 (%) ↑ | 多跳推理 (Multi) ↑ | 时间推理 (Temp) ↑ |
|---|---|---|---|---|---|---|---|
| LongMemEval-S | GPT-4o-mini | Naive RAG | - | - | 61.00 | 48.48 | 39.85 |
| LongMemEval-S | GPT-4o-mini | A-MEM | 5132.06 | 1605.81 | 62.60 | 48.87 | 47.36 |
| LongMemEval-S | GPT-4o-mini | MemoryOS | 8030.04 | 2991.75 | 44.80 | 31.06 | 32.33 |
| LongMemEval-S | GPT-4o-mini | Mem0 | 4248.49 | 1152.62 | 53.61 | 46.21 | 40.15 |
| LongMemEval-S | GPT-4o-mini | LightMem | 283.76 | 28.25 | 68.64 | 71.74 | 67.18 |
| LongMemEval-S | GPT-4o-mini | MemCode (Ours) | 74.05 | 318.41 | 77.20 | 65.41 | 69.92 |
| LongMemEval-S | GPT-4o-mini | MemCode + Asyn. (Ours) | 82.98 | 328.05 | 78.40 | 69.17 | 67.67 |
| LoCoMo | GPT-4o-mini | Full Text | - | - | 73.83 | 68.79 | 50.16 |
| LoCoMo | GPT-4o-mini | Naive RAG | - | - | 63.64 | 55.32 | 56.39 |
| LoCoMo | GPT-4o-mini | A-MEM | 6060.73 | 1149.43 | 64.16 | 56.03 | 60.44 |
| LoCoMo | GPT-4o-mini | MemoryOS (eval) | 2422.05 | 287.00 | 58.25 | 56.74 | 40.19 |
| LoCoMo | GPT-4o-mini | Mem0 | 4432.87 | 1693.39 | 61.69 | 56.38 | 59.19 |
| LoCoMo | GPT-4o-mini | LightMem | 848.49 | 99.76 | 71.95 | 62.41 | 74.14 |
| LoCoMo | GPT-4o-mini | MemCode (Ours) | 40.70 | 189.32 | 78.12 | 64.89 | 76.64 |
| LoCoMo | GPT-4o-mini | MemCode + Asyn. (Ours) | 109.40 | 266.59 | 79.55 | 69.15 | 75.39 |
消融实验¶
针对 LoCoMo 数据集上检索路径组合、量化步长、语境重构与码本共现扩展进行系统消融,并针对共享 40 条记忆预算进行基线替换对照。
| 消融配置 / 检索通路组合 | 总体准确率 (%) | 多跳推理准确率 (%) | 时间推理准确率 (%) | 说明与影响机制分析 |
|---|---|---|---|---|
| MemCode 完整双路 (Dense-20 + Codebook-20) | 78.12 | 64.89 | 76.64 | 向量捕捉表面邻域,码本拓扑补充逻辑关联 |
| 单通路 Dense-20 | 73.18 | 58.16 | 72.90 | 仅依靠稠密向量检索,易漏召回跨语境关联 |
| 单通路扩大预算 Dense-40 | 74.61 | 59.57 | 73.52 | 简单倍增向量候选仅增添近邻冗余,多跳收益平平(+1.41%) |
| 替换为稀疏检索 (Dense-20 + BM25-20) | 76.75 | 60.64 | 70.41 | 词汇扩展注入大量表面文本,但时间与多跳显著弱于码本 |
| 稠密稀疏重排 (Dense-Sparse + Reranker) | 76.36 | 60.28 | 71.34 | 跨度较长且重排模型算力开销大,未改变底层检索结构 |
| 假设文档重排 (HyDE + Reranker) | 76.69 | 61.35 | 71.96 | 依赖幻觉生成假设段落,时间一致性与实体精度依然承压 |
| 离散量化采用粗粒度步长 (Stride-4) | 75.45 | 59.22 | 68.85 | 粗步长合并离散状态,严重摧毁实体标识符与时间数字锚点 |
| 移除原子记忆抽象 (采用原始对话切块) | 53.80 | 33.69 | 42.06 | 失去代词解析与时间规范化后,检索精度崩塌式下跌 |
| 移除溯源指针语境还原 (\(\Lambda_{src}\)) | 74.92 | 61.70 | 74.14 | 原子事实保持主要语义,但下游生成缺乏支撑细节轻微掉点 |
关键发现¶
- 离散拓扑与连续向量呈现显著正交互补性:直接将向量检索 Top-\(K\) 从 20 翻倍至 40 仅带来 1.43% 的全局提升;而引入基于码本共现拓扑的辅助路径使多跳准确率显著跳升 5.32%,69.3% 被码本路径命中的事实甚至完全不在向量检索 Top-100 之内。这证实向量瓶颈源于几何近邻偏差,而非候选池深度不足。
- 步长设计决定事实保真底线:在语义量化阶段,将卷积投影步长从 1 调整至 4 会导致时间推理断崖式下滑近 8 个百分点,表明在智能体长程记忆中,时间戳和实体名称属于不可被下采样模糊化的核心语义元信息。
- 离线整合的结构性权衡:异步整合通过簇级聚合与去重,在 LoCoMo 多跳问答上带来 4.26(GPT-4o-mini)至 7.09(Qwen3)个百分点的提升,但因对多时间节点信息进行了摘要归纳,在纯时间序列判定上微幅回撤 1.25 个百分点,表明长程记忆治理本质上是全局概念密度与微观时序精度之间的战略取舍。
- 构建效率的代际突破:相较于 A-MEM 和 MemoryOS 需耗费数千秒进行串行网络构建与启发式搜索,MemCode 在流式写入时只需轻量原子重写与离散推断,构建耗时仅需 40 至 80 秒,效率实现 1 至 2 个数量级的飞跃。
亮点与洞察¶
- 将离散表示重塑为关联拓扑中介:突破传统向量量化仅用于声学压缩或图像量化的固有思维,首次将 VQ 码本作为非欧氏语义记忆锚点,通过统计全局码字共现概率天然催生图谱式转移结构,避免了显式知识图谱庞大的维护开销。
- 轻量本地栈与端云解耦架构:代码本推理和 SQLite 拓扑维护极度轻量,内存与显存开销仅需消费级 GPU(RTX 3050 Ti 级别)即可实时承载,将昂贵的 LLM 算力紧凑收敛于高质量原子重写环节。
- 非对称检索与可审计溯源链条:采用向量精准对齐主干叠加码本贪心补全的非对称融合策略,并在各阶段维持双向溯源指针,彻底解决了大模型在生成答复时“事实失真不可查”的黑盒难题。
局限与展望¶
- 主观情感与隐性动机建模不足:原子命题化重写(AMU)高度偏向实体、属性、事件与明确时间戳,在开放域对话(LoCoMo Open-domain)中对于用户潜在情绪、对话微妙潜台词或非结构化心理意图的捕捉弱于未压缩的原始全文上下文。
- 码本跨域表征泛化边界:当前离散码本依托 DailyDialog 离线预训练获得,尽管展现出高度稳定的非坍缩拓扑分布,但在涉及极具专业性的垂直领域(如高度复杂的医疗诊断、专业代码工程对话)时,局部码字分布可能会面临覆盖偏置。
- 未来方向:探索端到端联合微调的自适应多模态离散记忆码本,以及针对情感意图的层次化双轨原子抽取协议。
相关工作与启发¶
- vs Mem0 / LangMem: 传统方法主要围绕 CRUD 增删改查机制或简单的分层缓存构建逻辑,底层检索完全退化为基于向量数据库的表层距离搜索;MemCode 创新性地引入了离散语义层与共现拓扑,消除了表层词汇相距甚远时逻辑记忆的漏检。
- vs A-MEM / HippoRAG2: 显式知识图谱或网络记忆方法虽然具备多跳推理能力,但在线构图需调用数万次 LLM 产生高昂开销且延迟显著;MemCode 仅利用离散量化产生的码字天然累加共现拓扑,以几乎零额外推理延迟达到了与完备图检索相当的关联推理能力。
- vs LightMem / MemoryOS: 现有压缩与淘汰机制多为面向存储节省的顺序摘要压缩,容易丢失精细时间戳;MemCode 坚持原子事实与保留局部原始对话指针的溯源重构,实现了压缩率与事实完整性的兼得。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ [将离散向量量化码本共现拓扑引入智能体长程记忆关联检索,立意精巧]
- 实验充分度: ⭐⭐⭐⭐⭐ [包含长程对话两大基准、双重模型骨干、完备的第二路径替换对照与深入的码本空间几何分析]
- 写作质量: ⭐⭐⭐⭐⭐ [理论阐述严密,动机推导与方法图表清晰完备]
- 价值: ⭐⭐⭐⭐⭐ [攻克了智能体长程记忆系统的检索脱节与效率瓶颈,对端侧或企业级落地具有极高借鉴意义]