向量存储与“活”记忆

Reddit r/AI_Agents 新闻

摘要

文章澄清了经典 RAG(无状态)与智能体记忆(有状态)之间的区别,并介绍了两种新兴方法:Mem0 采用三层记忆和自动编辑,Letta 采用类操作系统的记忆(核心/归档)。文章强调,真正的挑战是更新和遗忘的逻辑,而不是向量存储。

我看到仍然有很多帖子/文章把“RAG”和“agent memory”放在同一个篮子里,我认为这值得澄清,因为它们是两个不同的问题。经典 RAG 很简单:你把文档切块(chunk),做嵌入(embed),然后找出与查询语义最接近的段落。这对于静态文档来说效果非常好,但它本质上是无状态的(stateless)——它对你一无所知,也不知道 3 次会话之前发生了什么。智能体记忆(agent memory)是一个不同的问题:需要存储随交互而演变的上下文(偏好、学到的事实、纠正),尤其是要管理更新、可追溯性(provenance)和遗忘——而一个简单的向量存储原生地做不到这三件事中的任何一件。我们看到有两种解决方式正在涌现:Mem0:三层记忆(用户/会话/智能体),当两个事实相互矛盾时,系统会自动编辑,而不是堆积重复内容。其理念是让记忆随时间保持“干净”。Letta:类操作系统的方式,一个“核心”记忆始终在上下文中(就像 RAM),还有一个归档记忆,在需要时通过工具调用显式地去取回。智能体自己决定把什么放在前台,什么归档。总之,存储向量是容易的部分。真正的关键,在于更新和决策的逻辑,知道保留什么、丢弃什么,以及如何在不复制整个库的情况下纠正一个事实。你们目前在生产环境中用什么,有没有遇到过记忆“漂移”的麻烦(矛盾不断累积、上下文爆炸)?
查看原文

相似文章

理解智能体记忆(38分钟阅读)

TLDR AI

本文比较了三种常见的智能体记忆系统形态——基于文件的、结构化存储和基于经验的,并通过一个使用常见智能体循环和开源模型的基准测试评估了它们的有效性。