智能体AI:构建长期记忆(Mem0 Letta Zep MemoRAG Memary Cognee不同方案对比分析)
问题与当前解决方案

如果你曾使用过大型语言模型(LLM),就会知道它们是无状态的(stateless)。如果你没有接触过,可以把它们想象成没有短期记忆的实体。
电影《记忆碎片》(Memento)就是一个很好的例子,片中主角需要不断地被提醒发生过什么,他依靠写满事实的便利贴来拼凑线索,决定下一步该做什么。
为了与 LLM 对话,我们需要在每次交互时不断地提醒它们之前的对话内容。
实现我们所说的“短期记忆”或状态是很容易的。我们只需提取最近的几轮问答对,并将它们包含在每次的 API 调用中。
然而,长期记忆则是一个完全不同的挑战。
为确保 LLM 能够调取正确的事实、理解之前的对话并关联相关信息,我们需要构建一套相当复杂的系统。

本文将深入剖析问题本身,而非堆砌大量术语。我们将探讨构建一个高效系统所需具备的要素,分析不同的架构选择,并审视可以为我们提供帮助的开源项目及云服务提供商。
解决方案的思考过程
首先,让我们梳理一下为 LLM 构建记忆系统的思考过程,以及要使其高效运行需要哪些条件。
我们需要的第一个能力是,LLM 能够调取旧信息来告诉我们之前说过什么。这样我们就可以问它:“你之前推荐我去斯德哥尔摩的那家餐厅叫什么名字?” 这属于基本信息提取(basic information extraction)。
如果你是构建 LLM 系统的新手,你最初的想法可能是将全部对话历史都塞进上下文窗口,让 LLM 自己去理解。
然而,这种策略会让 LLM 难以分辨信息的轻重缓急,可能导致它产生幻觉(hallucinate)并给出虚构的答案。而且,一旦对话内容变得过长,你也必须对其进行截断。
你的第二个想法可能是存储每一条消息及其摘要,并在收到查询时使用语义搜索(semantic search)(即 RAG 中的检索)来获取信息。

这种方式类似于构建标准的朴素检索系统(naive retrieval systems)。
这种方法的问题在于,一旦系统规模扩大(在仅仅存储消息而未做其他处理的情况下),你将面临内存膨胀、事实过时或相互矛盾,以及向量数据库不断增长且需要持续进行数据修剪的问题。
你可能还需要理解事件发生的时间,这样你才能问:“你是什么时候告诉我第一家餐厅的?” 这意味着你需要一定程度的时序推理(temporal reasoning) 能力。
这可能会促使你采用带有时间戳的更优元数据(metadata),并可能实现一个能够更新和总结输入的自编辑系统(self-editing system)。
尽管更为复杂,但自编辑系统可以在需要时更新事实并使其失效。
如果你继续深入思考这个问题,你可能还希望 LLM 能够关联不同的事实(执行多跳推理,multi-hop reasoning)并识别模式。
这样,你就可以问它一些问题,例如:“我今年去过多少场音乐会?”或“根据这些信息,你觉得我的音乐品味是什么?” 这可能会引导你尝试使用知识图谱(knowledge graphs)。
解决方案的组织结构
长期记忆已经成为一个如此重大的问题,以至于人们开始寻求更优的组织方式。大多数团队似乎将长期记忆分为两个部分:精简事实(pocket-sized facts) 和 长时程记忆(long-span memory),后者涵盖了过往的对话。

对于第一部分,即精简事实,我们可以参考 ChatGPT 的记忆系统作为例子。
要构建这类记忆,他们很可能使用一个分类器来判断某条消息是否包含应被存储的事实。

然后,他们将该事实分类到一个预定义的存储桶(bucket)中(例如个人资料、偏好或项目),如果它与现有记忆相似则进行更新,若不相似则创建一条新记忆。
另一部分,长时程记忆,则意味着存储所有消息并对整个对话进行总结,以便日后参考。这项功能同样存在于 ChatGPT 中,但与精简事实记忆一样,你需要手动启用它。
如果你要自己构建这个系统,你需要决定保留多少细节,同时要注意我们之前讨论过的内存膨胀和数据库不断增长的问题。
标准架构解决方案
如果我们考察他人的实践,这里主要有两种架构选择:向量(vectors)和知识图谱(knowledge graphs)。
我最开始介绍的是一种基于检索的方法。这通常是人们入门时的首选。检索使用向量存储(vector store)(通常还结合稀疏搜索,sparse search),这意味着它同时支持语义搜索和关键词搜索。
检索的起步非常简单:你对文档进行嵌入(embed),然后根据用户问题进行获取。
但正如我们前面讨论的,以一种朴素的方式实现它,意味着每个输入都是不可变的。这导致即使事实已经发生变化,旧的文本信息依然存在。
这里可能出现的问题包括获取到多个相互冲突的事实,这会让智能体感到困惑。在最坏的情况下,相关事实可能被埋没在大量检索到的文本中。
智能体也无法知道某件事是在何时被提及的,或者它指的是过去还是未来。
正如我们之前所讨论的,有一些方法可以解决这些问题。
你可以搜索并更新旧的记忆,为元数据添加时间戳,并定期总结对话,以帮助 LLM 理解所获取细节的上下文。
但是,使用向量还会面临数据库不断增长的问题。最终,你需要修剪旧数据或对其进行压缩,这可能会迫使你丢弃有用的细节。
如果我们再看知识图谱(Knowledge Graphs, KGs),它们将信息表示为由实体(节点,nodes)和它们之间的关系(边,edges)组成的网络,而不是像向量那样处理非结构化文本。

