现状与挑战
如今,人们期望AI智能体能够跨数周或数月保留上下文信息,而非仅局限于单个聊天会话。然而,随着知识的增长,记忆容易变得碎片化,导致信息重复且检索速度变慢。
现有内存架构的局限性
当AI助手和自主智能体进入长期部署阶段时,缺乏一个合理的内存系统已成为关键瓶颈。现代大语言模型(LLM)虽具备强大的推理能力,但每次会话仍需从头开始。长对话要求模型反复重读整个历史记录,而新信息要么以原始文本形式存储,要么压缩成摘要,可能会丢失重要细节。目前一些解决方案也存在局限性。比如,Mem0等系统从对话中提取原子事实;检索增强(RAG)方法对原始文本片段进行索引以便后续检索;基于图的内存系统,如Zep和GraphRAG,通过实体关系构建结构。但这些方法大多走向两个极端:内容碎片化系统(如RAG和Mem0)直接嵌入提取的事实或文本片段,虽保留了细节,但生成的条目脆弱且孤立,失去了叙事连贯性;粗抽象系统将经验压缩成简洁的摘要,但去除了使记忆有用的约束条件、边缘情况和数值细节;基于图的系统在内容之上添加了结构,但仍依赖内容本身进行检索,且通常需要严格的本体论,难以跨领域通用。
Memora如何解决问题
Memora架构通过将存储内容与检索方式分离来解决上述问题。每个内存条目包含两个部分:一是主要抽象概念,为一个短短语(6 - 8个单词),用于概括该记忆的核心内容;二是内存值,用于保存丰富的内容本身。这种分离使得关于某个不断发展的主题的新信息能够合并到同一主要抽象概念下的现有内存条目中,而不会碎片化形成一系列部分重复的内容。此外,线索锚点作为补充,是从每个内存值中提取的短的、上下文感知的标签,为同一内存提供了替代访问路径,可作为灵活的、自然生成的元数据。Memora还引入了一个策略引导的检索器,它不会一次性返回前k个语义相似的项目,而是迭代优化查询,通过线索锚点扩展以找出相关但不相似的记忆,并决定何时停止检索。
性能测试
微软在两个长上下文基准测试中对Memora进行了评估:LoCoMo(对话平均600轮)和LongMemEval(使用115,000个标记的上下文)。结果显示,Memora在LoCoMo上的LLM评判准确率达到86.3%,在LongMemEval上达到87.4%,优于RAG、Mem0、Nemori、Zep、LangMem甚至全上下文推理。与Mem0相比,它每次对话存储的内存条目几乎减少了一半(344个对比651个),与全上下文推理相比,标记消耗最多降低了98%。不过,企业不应认为较低的标记消耗会自动转化为较低的基础设施成本。Memora最强的检索模式也是最慢的,其策略检索器在多个模型调用步骤中,每次查询大约需要5 - 6秒,而简单的语义模式不到1秒。提示标记的节省部分被检索延迟和额外推理所抵消,内存压力并未消失,只是发生了转移。企业现在不仅要为更长的提示付费,还必须管理写入、更新和遗忘的内容,以及相关的索引和测试。
企业应用建议
目前,Memora是微软研究院的一个活跃项目,公司已在GitHub上发布了研究代码,开发者可以尝试该架构并将其应用于自己的AI应用程序。但理论上的可移植性不应与生产就绪性相混淆。在代码完全可验证、维护并能在企业控制下提供支持之前,IT领导者应将Memora作为一种架构进行研究,而非将其作为软件投入运营。此外,企业需要制定治理和合规政策,以确保AI记忆得到安全管理并可审计。企业必须决定谁可以写入记忆、谁可以读取记忆、记忆的保存时长,以及审计人员如何重建记忆影响行动的原因。