SIGNALFEED · 论文精读日报文章库论文库

ACL 2024 · 2024

LoCoMo:评估 LLM 智能体的超长期对话记忆

Evaluating Very Long-Term Conversational Memory of LLM Agents

Adyasha Maharana · Dong-Ho Lee · Sergey Tulyakov · Mohit Bansal · Francesco Barbieri · Yuwei Fang

University of North Carolina, Chapel Hill · University of Southern California · Snap Inc.

arXiv:2402.17753v1DOI 10.18653/v1/2024.acl-long.747首次提交 2024-02-27入库 2026-07-28

论文许可 CC BY 4.0 · 代码许可 CC BY-NC 4.0。本文为中文重述与 AI 分析,不代表原作者背书。

#智能体#长上下文#模型评测#基准测试#检索增强生成
实验模型
GPT-3.5-Turbo · GPT-4-Turbo · Gemini-1.0-Pro · Claude-3-Sonnet · Mistral-7B-Instruct-v0.2 · Llama-2-70B-Chat · Llama-3-70B-Instruct · MiniGPT-5 · BLIP-2 · text-davinci-003
任务基准
LoCoMo

一句话结论

LoCoMo 把“长期记忆”拆成跨会话事实召回、时序与因果整合、事件总结和多模态续写,而不只检查模型能否把整段历史塞进上下文。实验表明,长上下文和 RAG 都能提高部分问答成绩,但检索到相关内容不等于正确使用内容:最强模型仍远低于人类,时序推理、对抗问题、说话人归属和跨会话因果尤其薄弱。

版本说明

用户提供的地址是 arXiv:2402.17753v1,提交于 2024 年 2 月 27 日。该版本描述的是 50 段对话,平均约 300 turns、9K tokens,最多 35 个 sessions。本文精读采用作者后续正式发表的 ACL 2024 长文版(ACL Anthology ID 2024.acl-long.747,DOI 10.18653/v1/2024.acl-long.747):正式版与当前官方仓库将公开评测集收敛为 10 段最长且经高质量标注的对话,平均约 600 turns、16K tokens,最多 32 个 sessions。二者不是可以混用数字的同一数据快照。

摘要译文

现有长期开放域对话研究通常只在不超过五个聊天会话的上下文中评估模型回答。尽管长上下文大型语言模型和检索增强生成技术不断进步,它们在超长期对话中的有效性仍缺少研究。为弥补这一空白,作者提出一条人机协作流水线:借助基于 LLM 的智能体架构生成高质量超长期对话,以人物设定和时间事件图为依据,并让每个智能体能够分享图片和回应图片。生成的对话由人工标注者核查和编辑,以保持远距离一致性并确保对话与事件图对应。

这条流水线产生了 LoCoMo:一个超长期对话数据集,每段对话平均约 600 turns、16K tokens,分布在最多 32 个 sessions 中。基于 LoCoMo,作者提出一套长期记忆综合评测,覆盖问答、事件总结和多模态对话生成。实验显示,LLM 难以理解长篇对话,也难以把握跨越很长距离的时序和因果关系。长上下文模型与 RAG 虽然能带来改善,但仍显著落后于人类表现。(ACL 2024 Abstract)

论文地图

问题 论文如何回答 主要证据
如何得到足够长、又能核验一致性的对话 人物设定、时间事件图、带记忆的虚拟智能体与人工编辑串成生成流水线 §3、Figure 3、Appendix A
“长期记忆”具体测什么 问答、事件总结、多模态对话生成三类任务 §4、Figure 2
长上下文是否已经解决长期记忆 比较短上下文、长上下文和 RAG,并按推理类型拆分问答 §5–§6、Tables 2–4
检索是否等于记忆 比较原始对话、观察断言和 session summary 三种检索单元 Table 3
结论能否外推到真实用户 论文明确讨论合成数据、英语、闭源模型、图像与评测限制 §8–§9、Appendix B–C

1. 研究问题:窗口足够长之后,模型真的会“记得”吗

