# 2410.10813_LongMemEval: Benchmarking Chat Assist- ants on Long-Term Interactive Memory * 首页: * PDF: * 引用: 68(2025-11-26) * 组织: * 1UCLA((University of California, Los Angeles)) * 2Tencent AI Lab Seattle, * 3UC San Diego * GitHub: ## 总结 **总结** * 相比MemoryBank, LoCoMo, PerLTQA, DialSim等基准主要"用户-用户"的交互,增强了对长期"用户-助手"交互中关键的记忆能力 **综合性评估基准 LongMemEval** * 基准包含500个精心设计的问题,用于评估聊天助手的五项核心长期记忆能力: * 信息提取(Information Extraction) * 多轮会话推理(Multi-Session Reasoning) * 时间推理(Temporal Reasoning) * 知识更新(Knowledge Updates) * 主动回避回答(Abstention) * 三阶段统一记忆框架: * 索引(Indexing) * 检索(Retrieval) * 阅读(Reading) * 记忆设计优化策略: * 会话分解(Session Decomposition):提升信息粒度控制 * 事实增强的关键词扩展(Fact-Augmented Key Expansion):改进索引质量 * 时间感知的查询扩展(Time-Aware Query Expansion):优化检索范围 LongMemEvalS:每题约115k token; LongMemEvalM:500个会话,约150万token。 ## Abstract 本章节介绍了当前基于大语言模型(LLM)的聊天助手系统在长期记忆能力方面的研究现状与挑战。主要工作如下: ### 1. **背景与问题提出** - 当前的聊天助手系统已引入**记忆组件**,用于记录用户与助手之间的对话历史,以提升回复的准确性和个性化。 - 然而,这些系统在**长期记忆能力**方面仍存在不足,尤其是在持续交互中的表现尚未被充分研究。 ### 2. **LongMemEval 基准测试** - 提出了一个**综合性评估基准 LongMemEval**,用于评估聊天助手的五项核心长期记忆能力: - 信息提取(Information Extraction) - 多轮会话推理(Multi-Session Reasoning) - 时间推理(Temporal Reasoning) - 知识更新(Knowledge Updates) - 主动回避回答(Abstention) - 该基准包含**500个精心设计的问题**,嵌入在可自由扩展的对话历史中,对现有系统构成重大挑战。 - 实验显示,当前商业聊天助手和长上下文LLM在跨会话记忆任务中**准确率下降达30%**。 ### 3. **统一的记忆框架与优化方法** - 提出一个**三阶段统一记忆框架**: - 索引(Indexing) - 检索(Retrieval) - 阅读(Reading) - 在实验基础上,提出了以下**记忆设计优化策略**: - **会话分解**(Session Decomposition):提升信息粒度控制 - **事实增强的关键词扩展**(Fact-Augmented Key Expansion):改进索引质量 - **时间感知的查询扩展**(Time-Aware Query Expansion):优化检索范围 ### 4. **实验结果与意义** - 实验表明,上述优化策略显著提升了 LongMemEval 上的记忆召回能力和问答性能。 - 本研究为提升基于LLM的聊天助手的长期记忆能力提供了**有价值的资源与指导**,推动更个性化、更可靠的对话AI发展。 ## 1 Introduction ### 核心问题与背景 本节介绍了**大型语言模型(LLMs)在个性化任务中的局限性**。尽管LLMs在多种任务中表现出色,广泛应用于聊天助手(如OpenAI和Microsoft的产品),但在需要长期用户-AI互动积累的个性化知识任务(如心理辅导、秘书工作)中仍存在明显不足。如果不能有效整合用户的背景和偏好,将影响回复的准确性与用户满意度。 为此,**长期记忆能力**(即记忆、回忆和推理长期互动历史的能力)成为实现个性化LLM助手的关键。近年来,一些商业和开源系统(如OpenAI、Coze、Zhong等)通过压缩、索引和检索聊天历史等技术,尝试提升个性化响应的生成能力。 ### 当前研究的不足 尽管已有多个系统尝试引入记忆机制,但在**全面评估长期记忆能力方面仍存在明显不足**: 1. **交互模拟不真实**: - 多数基准测试仅关注**人类之间的对话**(如Xu等、Maharana等、Kim等),而非用户与AI之间的互动。 - 缺乏对**任务导向型对话**的覆盖,而这类对话在实际聊天助手中占比高,且因长上下文输入和长回复形式对记忆能力构成挑战。 - 历史对话长度通常不可配置,仅几千token,难以反映当前系统不断提升的处理能力。 2. **评估维度不全面**: - 现有基准测试(如MemoryBank、PerLTQA、LoCoMo)未能充分评估: - 跨多个会话的信息综合能力; - 时间元数据或时间引用的推理能力; - 对助手提供信息的回忆; - 用户信息更新后的推理能力。 ### 本研究贡献:LongMemEval 为解决上述问题,作者提出了**LongMemEval**,一个用于评估聊天助手长期记忆能力的综合性基准测试。其主要特点包括: - **500个手动构建的问题**,测试五种核心记忆能力: 1. 信息提取(Information Extraction) 2. 多会话推理(Multi-Session Reasoning) 3. 时间推理(Temporal Reasoning) 4. 知识更新(Knowledge Updates) 5. 拒答能力(Abstention) - 每个问题要求从用户与助手之间的任务导向对话中回忆隐藏信息。 - 采用“针在干草堆”测试方法(inspired by Kamradt, 2023),构建**可配置长度的连贯聊天历史**。 - 提供两个标准设置用于比较: - **LongMemEvalS**:每题约115k token; - **LongMemEvalM**:500个会话,约150万token。 - 初步评估显示,LongMemEval具有高度挑战性: - 长上下文LLMs在LongMemEvalS上性能下降30%~60%; - 最先进的商业系统在更简单的设置下准确率也仅为30%~70%。 ### 记忆增强型聊天助手的统一视角 作者基于LongMemEval,对记忆增强型聊天助手的设计进行了系统分析,涵盖三个执行阶段(索引、检索、阅读)和四个控制点(值、键、查询、阅读策略),得出以下有效设计策略: 1. **值(Value)设计** - 以“轮次”(round)而非“会话”(session)为存储和使用历史的粒度更优; - 将信息压缩为用户事实虽会损失信息,但有助于提升多会话推理准确率。 2. **键(Key)设计** - 使用扁平索引(flat index)作为基线表现良好; - 若进一步加入用户事实作为键,可提升记忆召回率(+9.4% recall@k)和问答准确率(+5.4%)。 3. **查询(Query)设计** - 时间无关的记忆设计在时间推理任务中表现差; - 提出一种时间感知的索引与查询扩展策略,结合时间戳信息缩小搜索范围,使用强LLM进行查询扩展时,时间推理召回率提升6.8%~11.3%。 4. **阅读(Reading)设计** - 即使检索准确,正确利用信息仍具挑战; - 应用Chain-of-Note(CoN)和结构化数据格式(如Yin等)可提升问答准确率最高达10个百分点。 --- ### 总结 本章系统地指出了当前LLM在长期记忆能力评估方面的不足,提出了一个更具挑战性和实用性的新基准LongMemEval,并基于该基准提出了多个有效的记忆增强设计策略,为未来个性化聊天助手的发展提供了理论和实践基础。 ## 2 Related Work ### 长期对话基准(Long-Term Dialogue Benchmarks) 随着对话系统能力的提升,研究开始关注**超越传统对话建模基准的长期对话理解**。早期工作主要集中在**个性化响应生成**的语言模型评估,基于人类-人类(如MSC)或人类-人工智能(如DuLeMon)的对话历史。 随后,为了更精确地评估记忆准确性,研究转向了**问答(QA)任务**,如: - **MemoryBank**:包含15名用户多日的对话历史和194个探测问题。 - **LoCoMo**:包含50个长期对话历史,问题涵盖单跳、多跳、时间推理、常识、世界知识和对抗推理。 - **PerLTQA**:规模更大,包含3,409个对话和8,593个问题,覆盖广泛的知识类型。 - **DialSim**:通过角色扮演电视剧角色评估记忆能力,并引入时间限制。 尽管这些基准在不断进步,但它们仍存在以下不足: - 忽略了长期用户-助手交互中关键的记忆能力,如跨多个会话的信息整合、回忆助手侧信息、推理用户信息更新或复杂时间引用。 - 对话历史通常太短,无法反映任务导向型交互的真实情况。 与现有工作的对比(见表1)显示,**LongMemEval**具有以下优势: 1. **更长且可扩展的对话历史**(50,000个会话,上下文深度达1.5M token)。 2. **全面覆盖五种核心记忆能力**:信息提取(IE)、多会话推理(MR)、知识更新(KU)、时间推理(TR)、对无法回答问题的拒绝(ABS)。 图1展示了LongMemEval中七种问题类型的示例,进一步说明其任务的复杂性和多样性。 --- ### 长期记忆方法(Long-Term Memory Methods) 为了赋予聊天助手长期记忆能力,研究主要探索了三种技术路径: 1. **直接处理长上下文输入**: - 通过大语言模型(LLM)处理长历史信息。 - 优点:无需复杂架构。 - 缺点:效率低,存在“中间信息丢失”问题(即输入越长,模型对上下文的利用能力下降)。 2. **引入可微分记忆模块**: - 在语言模型中加入专门设计的记忆结构和训练策略。 - 例如:Memory Networks、Transformer-XH、MemLong等。 3. **上下文压缩方法**: - 将长历史压缩为紧凑表示,包括: - LLM内部表示(如DeepSeek、Mistral)。 - 离散token压缩(如Llama3、ChatGPT)。 - 基于检索增强生成(RAG)的可检索文本片段。 虽然LongMemEval适用于评估任何记忆系统,但本文采用**在线上下文压缩视角**,即: - 每个对话会话依次处理、存储。 - 通过索引和检索机制按需访问。 这种设定与当前研究(如MemoryBank、RAG-based系统)和商业系统(如OpenAI Assistant、Coze)一致,且具有**插件式集成**的优势,便于嵌入现有聊天助手系统。 ## 3 LongMemEval ### 3.1 问题定义(Problem Formulation) 本节定义了 LongMemEval 的评估实例,使用一个四元组 (𝐒, q, t_q, a) 来表示: - **𝐒** 是一个由 N 个历史对话会话组成的序列,每个会话包含时间戳 t_i 和对话内容 S_i,S_i 是用户与助手之间的多轮对话。 - **q** 是用户提出的问题,**t_q** 是问题的时间戳,且 t_q > t_N(即在所有历史会话之后)。 - **a** 是答案,可以是简短的短语或自然语言描述。 测试时,系统会依次接收这些历史会话,然后根据问题 q 和时间 t_q 生成答案 a。 > **重点**:这个设定强调了时间顺序和长期记忆的挑战,即系统需要在不断增长的对话历史中准确提取和推理信息。 --- ### 3.2 LongMemEval:基准构建(Benchmark Curation) 本节介绍了 LongMemEval 的设计目标和构建过程,强调其对长期记忆能力的全面覆盖。 #### 五大核心能力: 1. **信息提取(IE)**:从大量历史对话中提取特定信息。 2. **多会话推理(MR)**:跨多个会话进行信息综合,回答需要聚合或比较的问题。 3. **知识更新(KU)**:识别用户信息的变化并动态更新记忆。 4. **时间推理(TR)**:理解对话中的时间信息(包括显式和元数据时间戳)。 5. **拒绝回答(ABS)**:识别无法回答的问题,并正确回应“我不知道”。 > **重点**:相比 MemoryBank 和 PerLTQA 等早期基准,LongMemEval 覆盖了更全面的记忆能力。 #### 七种问题类型: - 单一会话用户/助手信息提取 - 用户偏好理解 - 多会话信息聚合(MR) - 知识更新(KU) - 时间推理(TR) - 拒绝回答(ABS):从上述问题中构造“错误前提”问题,测试模型是否能识别并拒绝回答 #### 问题构建流程: 1. 定义 164 个用户属性(生活方式、物品、事件、情境、人口统计)。 2. 使用 LLM(如 Llama 3 70B)生成用户背景段落。 3. 从中生成问题-答案对,并由人工专家筛选和重写,确保难度和多样性。 4. 将答案分解为带时间戳的证据语句。 #### 证据会话构建: - 使用 LLM 模拟用户与助手的对话,将证据语句**间接嵌入**到会话中(例如通过提问方式隐含表达)。 - 人工编辑确保证据语句自然分布于对话中,并标注其位置。 - 对时间信息进行自然化重写。 #### 历史对话构建: - 构建完整的用户-助手对话历史,包含: - 目标证据会话(嵌入问题所需信息) - 随机插入的无关会话(来自其他属性或公开数据集如 ShareGPT、UltraChat) - 生成两种标准设置: - LongMemEvalS:约 115k tokens/问题 - LongMemEvalM:500 个会话,约 1.5M tokens > **重点**:这种“大海捞针”式设计模拟了真实场景中信息分散、干扰多的挑战。 --- ### 3.3 评估指标(Evaluation Metric) #### 问答评估: - 使用 GPT-4o 作为评估模型,通过提示工程进行响应质量评估。 - 与人工评估一致性超过 97%,避免了传统精确匹配的局限性。 #### 记忆召回评估: - 若系统暴露检索结果,可计算: - Recall@k - NDCG@k - 用于衡量系统是否能准确找到答案所在的证据位置。 --- ### 3.4 LongMemEval 是一个重大挑战 #### 商用系统测试: - 测试 ChatGPT 和 Coze,发现其表现显著低于“离线阅读”(即将完整历史作为上下文输入 GPT-4o)。 - **结果**: - ChatGPT 准确率下降 37% - Coze 准确率下降 64% - **问题**: - ChatGPT 易覆盖关键信息 - Coze 难以记录间接信息 > **重点**:说明当前商用系统在长期记忆管理方面存在明显不足。 #### 长上下文 LLM 测试: - 在 LongMemEvalS(约 115k tokens)上测试 GPT-4o、Llama 3.1、Phi-3 等模型。 - **结果**: - 相比“仅使用证据会话”的 Oracle 设置,性能下降 30%~60% - 即使使用 Chain-of-Note 技术,性能仍显著下降 - **结论**:即使是最先进的长上下文模型,在处理真实场景下的长历史对话时仍面临巨大挑战。 > **重点**:强调了构建有效长期记忆机制的重要性,仅靠长上下文不足以应对真实场景。 --- ### 总结 LongMemEval 是一个全面评估长期记忆能力的基准,涵盖信息提取、多会话推理、知识更新、时间推理和拒绝回答五大能力。其构建过程强调真实性和挑战性,通过人工与 LLM 协同生成高质量数据。实验证明,当前商用系统和长上下文模型在处理该任务时表现不佳,凸显了构建有效长期记忆机制的必要性。 ## 4 A Unified View of Long-Term Memory Assistants ### 4.1 长期记忆系统:建模 本节提出了一个三阶段的长期记忆模型,用于聊天助手。该模型虽然简单,但为现有的长期记忆助手研究提供了一个统一的视角。 长期记忆被建模为一个大规模的键值数据存储,形式为 $[(k_1, v_1), (k_2, v_2), \ldots]$。键 $k_i$ 可以是异构的,既可以是离散的(如句子、段落、事实或实体等),也可以是连续的(如模型在某些输入下的内部表示)。值 $v_i$ 可能重复。 模型的三个阶段如下: 1. **索引(Indexing)**:将历史会话 $(t_i, S_i)$ 转换为一个或多个键值项。 2. **检索(Retrieval)**:生成检索查询,并收集最相关的 $k$ 个项。 3. **读取(Reading)**:语言模型 $\mathcal{M}$ 读取检索结果并生成响应。 此外,附录C中还提供了另一种数学建模方式,但本文主要采用本节的简洁建模方式。 ### 4.2 长期记忆系统:设计选择 本节识别了聊天助手长期记忆系统的四个关键控制点(Control Points, CP),并分析了现有工作的设计选择及其局限性,同时提出了优化方案。具体设计细节将在第5节和附录D中进一步展开。 #### CP 1: 值(Value) 值表示存储在记忆中的会话格式和粒度。由于用户与AI的对话通常较长且涉及多个主题,直接存储整个会话可能影响检索和读取效率。而将会话压缩为摘要或用户事实(如Zhong et al., 2024;Du et al., 2024)可能导致信息丢失,影响系统回答详细问题的能力。本节在实验中比较了三种值表示策略:存储整个会话、分解为单个对话轮次、以及进一步应用摘要/事实提取。 **重点:** 值的设计直接影响检索效率和信息完整性,是系统性能的关键因素之一。 #### CP 2: 键(Key) 即使会话被分解和压缩,每个项仍可能包含大量信息,其中只有部分与用户查询相关。因此,直接使用值作为键(如Zhong et al., 2024;Maharana et al., 2024的做法)可能不够高效。本节提出了一种“键扩展”方法,从值中提取摘要、关键词、用户事实和时间戳事件,以增强索引能力。 **重点:** 多键索引能显著提升检索效率,是优化的关键方向。 #### CP 3: 查询(Query) 对于简单查询,上述键值优化可能已足够。但涉及时间参考的查询(如“你上周末推荐了哪家餐厅?”)则需要更精细的处理。本节提出了一种时间感知的索引和查询扩展策略,通过时间戳事件索引,并限制检索范围在相关时间窗口内。 **重点:** 时间感知机制对处理时间相关查询至关重要。 #### CP 4: 读取策略(Reading Strategy) 复杂查询可能需要回忆大量记忆项。尽管前面的优化可以提高检索准确性,但并不能保证语言模型能有效处理大量上下文。本节探索了多种读取策略,发现使用“笔记链(Chain-of-Note)”和结构化提示(如Yu et al., 2023;Yin et al., 2023)能显著提升读取性能。 **重点:** 结构化读取策略对复杂查询的回答效果有显著影响。 ### 表2:九种记忆增强框架的对比 该表展示了九种记忆增强框架在统一模型视角下的对比,包括它们在值、键、查询、检索、时间感知和读取策略上的设计差异。例如: - **In-context RAG**:使用完整对话轮次作为值,键等于值,查询为问题,检索为扁平检索,无时间感知。 - **ChatGPT 和 Coze**:仅使用事实作为值,其他设计未知。 - **RAPTOR**:使用对话轮次作为值,键为节点摘要,支持交互式检索。 - **MemWalker**:支持交互式检索和读取。 - **HippoRAG**:使用实体作为键,基于PPR(Personalized PageRank)进行检索。 - **本文设计**:使用对话轮次作为值,键为值+事实,查询为问题+时间,支持时间感知和Chain-of-Note读取策略。 **总结:** 表2为不同系统的设计提供了清晰的对比视角,有助于理解各方法在统一框架下的位置和优劣。 ## 5 Experiment Results ### 5.1 实验设置 本节介绍了实验中使用的模型和方法。主要研究了三个大语言模型(LLM):GPT-4o、Llama 3.1 70B Instruct 和 Llama 3.1 8B Instruct。检索器方面,选择了性能优异的Stella V5模型。索引阶段使用Llama 3.1 8B Instruct提取摘要、关键词、用户事实和时间戳事件。阅读阶段按时间戳排序检索结果以保持时间一致性。在后续的5.2至5.4节中,默认使用Chain-of-Note和JSON格式。 ### 5.2 值设计:分解提升RAG性能 通过LongMemEvalM数据集,比较了不同值设计对RAG性能的影响。将对话分解为轮次(round)显著提升了GPT-4o的阅读性能,但对Llama 3.1 8B Instruct影响不大。使用摘要或事实作为值会因信息丢失而降低QA性能,但在多会话推理问题中,事实分解反而提升了性能。此外,不同模型对检索token数量的敏感度不同,GPT-4o在超过20k token时仍能保持性能提升,而Llama 3.1 8B Instruct在3k token后性能迅速下降。 ### 5.3 键设计:多键索引提升检索和RAG 本节探讨了使用摘要、关键词或用户事实作为键是否优于原始值。实验发现,单独使用这些压缩信息并不能提升记忆召回性能,推测是因为检索器已能有效处理长文本语义。为了结合压缩信息的聚焦性和原始值的完整性,采用了文档扩展技术,尤其是使用用户事实时,召回率和最终准确率均有显著提升。不同检索器的实验结果表明,多路径检索能显著增强记忆召回性能。 ### 5.4 查询设计:时间感知查询扩展提升时间推理 本节提出了一种简单但有效的时间感知索引和查询扩展方法,用于处理时间敏感的查询。通过额外按事件日期索引值,并在检索时使用LLM提取时间范围来过滤无关信息。实验结果显示,该方法在使用轮次作为值时平均提升了11.3%的召回率,在使用会话时提升了6.8%。该方法的有效性依赖于使用强大的LLM来准确推断时间范围,Llama 8B在生成准确时间范围方面表现不佳。 ### 5.5 使用Chain-of-Note和结构化格式提升阅读能力 由于LongMemEval需要跨多个会话进行综合推理,即使是最优的记忆检索机制也需要返回长上下文。为了提升模型处理长上下文的能力,采用了两种优化:一是使用结构化JSON格式呈现检索结果,帮助模型识别记忆项;二是应用Chain-of-Note(CoN)方法,先提取信息再进行推理。实验表明,在理想检索条件下,CoN结合JSON格式显著优于其他方法。未使用CoN时,JSON格式并不总是优于自然语言格式,但在结合CoN后,JSON格式对各种能力的LLM均有益处。 ## 6 Conclusion 本章节总结了论文的核心贡献与研究发现: ### 原标题不变:**6 Conclusion** 作者在本节中介绍了**LongMemEval**,这是一个全面且具有挑战性的基准测试工具,旨在评估聊天助手在五项核心记忆任务上的长期记忆能力,包括: - **信息提取** - **多会话推理** - **时间推理** - **知识更新** - **拒绝回答(abstention)** 通过对多个商业系统和长上下文大语言模型(LLMs)进行大量实验,作者展示了**LongMemEval**所提出的挑战:当前系统在该基准上的表现显著下降,说明现有技术在长期记忆建模方面仍存在明显不足。 接着,作者分析了在**索引、检索和阅读**三个阶段中的关键设计选择,并提出了几种有效的策略,包括: - **会话分解(session decomposition)** - **事实增强的关键词扩展(fact-augmented key expansion)** - **时间感知的查询扩展(time-aware query expansion)** 这些方法在整体上提升了系统的**记忆召回能力**和**问答性能**。 最后,作者指出,为了实现**个性化且可靠的对话AI**,需要更复杂的记忆机制。而**LongMemEval**为推动聊天助手在长期记忆能力方面的发展,提供了一个有价值的评估基准。 ### 总结重点: - LongMemEval 是一个用于评估聊天助手长期记忆能力的新基准; - 当前系统在该基准上表现不佳,说明存在显著挑战; - 提出的优化策略有效提升了记忆与问答能力; - 强调未来需发展更复杂、更可靠的记忆机制。 ## Reproducibility Statement 本节重点说明了作者在论文撰写和代码发布过程中,为确保研究可复现所做出的努力。以下是详细结构总结: - **数据与文档公开**: 作者详细记录了基准测试构建过程,具体见[第3.2节](https://arxiv.org/html/2410.10813v2#S3.SS2)和[附录A.1](https://arxiv.org/html/2410.10813v2#A1.SS1),包括所有用于提示LLM的属性和指令。 - **公开发布数据集**: 作者创建了两个固定评估数据集——**LongMemEvalS** 和 **LongMemEvalM**,并将公开发布。此外,还将发布用于生成这两个数据集的算法和源混合方法,以便未来研究者可以基于此生成任意长度的对话历史。 - **实现细节透明化**: 所有内存优化的实现细节已在[附录D](https://arxiv.org/html/2410.10813v2#A4)中详尽记录,同时代码将与基准测试一同发布。 - **研究意义**: 作者强调这些透明化努力有助于推动领域发展,并为后续研究提供坚实基础。 > **重点内容**:数据集与代码的公开、构建过程的详细文档、内存优化的实现细节。 > **非重点内容**:无,本节整体均为关键信息,强调研究的可复现性与开放性。 ## Ethics Statement 本节主要介绍了本研究涉及的伦理问题,包括数据来源、人工标注过程、数据发布许可及潜在的社会影响。 ### 1. 数据来源与许可 - 本研究构建的**LongMemEval评估数据集**主要使用了两个开源数据集: - **ShareGPT**(Apache 2.0许可) - **UltraChat**(MIT许可) - 最终发布的LongMemEval也将采用MIT许可。 - 所有问题和证据对话均为新创建,经过严格的人工筛选,确保不包含**个人身份信息**或**冒犯性内容**。 ### 2. 人工标注过程 - 人工标注主要应用于两个环节: 1. 数据集构建与筛选(见第3.2节) 2. 商用系统的手动分析(见第3.4节) - 标注工作由**三位资深NLP研究人员**完成,每人具有三年以上NLP研究经验。 - 所有标注者都清楚标注目标,并通过讨论解决不确定情况。 - 总共约投入**400小时**用于数据集构建,**150小时**用于商用系统研究。 - 标注人员按周期领取工资,标注工作计入其工作时间。 ### 3. 伦理审查 - 数据收集协议已通过作者所在机构的**IRB(伦理审查委员会)豁免认定**。 ### 4. 社会影响与风险 本节重点强调了LongMemEval及相关记忆系统可能带来的社会风险: - **隐私泄露**:系统存储和回忆用户信息可能导致个人信息泄露。 - **信任问题**:缺乏“删除记忆”机制可能影响用户对系统的信任。 - **恶意利用**:攻击者可能利用记忆机制注入有害内容,导致模型在推理时出现“越狱”行为。 - **缓解措施建议**: - 实施内容审核机制,监控记忆的读写过程。 - 鼓励记忆增强型助手系统的开发者重视潜在风险,并进行充分测试与风险控制。 > ✅ **重点内容总结**: > - 本研究高度重视数据伦理,使用合法许可数据并进行人工审核。 > - 强调了记忆系统在隐私、信任和安全方面的潜在风险。 > - 呼吁相关系统开发者加强内容审核与风险控制机制。 ## Appendix A Supplemental Details for LongMemEval ### A.1 数据集构建 **属性本体** 本部分详细介绍了 LongMemEval 中使用的属性本体。该本体由人工构建,涵盖五个主要类别:**人口统计信息、生活方式、情境背景、生活事件和所属物品**,用于构建用户背景和生成问题。每个类别下包含多个子属性,例如生活方式包括购物习惯、媒体消费、日常活动等,覆盖用户生活的多个维度。 **背景采样** 基于上述属性,使用 Llama 3 70B Instruct 模型生成用户背景段落。采用零样本提示(见图7)生成详细且聚焦的用户背景,用于后续问题生成。该提示要求模型生成与特定属性相关的“近期个人事实”,并强调内容的长度和时间跨度。 **问题构建** 基于生成的用户背景,Llama 3 70B Instruct 和 GPT-4o 被用于生成问题和答案。对于特定问题类型(如时间推理、多会话推理、单会话偏好),GPT-4o 也参与生成。由于自动生成的问题质量参差不齐,最终仅保留约5%的问题。每个问题的答案被分解为证据陈述,并在必要时分配时间戳。 **证据会话构建** 使用 Llama 3 70B Instruct 模拟用户-AI 的对话历史,每个证据陈述生成一个会话。提示要求模型以用户身份间接提及证据陈述,同时保持消息简洁。生成的会话经过专家人工审核和编辑,确保证据陈述存在、无信息泄露、语言自然,并以合理方式结束。约70%的会话经过人工修改。 --- ### A.2 历史构建 **会话池构建** 为构建连贯的聊天历史,从三个来源抽取会话:ShareGPT、UltraChat 和其他属性的模拟会话。该池确保非证据会话在主题和格式上与证据会话相似,同时避免冲突信息。 **会话采样** 构建包含 x 个会话的历史时,按 25% ShareGPT、25% UltraChat、50% 模拟会话的比例随机采样,并与证据会话混合。若证据会话需特定顺序,则在混合后调整顺序。 **时间戳解析** 为会话分配时间戳时,若证据会话已有预定义时间戳,则作为锚点确定非证据会话的时间范围;否则随机分配时间戳(通常为2023年5月)。 --- ### A.3 基本统计 图9展示了 LongMemEval 的基本统计信息,表明大多数问题需要从多个会话中提取证据(最多6个),且证据陈述在会话中的位置多样,增加了记忆设计的挑战。具体包括: - **问题类型分布**:涵盖多种类型,如单会话、多会话、时间推理等。 - **证据会话数量分布**:大多数问题需要多会话推理。 - **证据陈述位置分布**:多数证据陈述位于会话开头。 --- ### A.4 评估指标构建 **评估方法** 使用 GPT-4o 作为评估模型,通过专家设计的提示判断模型回答的正确性。针对不同问题类型(如时间推理、知识更新、单会话偏好等)设计不同的评估提示,确保评估结果与专家判断高度一致。 **评估结果** 表6显示,GPT-4o 评估模型在各类问题上的准确率均超过90%,平均准确率为98%(GPT-4o)和97%(Llama-3.1-8B-Instruct)。尽管在单会话偏好和弃权问题上略有偏差,但整体表现可靠。评估提示将随基准数据集发布,以支持未来研究。 --- ### 总结 本附录详细介绍了 LongMemEval 的构建过程,包括属性本体设计、用户背景生成、问题与证据会话构建、历史构建方法、数据统计特征以及评估指标设计。重点在于通过多模型协作和人工审核确保数据质量,并通过多样化的证据分布和问题类型提升对长期记忆建模的挑战性。 ## Appendix B A Human Study on Commercial Memory Chatbots ### 研究对象与方法 本节研究了两个商用的记忆增强型聊天机器人:ChatGPT(由OpenAI开发)和Coze(由Coze公司开发)。研究者从问题库中随机选取了97个问题,并构建了包含3-6轮对话的简短聊天历史。聊天历史的生成基于50%的ShareGPT数据集和50%的模拟会话混合采样。 研究排除了两类问题: 1. **时间推理类问题**:由于系统可能随时间变化,手动分析无法覆盖多个月份的交互。 2. **单轮对话问题**:因为系统无法记住由助手提供的信息。 此外,由于使用的是早期版本的数据集,未包含拒绝回答的问题,因此未评估系统在拒绝回答方面的能力。 由于这些系统仅通过网页界面支持记忆功能,研究采用了人工标注的方式进行评估。标注人员逐会话地与聊天机器人互动,在新会话中提出问题后,手动评估回答的正确性。每次评估结束后,标注人员还需手动清除系统记忆以确保下一次评估从“干净状态”开始。问题被分配给五名标注人员处理,并在对回答或证据会话存在疑问时进行讨论。所有评估均在2024年8月前两周完成。 ### 评估结果与分析 表7展示了按问题类型划分的详细人类评估结果: | 系统 | 模型 | 记忆能力 | IE | MR | KU | TR | | --- | --- | --- | --- | --- | --- | --- | | ChatGPT | GPT-4o-mini | 1.000 | 0.647 | 0.667 | 0.652 | | ChatGPT | GPT-4o | 0.688 | 0.441 | 0.833 | 0.435 | | Coze | GPT-3.5-turbo | 0.625 | 0.118 | 0.375 | 0.043 | | Coze | GPT-4o | 0.813 | 0.147 | 0.208 | 0.391 | #### 关键发现: - **单会话信息记忆(IE)**:两个系统在仅需记忆单次会话信息的任务中表现较好,尤其是ChatGPT的GPT-4o-mini模型在IE列中达到了100%的准确率。 - **多会话信息整合(MR、KU、TR)**:当任务需要跨多个会话整合信息时,两个系统的性能显著下降。 - **Coze的问题**:主要在于未能正确记录某些会话中的信息。 - **ChatGPT的问题**:虽然通常能立即记录会话中的关键信息,但在后续对话中由于历史压缩导致信息丢失,影响了长期记忆的准确性。 #### 总结: 本研究揭示了当前商用记忆增强型聊天机器人在长期记忆管理上的局限性。尽管它们在短期记忆任务上表现良好,但在需要跨会话整合信息的复杂任务中,性能显著下降。这反映了在**个性化记忆的可靠性与系统效率之间存在潜在的权衡**。 ## Appendix C Unified Memory View ### C.1 一种替代的数学公式化表达 本节为对统一内存框架感兴趣的读者提供了更严谨的数学表述。虽然作者认为自然语言描述已经足够清晰地呈现主要观点,但为了更深入理解,本节引入了一些数学符号。 - **长期记忆的定义**:将长期记忆建模为一个大规模的键值数据存储 $ D = [(k_1, v_1), (k_2, v_2), \dots] $,其中键 $ k_i $ 可以是离散的(如句子、段落、事实、实体)或连续的(如模型在某些输入下的内部表示),值 $ v_i $ 可能重复。 - **四个核心函数**: 1. **离线索引函数 $ \mathcal{I}(S, D) $**:将会话 $ S $ 转换为键值对。 2. **在线索引函数 $ \mathcal{I}_{\text{online}}(S, D) $**:更新 D,可能删除或修改已有条目。 3. **查询构建函数 $ \mathcal{Q}(q) $**:将用户自然语言查询 $ q $ 转换为可被处理的表示 $ q' $。 4. **显著性评分函数 $ \mathcal{S}(q', D) $**:根据与 $ q' $ 的相关性对 D 中的条目进行排序,可使用稠密文本嵌入、图排序等方法。 5. **阅读函数 $ \mathcal{R}(M, D') $**:结合模型 M 和最相关的 D’ 生成响应。 - **总结**:表2中列出的不同方法可以看作是对这四个函数的不同实现方式。 --- ### C.2 从统一视角看现有内存系统 本节将九个内存增强型聊天系统作为统一框架的具体实例进行分析,包括 in-context RAG、Memorybank、LD-Agent、CoN、ChatGPT、Coze、RAPTOR、MemWalker 和 HippoRAG,并通过表格对比它们的设计选择。 #### 索引(Indexing) - **值表示**: - 多数系统直接使用原始会话或混合使用会话与提取的事实/摘要。 - 仅 LD-Agent、ChatGPT 和 Coze 使用压缩值,可能导致信息损失。 - **键选择**: - 多数系统(如 in-context RAG、Memorybank)直接使用值作为键,简单高效。 - HippoRAG 使用实体中心索引。 - RAPTOR 和 MemWalker 使用递归摘要构建层次化索引,虽然可能提升某些查询效果,但增加了索引维护成本。 #### 检索(Retrieval) - **查询构建**: - 多数系统直接使用用户问题作为查询。 - LD-Agent 和 HippoRAG 提取额外信息以提升实体相关知识的检索效果。 - **查询-键匹配机制**: - 多数系统采用“扁平检索”,即直接计算查询与键的相似度。 - HippoRAG 使用个性化 PageRank(PPR)利用其图结构进行实体相关检索。 - MemWalker 使用“交互式阅读”机制,让 LLM 自主导航索引结构,增强鲁棒性但增加延迟。 #### 生成(Generation) - **主流方法**:大多数系统采用“直接阅读”机制,将检索到的记忆项提供给模型生成响应。 - **高性能策略**:论文主文指出,“先提取后阅读”策略对性能提升至关重要。 - **交互式阅读**:如 MemWalker,允许模型在记忆不足时回溯搜索,提升灵活性但增加推理成本。 --- ### 总结 本附录通过数学建模和实例分析,系统性地展示了统一内存框架的结构与实现方式,并对多个现有系统进行了分类与比较,强调了不同设计选择在效率、信息保留、检索精度和响应生成方面的权衡。 ## Appendix D Memory Optimizations: Implementation Details ### **值分解(Value Decomposition)** **重点内容:** 作者设计了一种基于大语言模型(LLM)的方法,将“值”(即对话会话或轮次)压缩为三种格式:**摘要(Summaries)**、**关键词短语(Keyphrases)** 和 **用户事实(User Facts)**。 - **提示设计:** 提供了零样本(zero-shot)和少样本(few-shot)提示,其中**少样本仅用于用户事实提取**,其他两种任务无需少样本。 - **样本来源:** 使用了10个示例,其中5个来自模拟用户会话,5个来自ShareGPT。 - **响应生成:** GPT-4o生成响应后,由人工标注者进行修改。 - **模型与参数:** 所有提取任务均使用 **Llama 3.1 8B Instruct**,且仅提供用户消息,不包含助手回复。 --- ### **键扩展(Key Expansion)** **简要内容:** - 从“值”中提取摘要、关键词或用户事实; - 将提取的信息**直接添加到对应的“键”**(Key)前面,用于增强检索信息。 --- ### **时间感知索引与查询扩展(Time-Aware Indexing and Query Expansion)** **重点内容:** - **索引阶段:** 使用 Llama 3.1 8B Instruct 从文本中提取可推断时间戳的事件。 - **检索阶段:** 使用 LLM(GPT-4o 或 Llama 3.1 8B Instruct)从问题中提取时间范围,以帮助定位相关记忆。 - **提示设计:** 提供了对应的提示模板(见图12),并额外提供10个手工编写的示例。 --- ### **阅读策略(Reading Strategy)** **重点内容:** - 使用了**Chain-of-Note(CoN)**的变体提示(见图13),引导模型先遍历文档提取证据,再回答问题。 - **生成策略:** 所有实验使用贪心搜索(greedy search),最大生成长度为800个token。 - **对比提示:** 同时提供了带CoN和不带CoN的提示模板,用于比较不同阅读策略的效果。 --- ### 总结 本附录系统地介绍了 LongMemEval 中用于优化长期记忆存储与检索的多种方法,包括信息压缩(值分解)、信息扩展(键扩展)、时间信息利用(时间感知索引与查询扩展)以及基于证据的阅读策略。这些方法均基于大语言模型实现,并通过精心设计的提示工程提升效果,尤其在用户事实提取和时间推理方面引入了少样本学习和人工标注样本。 ## Appendix E Extended Analyses ### E.1 更多 LLMs 的结果 在表 8 中,作者评估了五种额外的大语言模型在 LongMemEval 上的表现,包括 Llama-3.2 Instruct 的 1B 和 3B 模型、Qwen-2.5-7B、Phi-3.5-mini-instruct 和 Mistral-Nemo-Instruct-2407。 **重点内容:** - 总体表现与论文中报告的结果一致,即在 LongMemEvalS 上的长上下文性能显著低于理想检索(Oracle Retrieval)性能。 - 使用事实扩展(fact-based key expansion)和 CoN(Chain-of-Note)策略能持续提升性能。 - Mistral-Nemo-Instruct-2407 在多个指标上表现最佳,而 Llama-3.2-1B-Instruct 的性能相对较低。 **精简内容:** 表格展示了不同模型在不同设置下的 Recall 和 NDCG 指标,强调了模型大小与性能之间的正相关关系,以及 key expansion 和 CoN 的有效性。 --- ### E.2 检索器选择的消融实验 在表 9 中,作者比较了三种检索器(BM25、Contriever 和 Stella V5)在不同 key-value 设计下的表现。 **重点内容:** - **稠密检索(dense retrieval)显著优于稀疏检索(BM25)**,这一趋势在大多数设置中都成立。 - 使用用户事实(user fact)进行 key 扩展比直接使用 value 作为 key 明显提升了性能。 - 使用摘要(summary)和关键词(keyphrase)进行 key 扩展也能在某些设置中提升性能,但效果不如事实扩展显著。 **精简内容:** Stella V5 表现最佳,尤其是在使用 fact-based key 扩展时,Recall@5 和 NDCG 均优于其他方法。 --- ### E.3 检索后排序合并用于索引扩展 在表 10 中,作者比较了两种索引扩展策略:**Rank Merging(RM)** 和 **Key Merging(KM)**。 **重点内容:** - **Key Merging 明显优于 Rank Merging**,主要原因是 Rank Merging 会导致索引大小增加 m+1 倍(m 为每个 key-value 对中提取的信息数量),而 Key Merging 能在不显著增加索引大小的情况下提升检索效果。 - 使用 fact-based Key Merging 在多个指标上表现最佳。 **精简内容:** 实验表明,Key Merging 策略在检索和端到端 QA 任务中均优于 Rank Merging,尤其是在使用 fact-based key 扩展时。 --- ### E.4 从查询中提取时间范围的强弱 LLM 分析 在表 11 中,作者展示了 GPT-4o 和 Llama 3.1 8B Instruct 在提取时间范围上的表现差异。 **重点内容:** - **强模型(如 GPT-4o)能正确识别无时间参考的查询并拒绝生成时间范围**,而弱模型(如 Llama 3.1 8B)容易误判,导致错误地缩小检索范围,从而降低记忆召回率。 - 例如,在没有明确时间信息的查询中,Llama 3.1 8B 会错误地生成时间范围(如 2023/05/01∼2023/05/28),而 GPT-4o 则能正确识别“无时间参考”。 **精简内容:** 该实验强调了在时间感知查询扩展中使用强大模型的重要性,以避免因错误的时间范围提取而导致的检索失败。 --- ### E.5 错误分析 作者分析了在最佳内存设计下不同 LLM 的错误来源。 **重点内容:** - **约 15%~19% 的错误是由于检索正确但生成错误**,且这一比例在使用较弱的 LLM 时更高,说明阅读策略仍有改进空间。 - **约 90% 的正确回答依赖于正确的检索**,表明检索质量对最终结果至关重要。 - 剩余 10% 的错误多为“知识更新”类问题,其中检索器仅能识别更新后的知识,而无法检索更新前的信息,导致检索失败。 - 该结果也说明 LongMemEval 数据集质量高,LLM 无法绕过正确记忆召回直接生成答案。 **精简内容:** 错误分析表明,检索失败是主要错误来源,而生成错误在较弱模型中更为常见,强调了改进检索和阅读策略的重要性。 --- **总结:** 附录 E 通过扩展实验进一步验证了论文中的主要结论,包括 key 扩展策略的有效性、稠密检索器的优越性、Key Merging 的优势、时间感知查询扩展对强模型的依赖,以及检索质量对最终生成结果的关键作用。