知识图谱不会直接覆盖数据,而是可以为一个旧事实分配一个 invalid_at 日期,这样你仍然可以追溯其历史。它们使用图遍历(graph traversals)来获取信息,这使你能够跨越多跳(hop)来追踪关系。
但正如我们所提到的,通过获取并更新旧事实,我们也可以用向量实现类似的功能。
然而,由于知识图谱能够更结构化地在连接的节点间跳转并保持事实的更新,它们在多跳推理方面通常表现更佳。
不过,知识图谱也带来了自身的挑战。随着图谱的增长,基础设施会变得更加复杂,当系统需要进行深度遍历以寻找正确信息时,你可能会注意到延迟的增加。
同时,它的维护成本也可能相当高昂。
尽管如此,总结来说,无论解决方案是基于向量还是知识图谱,人们通常会更新记忆而不是简单地不断添加新记忆,并会加入我们之前在“精简事实”中看到的设置特定存储桶的能力。
他们还频繁地使用 LLM 在数据摄入前对消息进行总结和信息提取。
如果我们回到最初的目标(同时拥有精简记忆和长时程记忆),你可以将 RAG 和 KG 的方法结合起来,以实现你的需求。
当前的不同解决方案(即插即用)
接下来,我将介绍几个独立的、能帮助你建立记忆系统的解决方案,分析它们的工作原理、所用架构以及框架的成熟度。

长期记忆服务提供商——我总是在这个仓库中收集资源 | 图片来源:作者
构建先进的 LLM 应用仍然是一个非常新的领域,因此这些解决方案中的大多数都是在最近一两年才发布的。
当你刚开始时,研究这些框架的构建方式可以帮助你了解自己可能需要什么。
如前所述,它们中的大多数都属于知识图谱优先(KG-first)或向量优先(vector-first)的类别。

记忆服务提供商功能对比——我总是在这个仓库中收集资源 | 图片来源:作者
首先来看 Zep(或 Graphiti),这是一个基于知识图谱的解决方案。它们使用 LLM 来提取、添加、作废和更新带有时间戳的节点(实体)和边(关系)。

当你提出一个问题时,它会执行语义和关键词搜索来找到相关节点,然后遍历连接的节点以获取相关事实。
如果一条新消息带来了与旧事实矛盾的信息,它会更新节点,同时保留旧事实的记录。
这与基于向量的解决方案 Mem0 不同,后者将提取的事实层层叠加,并使用一个自编辑系统来识别并完全覆盖失效的事实。
Letta 的工作方式类似,但还包含一些额外功能,如核心记忆(core memory),它将对话摘要与定义了应填充内容的块(或类别)一起存储。
所有这些解决方案都能够设置类别,用于定义系统需要捕获哪些信息。例如,如果你正在构建一个正念应用,其中一个类别可以是用户的“当前情绪”。这些类别与我们之前在 ChatGPT 系统中看到的精简事实存储桶是相同的。
我之前提到过的一个问题是,向量优先的方法在时序推理和多跳推理方面存在困难。
例如,如果我说我两个月后要搬到柏林,但之前提到过我住在斯德哥尔摩和加利福尼亚,那么几个月后当我提问时,系统能理解我现在住在柏林吗?
它能识别出模式吗?对于知识图谱,信息已经是结构化的,这使得 LLM 更容易利用所有可用的上下文。
而对于向量,随着信息量的增长,噪声可能会变得过强,导致系统无法将各个线索联系起来。
对于 Letta 和 Mem0,尽管它们总体上更为成熟,但这两个问题仍然可能出现。
对于知识图谱,担忧在于它们扩展时的基础设施复杂性,以及如何管理不断增长的信息量。
虽然我没有对所有这些方案进行详尽的测试,并且仍然存在一些缺失的信息(比如延迟数据),但我想提一下它们在企业安全方面的处理方式,以备你在公司内部使用这些工具时参考。