过去的多会话对话数据通常只有约五个 sessions、约 1K tokens。作者认为,只在这种尺度上测下一句回复,无法区分三个环节:模型是否找到了过去的相关内容、是否把不同会话中的信息组合起来、是否能根据时间与因果关系生成当前合理的回答。因此 LoCoMo 不把“长期记忆”定义为单一准确率,而是要求模型完成三层行为(§1、§4):

  1. 回忆:从数百轮历史中找回与问题有关的事实;
  2. 理解:把跨 session 的人物、时间、因果和共同知识组织起来;
  3. 使用:在事件总结或后续多模态对话中保持人物和叙事一致。

这一定义比“能否接受 128K tokens”更严格。上下文窗口只说明输入容量,LoCoMo 试图测的是模型能否在输入中定位证据、拒绝错误前提,并把证据用于跨会话推理。

2. LoCoMo 是怎样生成的

2.1 人物与时间事件图

每段对话由两个虚拟智能体参与。作者先从 MSC 数据集取 4–5 句初始 persona,再用 gpt-3.5-turbo 扩写为完整人物设定,包含目标、经历、习惯、人际关系及基本身份信息(§3.1、Appendix A.1、Figure 5)。

随后,作者用 text-davinci-003 为每个人物生成时间事件图。事件图最多包含 25 个事件,跨度为 6–12 个月;每个事件有日期,并通过 caused_by 边表示前序事件如何导致后续事件。生成过程每次扩展 3 个事件,以已有图为条件继续生成人生变化(§3.2、Appendix A.2、Figures 6–7)。这使对话中的“后来发生什么”有一份可检查的外部结构,而不是仅靠模型自由续写。

2.2 带短期与长期记忆的虚拟智能体

智能体以 gpt-3.5-turbo 为核心,维护两类记忆(§3.3、Appendix A.2.1):

  • 短期记忆是逐 session 递推的摘要;生成当前摘要时同时读取上一 session 的摘要和当前原始对话(Figure 8)。
  • 长期记忆是从每轮对话抽取的 observation,即关于说话人生活和 persona 的客观断言;每条 observation 还保留贡献它的 turn IDs,便于后续检索和证据追踪(Figure 9)。

新 session 的回答综合人物设定、当前对话、上一 session 摘要、检索到的 observations,以及两次 session 之间应发生的事件图节点。图像部分先由模型生成意图 caption,再转换为搜索词抓取网络图片;收到图片的一方用 BLIP-2 caption 和人物设定生成反应(§3.3、Figure 10)。

2.3 人工编辑不是点缀,而是数据质量的一部分

标注者需要删除不相关图片、补充图片上下文、替换与 caption 不符的图片、修正前后矛盾、让对话与当前事件对齐,并删除没有真正出现在对话中的事件。最终,人工编辑了接近 15% 的 dialogue turns,删除或替换了约 19% 的图片(§3.4、Appendix A.3、Figure 11)。

这组比例说明原始 LLM 生成结果并不足以直接当作长期一致性基准;LoCoMo 的质量来自“结构化生成 + 人工修订”,而不是单纯扩大合成数据规模。论文没有报告标注者人数、人口统计、标注一致性或编辑质量的重复测量;只说明标注者为内部人员,因保密原因无法提供其人口统计信息(Appendix B.3)。

3. 数据规模与评测任务

ACL 正式版公开 10 段对话,平均每段 27.2 个 sessions、588.2 turns、16,618.1 tokens;平均每个 session 21.6 turns。时间跨度为数月,并含多模态内容。与 MSC 相比,LoCoMo 平均 token 数约为 16 倍、turns 约为 10 倍、sessions 约为 5 倍(Table 1、Appendix B.1 Table 5)。

3.1 问答:从找事实到拒绝错误前提

问答集共有 1,986 题,并按所需推理分为五类(§4.1、Appendix B.1 Table 5):

类别 数量 占比 主要要求
Single-hop 841 42.3% 从单个 session 找到答案
Multi-hop 282 14.2% 综合多个 sessions 的信息
Temporal 321 16.1% 结合日期与时间线索推理
Open-domain 96 4.8% 把对话事实与常识或世界知识结合
Adversarial 446 22.4% 识别带错误前提、应回答“不可回答”的问题

