当企业尝试将标准RAG管道用于长期、多会话LLM代理部署时,它们往往会崩溃。随着对持久AI助手需求的增长,这是一个关键限制。伦敦国王学院和艾伦图灵研究所的研究人员开发的新技术xMemory通过将对话组织成可搜索的语义主题层级结构解决了这个问题。
RAG的局限性
在许多企业LLM应用中,一个关键期望是这些系统能够在长期、多会话交互中保持连贯性和个性化。为了支持这种长期推理,一种常见方法是使用标准RAG:存储过去的对话和事件,基于嵌入相似性检索固定数量的顶部匹配,然后将它们连接到上下文窗口生成答案。
然而,传统RAG是为大型数据库设计的,检索的文档高度多样化,主要挑战是过滤完全无关的信息。相比之下,AI代理的记忆是有界的连续对话流,存储的数据块高度相关且经常包含近似重复。
为了理解为什么简单扩大上下文窗口不起作用,考虑标准RAG如何处理”柑橘类水果”这样的概念。用户可能在多次对话中说”我喜欢橙子”、”我喜欢橘子”,以及关于什么算柑橘类水果的其他对话。传统RAG可能将所有这些都视为语义上接近,不断检索类似的”柑橘类”片段。
论文合著者Lin Gui解释:”如果检索塌缩到嵌入空间中最密集的簇,代理可能获得许多高度相似的偏好段落,同时遗漏回答实际查询所需的类别事实。”
四层级记忆架构
研究人员提出了从”解耦到聚合”的方法。系统不再直接将用户查询与原始、重叠的聊天日志匹配,而是将对话组织成层级结构。首先将对话流解耦为独立、独立的语义组件,然后将这些单独的事实聚合为更高级别的主题层级。
当AI需要回忆信息时,它自上而下搜索层级结构,从主题到语义再到原始片段。这种方法避免了冗余。如果两个对话片段有相似的嵌入,只要它们被分配到不同的语义组件,系统就不太可能一起检索它们。
xMemory将原始对话流持续组织成结构化的四层层级。最底层是原始消息,首先被总结为称为”剧集”的连续块。从这些剧集中,系统提取可重用的事实作为语义,将核心长期知识与重复的聊天日志解耦。最后,相关语义被组合成高级主题,使其易于搜索。
不确定性门控:智能检索
xMemory使用特殊的目标函数不断优化如何分组这些项目。这防止类别变得过于臃肿(会减慢搜索)或过于碎片化(会削弱模型聚合证据和回答问题的能力)。
当收到提示时,xMemory在层级结构中执行自上而下的检索。它从主题和语义级别开始,选择多样化、紧凑的相关事实集。这对实际应用至关重要,因为用户查询通常需要跨多个主题收集描述或将连接的事实链接起来进行复杂的多跳推理。
一旦有了这个高级事实骨架,系统通过研究人员称为”不确定性门控”的机制控制冗余。只有当特定细节能显著降低模型的不确定性时,它才会深入到剧集或消息级别提取更细的原始证据。
Lin Gui解释:”语义相似性是候选生成信号,不确定性是决策信号。相似性告诉你什么是附近的。不确定性告诉你什么真正值得花费提示预算。”系统在检测到添加更多细节不再有助于回答问题时停止扩展。
实测效果:token减半
实验表明,xMemory提高了各种LLM的答案质量和长期推理能力,同时降低了推理成本。根据研究人员的说法,与现有系统相比,它将某些任务的每个查询token使用量从超过9000减少到约4700。
对于企业实际应用如个性化AI助手和多会话决策支持工具,这意味着组织可以部署更可靠、更具上下文感知能力的代理,能够保持连贯的长期记忆,而不会使计算成本爆炸。
对AI代理开发的意义
现有代理记忆系统通常分为两类:扁平设计和结构化设计。扁平方法如MemGPT记录原始对话或最小处理痕迹,捕获了对话但积累大量冗余,随着历史增长检索成本增加。
结构化系统如A-MEM和MemoryOS试图通过将记忆组织成层级或图来解决这个问题,但它们仍然依赖原始或最小处理的文本作为主要检索单元。
xMemory代表了从检索原始对话到检索结构化知识的范式转变。通过在检索前将对话提炼为语义组件和主题,它实现了更高效、更准确的长期记忆,同时大幅降低了token消耗。
对于正在构建持久AI助手的企业,这项研究提供了一个有前景的方向:不要让AI检索所有历史对话,而是让它先理解这些对话的”要点”,只在需要时深入细节。
发表回复