记忆云服务安全——我总是在这个仓库中收集资源 | 图片来源:作者
我找到的唯一一个通过 SOC 2 Type 2 认证的云选项是 Zep。不过,这些解决方案中有许多可以自托管(self-hosted),在这种情况下,安全性取决于你自己的基础设施。
这些解决方案仍然非常新。你最终可能会构建自己的系统,但我建议先试用它们,看看它们如何处理各种边缘情况。
使用不同方案的经济学考量
能够为你的 LLM 应用添加功能固然很好,但你需要记住,这也会增加成本。
我总会在文章中加入一个关于技术实施经济学的章节,这次也不例外。这是我在添加任何新东西时首先要检查的事项。我需要了解它将如何影响应用未来的单位经济效益(unit economics)。
大多数供应商的解决方案都允许你免费开始。但一旦你每天处理的消息超过几千条,成本就会迅速累积。

“预估”每条消息的记忆服务定价——我总是在这个仓库中收集资源 | 图片来源:作者
请记住,如果你的组织每天有数百次对话,当你将每条消息都通过这些云解决方案处理时,费用将会开始增加。
开始时使用云解决方案可能是理想的选择,然后随着业务的增长切换到自托管。
你也可以尝试混合方法。
例如,实现你自己的分类器来决定哪些消息值得作为事实存储以降低成本,同时将其他所有内容推送到你自己的向量存储中进行定期压缩和总结。
话虽如此,在上下文窗口中使用精简的事实(byte-sized facts)应该比粘贴一段 5000 个词元(token)的历史记录块要好。预先为 LLM 提供相关事实也有助于减少幻觉,并从总体上降低 LLM 的生成成本。
结语
需要注意的是,即使有了记忆系统,你也不应该期望它能做到完美。这些系统有时仍然会产生幻觉或遗漏答案。
与其追求 100% 的准确率,不如带着系统可能不完美的预期去使用它,这样可以让你免于挫败感。
目前没有任何系统能达到完美的准确率,至少现在还没有。研究表明,幻觉是 LLM 的固有特性。即使增加了记忆层,也无法完全消除这个问题。
我希望这次的探讨能帮助你(如果你是新手的话)了解如何在 LLM 系统中实现记忆。
当然,还有一些未解的难题,比如这些系统如何扩展、如何评估它们的性能、安全性问题,以及在真实世界场景中延迟的表现如何。
这些都需要结合自身实践,去测试和探索。
如何学习大模型 AI ?
我国在AI大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着Al技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国Al产业的创新步伐。加强人才培养,优化教育体系,国际合作并进,是破解困局、推动AI发展的关键。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

2025最新大模型学习路线
明确的学习路线至关重要。它能指引新人起点、规划学习顺序、明确核心知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
对于从来没有接触过AI大模型的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线。

针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
大模型经典PDF书籍
新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路!

配套大模型项目实战
所有视频教程所涉及的实战项目和项目源码等

博主介绍+AI项目案例集锦
MoPaaS专注于Al技术能力建设与应用场景开发,与智学优课联合孵化,培养适合未来发展需求的技术性人才和应用型领袖。


这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

为什么要学习大模型?
2025人工智能大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。

适合人群
- 在校学生:包括专科、本科、硕士和博士研究生。学生应具备扎实的编程基础和一定的数学基础,有志于深入AGI大模型行业,希望开展相关的研究和开发工作。
- IT行业从业人员:包括在职或失业者,涵盖开发、测试、运维、产品经理等职务。拥有一定的IT从业经验,至少1年以上的编程工作经验,对大模型技术感兴趣或有业务需求,希望通过课程提升自身在IT领域的竞争力。
- IT管理及技术研究领域人员:包括技术经理、技术负责人、CTO、架构师、研究员等角色。这些人员需要跟随技术发展趋势,主导技术创新,推动大模型技术在企业业务中的应用与改造。
- 传统AI从业人员:包括算法工程师、机器视觉工程师、深度学习工程师等。这些AI技术人才原先从事机器视觉、自然语言处理、推荐系统等领域工作,现需要快速补充大模型技术能力,获得大模型训练微调的实操技能,以适应新的技术发展趋势。

课程精彩瞬间
大模型核心原理与Prompt:掌握大语言模型的核心知识,了解行业应用与趋势;熟练Python编程,提升提示工程技能,为Al应用开发打下坚实基础。
RAG应用开发工程:掌握RAG应用开发全流程,理解前沿技术,提升商业化分析与优化能力,通过实战项目加深理解与应用。
Agent应用架构进阶实践:掌握大模型Agent技术的核心原理与实践应用,能够独立完成Agent系统的设计与开发,提升多智能体协同与复杂任务处理的能力,为AI产品的创新与优化提供有力支持。
模型微调与私有化大模型:掌握大模型微调与私有化部署技能,提升模型优化与部署能力,为大模型项目落地打下坚实基础。
顶尖师资,深耕AI大模型前沿技术
实战专家亲授,让你少走弯路

一对一学习规划,职业生涯指导
- 真实商业项目实训
- 大厂绿色直通车
人才库优秀学员参与真实商业项目实训
以商业交付标准作为学习标准,具备真实大模型项目实践操作经验可写入简历,支持项目背调
大厂绿色直通车,冲击行业高薪岗位
文中涉及到的完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】








被折叠的 条评论
为什么被折叠?