标注答案尽量直接取自对话,评价采用归一化后的 partial-match F1。这个设计降低了自由表述对自动指标的干扰,但也意味着结果主要衡量答案片段匹配,不等同于自然对话回复质量。

3.2 事件总结:重建跨会话时序与因果

模型需要从对话中总结指定时间范围内的重要人生事件,以事件图为 ground truth。作者把参考与预测都拆为 atomic facts,再用改造后的 FactScore 计算 precision、recall 与 F1,同时报告 ROUGE(§4.2)。这一任务要求整合全部历史,所以作者没有使用只检索局部片段的 RAG,而是比较长上下文模型与逐 session 递推的 incremental summarization(§5、Appendix C.1)。

3.3 多模态对话生成:过去的信息是否改变当前回复

模型根据先前文字和图片继续生成对话,使用 BLEU、ROUGE-L 与 MM-Relevance 评价。训练实验另外生成 50 段未经人工过滤的对话,比较 MiniGPT-5 的 base、加入全局 summary、加入检索 observations 三种版本(§4.3、§5、Appendix C.1)。

4. 实验设置与可比性

作者比较三类问答方法(§5、Appendix C.1):

  • Base:Mistral-7B-Instruct-v0.2、Llama-2-70B-Chat、Llama-3-70B-Instruct,受 4K/8K 窗口限制,早期对话被截断;
  • Long-context:GPT-3.5-Turbo、GPT-4-Turbo、Gemini-1.0-Pro、Claude-3-Sonnet,尽可能读取完整对话;
  • RAG:DRAGON 检索器 + GPT-3.5-Turbo reader,分别以原始 dialog、observation 或 session summary 为检索单元。

所有 API 与 Hugging Face 模型取自 2024 年 5 月,temperature 为 0、top-p 为 1。每个模型只报告 一次 inference run;RAG 和 MiniGPT-5 实验使用单张 NVIDIA A6000、FP32。MiniGPT-5 训练 10 epochs,约耗时 30 小时(Appendix C.2)。因此这些结果适合比较当时配置下的能力差异,但没有多 seed、置信区间或显著性检验,不能用细小分差建立稳定排名。

5. 主要结果

5.1 长上下文提高问答,却没有接近人类

Table 2 的整体 F1 如下:

方法 上下文 Overall F1 Temporal F1 Adversarial F1
Human 87.9 92.6 89.4
Llama-3-70B-Instruct 4K 30.1 12.0 80.0
GPT-3.5-Turbo 16K 35.9 24.3 14.8
Gemini-1.0-Pro 1M 39.1 34.2 5.2
Claude-3-Sonnet 200K 42.8 26.9 2.5
GPT-4-Turbo 128K 51.6 51.4 15.7

GPT-4-Turbo 是整体最佳模型,但比人类低 36.3 个 F1 点;时序问题上低 41.2 点。这支持作者的主要判断:更大窗口改善了单跳、多跳和部分时序问题,但无法消除跨会话整合缺口(§6.1、Table 2)。

对抗题暴露出另一个现象:更多上下文可能带来更多看似相关但错误的线索。GPT-3.5-Turbo 的对抗 F1 从 4K 时的 34.8 降至 16K 时的 14.8;GPT-4-Turbo 为 15.7。Llama-3-70B-Instruct 在对抗题达到 80.0,却只有 30.1 的整体 F1,因此该数字更应理解为它在这类“拒绝错误前提”题上的特定优势,而非全面胜过长上下文模型(Table 2)。

5.2 RAG 的关键不是多取,而是把历史变成可用断言

以 GPT-3.5-Turbo 为 reader 时,无检索的整体 F1 为 22.4。不同检索单元的最佳结果为(Table 3):

检索单元 top-k Overall F1 Overall Recall@k
Raw dialogs 25 41.0 76.7
Observations 5 43.3 56.2
Session summaries 10 32.0 84.7

Top-5 observations 比 top-5 raw dialogs 高 4.5 个整体 F1 点(43.3 对 38.8),但把 observations 增加到 10 或 25 条后,整体 F1 反而降到 42.8 和 42.1。作者据此强调检索上下文的 signal-to-noise ratio:更多召回不一定更有用(§6.1)。

更鲜明的证据来自 summary:top-10 session summaries 的整体 recall@k 达到 84.7,但答案 F1 只有 32.0。也就是说,检索系统可能找到“正确 session”,却因摘要在压缩时丢失回答所需细节,或者 reader 未能正确推理,最终仍答错。论文把原因解释为 summary 转换中的信息损失,但没有独立实验把“摘要丢失”与“reader 推理失败”完全分离,因此这仍是有数据支持的作者解释,而不是已证明的单一因果机制。

5.3 事件总结中的事实与归属错误仍然严重

GPT-4-Turbo 在事件总结上最佳:ROUGE-L 为 21.6,FactScore F1 为 48.9;Gemini-1.0-Pro 的 FactScore F1 为 44.2,Claude-3-Sonnet 为 43.1。使用 4K 上下文的 Llama-3-70B-Instruct 通过 incremental summarization 得到 ROUGE-L 19.2,只比 GPT-4-Turbo 低 2.4 点,但 FactScore F1 只有 37.8,低 11.1 点(§6.2、Table 4)。这说明表面词汇覆盖接近,不代表关键事实被完整、正确地保留下来。

人工检查把错误归纳为五类:漏掉跨会话因果或时间细节、添加不存在或属于其他事件的信息、误解玩笑等语用线索、把事件归给错误说话人、把普通寒暄当成重要事件(§6.2、Appendix D.1 Table 6)。论文没有报告每类错误的频次,因此这是一份定性 taxonomy,而不是错误分布估计。

5.4 多模态实验显示小幅增益,不足以证明真实视觉记忆

MiniGPT-5 的 observation top-5 版本取得最佳自动指标:BLEU-1/2 为 58.7/32.2、ROUGE-L 12.6、MM-Relevance 55.8;base 分别为 56.4/31.8、11.6、54.2(Appendix D.2 Table 7)。Figure 4 同时显示,随着历史对话变长,MM-Relevance 下降,RAG 只能部分缓解。

这部分证据边界较窄:训练用的 50 段对话未经人工过滤;公开数据不包含实际图片,只保留 URL、caption 和搜索词;作者还指出,除 OCR 场景外,把图片替换成 caption 通常损失不大(§8、官方仓库 README)。所以这更像是“文本化视觉事件的长期一致性”初步实验,而不是现实个人相册中的身份、场景和视觉连续性评测。

6. 论文结论与证据边界

作者直接支持的结论包括:

  • 在 LoCoMo 的超长合成对话上,2024 年 5 月所测 LLM 普遍难以正确利用长距离上下文,尤其是时序、因果、多跳、说话人归属和对抗问题(§6、Tables 2–4)。
  • 长上下文能改善部分召回与问答,但最大窗口不是有效记忆的充分条件;GPT-4-Turbo 仍与人类整体 F1 相差 36.3 点(Table 2)。
  • RAG 能显著优于无检索设置,但检索单元和噪声水平决定收益;结构化 observations 在所测配置中优于等量 raw dialogs,summary 的高召回也未转化成同等答案准确率(Table 3)。
  • 事件总结会出现遗漏、幻觉、语用误解、错误归属和显著性判断错误;长上下文没有自动解决这些问题(§6.2、Table 6)。

这些证据不能支持以下外推:

  • 不能把 LoCoMo 分数直接等同于真实产品的用户长期记忆。 数据只有 10 段,主体是 LLM 生成再经人工修改,不包含真实生活对话的全部隐含语境、隐私约束和行为反馈(§8)。
  • 不能从单次运行推出稳定模型排名。 实验没有多 seed、置信区间或显著性检验,模型还是 2024 年 5 月的 API 快照(Appendix C.2)。
  • 不能证明 observation 一定是最佳记忆表示。 它只在 DRAGON + GPT-3.5-Turbo 和本数据集上优于所测 dialog/summary 配置;不同 retriever、reader、切分与训练方式未被系统覆盖。
  • 不能把多模态结果外推到真实照片记忆。 图像来自网络搜索且不公开,数据缺少个人外貌、家庭环境、亲友与宠物的稳定视觉连续性(§8)。
  • 不能忽略许可与复现限制。 ACL 论文为 CC BY 4.0;LoCoMo 数据和官方仓库采用 CC BY-NC 4.0,且闭源 API 与失效的第三方图片 URL 都可能影响复现。

7. AI 解读:这篇论文真正留下了什么

以下是 AI 基于论文证据作出的延伸分析,不是作者原文结论。

7.1 长期记忆系统至少有四个可分离瓶颈

LoCoMo 的结果可以被解释为一条四阶段链路:写入 → 检索 → 推理 → 拒绝

  • 写入决定历史被保存成原始 turns、observations 还是 summaries;
  • 检索决定相关证据是否进入上下文;
  • 推理决定模型能否处理人物、时间、因果和多跳组合;
  • 拒绝决定模型面对错误前提或错误归属时是否停止编造。

Table 3 中“summary recall 很高、答案 F1 较低”说明检索成功不能覆盖推理瓶颈;Table 2 中长上下文模型在 adversarial 类别骤降,则说明即使没有显式检索器,更多上下文也会增加拒绝错误线索的难度。工程上若只优化向量召回率,可能会把问题从“找不到”迁移成“找到了但用错”。

7.2 Observation 的优势可能来自信息形态,而不只是压缩率

Observation 把对话改写为带人物归属的原子断言,并保留 turn IDs。它相比 raw dialog 更少寒暄、共指和隐含信息,相比 summary 又保留更多可直接回答的问题细节。由此可以推断,长期记忆的中间表示可能需要同时满足三点:足够原子化、显式绑定实体、可回链原始证据。

但 LoCoMo 没有比较不同 observation 抽取模型、事实冲突合并策略、随时间衰减或隐私删除,因此它更像是在证明“记忆表示值得被单独设计”,而不是给出最终 schema。

7.3 对抗问题提示长期记忆必须具备负证据

多数记忆系统擅长返回与查询相似的正证据,却很少显式表示“这件事没有发生”“问题把 A 的事件错配给了 B”。LoCoMo 的 adversarial 题与 speaker-attribution 错误显示,长期记忆若没有负证据、冲突检测和人物边界,召回更多相似片段反而可能提高编造概率。

一个合理的工程推论是:生产系统不仅要存事实,还应存来源、时间、人物、置信度和冲突关系,并允许回答“现有记忆不足以支持这个前提”。这不是论文直接验证的架构结论,但与 Table 2、Table 3 和 Table 6 的错误模式一致。

7.4 LoCoMo 更适合作为诊断集,而不是单一排行榜

整体 F1 会掩盖不同系统的失败机制。Llama-3 在 adversarial 类别很高却整体较低;summary RAG 召回很高却答题较弱;incremental summarization 的 ROUGE-L 接近 GPT-4-Turbo,FactScore 却明显更低。由此可以推断,更有价值的使用方式是按 single-hop、multi-hop、temporal、adversarial、speaker attribution 和 factuality 分项诊断,而不是只追逐一个总分。

8. 相关工作坐标

  • MSC / Beyond Goldfish Memory:提供多 session 人类对话,但规模约四个 sessions;LoCoMo 主要扩展时间跨度与评测类型(Table 1)。
  • Conversation Chronicles、MemoChat、MemoryBank:探索事件脚手架、备忘录或外部记忆以维持长期对话;LoCoMo 的差异是把长期记忆拆成可量化的问答、事件总结和多模态生成任务(§2)。
  • Long-context LLM evaluation:Lost in the Middle、Loogle 等研究长上下文利用;LoCoMo 把问题放进跨月、多人格和事件因果的对话场景,而非一般文档或合成检索(§2)。
  • Generative Agents:LoCoMo 的虚拟智能体记忆与 reflection 模块直接继承这一方向,但增加了事件图、图像行为和人工修订,并把生成结果转为评测基准(§3、§9)。