乐于分享
好东西不私藏

AI记忆工具大调查:两大阵营揭秘

AI记忆工具大调查:两大阵营揭秘

封面图片

在GitHub上,超过450个仓库被标记为“agent-memory”,另有460多个被标记为“context-management”。我与一些伙伴们对这些仓库进行了统计。

原本以为会发现大约40个工具在做相似的事情,只是API不同。但实际上,我们发现了两种截然不同的范式,几乎没有人明确它们之间的界限,或者给它们下定义。

例如我跑了一个Agent,要求每个会话都建立在上一个会话的基础上。我发现了一个奇怪的现象:大多数记忆工具无法支持我在做的事情,而那些能够支持的却没有被当作记忆工具来实现。

两个阵营

阵营1:后端存储 –这些工具从对话中提取事实,存储在向量数据库中,并在需要时检索相关信息。通过一些自动化流程归档分类,并在需要时取出。

阵营2:context substrates –这些工具维护结构化、人类可读的上下文,这些上下文会跨会话积累。没有做任何的“提取”,上下文就是文件。你的代理读取它们,在其内部工作,写回它们,整个事物随着时间的推移而复合增长。

阵营1问:“AI应该记住什么?”

阵营2问:“AI应该在什么上下文中工作?”

大部分领域(以及大部分的GitHub)都在阵营1。但阵营2是真正能够扩展到连续、多会话、多项目工作的架构正在出现的地方。而且语言也开始向那个方向转变。

阵营1:后端存储

Mem0 — 53.1k星

凭借采用率成为类别领导者。四种操作:添加、搜索、更新、删除。从对话中提取事实,存储在三个层级(用户、会话、代理),并通过混合搜索检索它们。

集成非常简单。Python和TypeScript SDK。与所有东西兼容。

限制:记忆是平面条目。它们之间没有关系。每次提取都需要一个LLM调用,所以质量完全取决于提取提示有多好。一旦存储,它们就不会演变,一月份的事实和四月份的事实并列在一起,没有意识到一个可能取代另一个。

MemPalace — 46.2k星

本地优先的逐字记忆。与提取事实不同,MemPalace逐字存储对话,并将其组织到翼(实体)、房间(主题)和抽屉(原始内容)中。使用ChromaDB搜索它们。

基准测试数字是该领域最高的:在LongMemEval上,仅使用原始语义搜索的检索回忆率为96.6%,不需要API调用,不需要LLM。98.4%使用混合管道。99%+使用LLM重新排名。

限制:逐字存储线性扩展。你说得越多,它就越大。没有压缩,没有合成。如果你的问题是“找到我三周前说的那件事”,这是最好的工具。如果你的问题是“给我当前我五个项目的工作状态”,那它就是错误的工具。

Supermemory — 21.8k星

明确定位自己为“记忆不是RAG”。不同之处在于时间意识,比如说“我刚搬到旧金山”,它就会取代你之前的城市。过期的事实会自动被遗忘。用户配置文件结合了稳定的事实和最近的活动,检索速度约为50ms。

连接器适用于Google Drive、Gmail、Notion、OneDrive、GitHub。跨PDF、图像、视频、代码的多模态。他们创建了自己的基准框架(MemoryBench),并声称在LongMemEval、LoCoMo和ConvoMem上排名第一。

大多数阵营1的工具将事实视为永久性的。Supermemory将它们视为演变的。这是阵营1最接近考虑状态而不仅仅是存储的地方。

阵营1的其他工具,简要介绍:

Cognee(15.4k)结合向量搜索和图数据库进行关系推理。Memori(13.3k)拦截LLM API调用以捕获执行上下文,在仅使用4.97%的全上下文令牌的情况下,在LoCoMo上达到81.95%。AgentScope、MemOS、EverOS、MIRIX、SimpleMem、Memobase,都是同一循环的变化。

阵营1工具的共同点

上述每个工具都运行相同的基本循环:

对话发生 → 系统提取事实或存储内容 → 事实进入数据库(向量、图或两者都有) → 下一个对话,相关事实被检索并注入

智能在于提取和检索。人类与代理互动。记忆系统在幕后工作。你从不直接接触记忆系统,你信任系统在正确的时间记住正确的事情并展示它们。

这有效。基准测试证明了这一点。但它解决的是一个特定的问题:事实回忆。“我关于X说了什么?”“用户偏好是什么?”

这些工具都没有解决的问题。

阵营2:context substrates

OpenClaw — 358k星

你已经知道它是什么了,但它的记忆架构是这里重要的部分。纯Markdown文件:MEMORY.md用于长期存储,每日笔记(YYYY-MM-DD.md)用于运行上下文,DREAMS.md用于整合摘要。

定义哲学的文档行:“模型只‘记住’保存到磁盘上的东西,没有隐藏状态。”

没有向量数据库。没有提取管道。文件代理读取和写入。

最有趣的功能是做梦:一个后台进程,将每日笔记整合到长期记忆中分为三个阶段:

  • 浅睡— 筛选每日笔记,将附近的行分组为连贯的块
  • REM— 加权回忆提升,经常访问的信息变成“持久的真理”
  • 深睡— 重放安全的晋升到MEMORY.md,协调而不是重复

只有通过所有阈值门的条目才会被提升:最低分数0.8,最低回忆次数3,最低独特查询3。六个加权信号为每个候选者打分,相关性(0.30)、频率(0.24)、查询多样性(0.15)、最近性(0.15)、整合(0.10)、概念丰富性(0.06)。

这是对经历过的上下文的后台整合。系统不决定什么是“事实”,但它提升了不断出现的相关性。

Zep — 4.4k星

Zep最近将整个定位从“记忆”重新品牌为“上下文工程”。这一举动是整个领域中最强烈的市场信号。一个有资金支持的公司,有4.4k星,看了一眼领域将要去的方向,决定“记忆”是他们正在构建的不正确的词。

这个类别需要一个名字。我认为它是上下文基底。无论如何,如果你正在构建需要运行超过一个对话的代理,你最终会来到这里。

在引擎盖下,Zep使用一个时间知识图(他们的Graphiti框架)。事实包括valid_at和invalid_at时间戳。它自动提取关系,并返回预格式化的上下文块,优化LLM消费。检索时间亚200ms。SOC2 Type 2和HIPAA合规。

Zep在阵营1和阵营2之间架构上,它仍然提取和检索。但重新品牌是告诉。最接近阵营1/阵营2边界的公司选择了阵营2的语言。

Thoth — 145星

小项目,我在整片领域中发现的最深架构。Thoth构建了一个有10种实体类型的个人知识图,通过67种类型的方向关系连接。FAISS向量搜索,每次LLM调用前都有单跳图扩展。

亮点是梦周期,一个每晚四阶段的过程:

相似度阈值为0.93+的重复合并 → 从对话上下文中描述丰富 → 共同出现的实体之间的关系推断 → 关系超过90天的信心衰减

三个反污染层防止跨实体事实渗透。这是我发现的最复杂的自动记忆提炼。它以145星的位置坐在那里,因为它需要你足够认真地对待阵营2的论点,为你自己的上下文设置一个知识图。大多数人不这样做。

TrustGraph — 2.0k星

引入了“上下文核心”,可移植、版本化的捆绑包,包含域模式、知识图、向量嵌入、证据源和检索策略。将上下文视为代码:版本控制、测试、提升、回滚。

框架很重要。每个阵营1的工具都将记忆视为对话的副作用。TrustGraph将上下文视为具有身份、版本控制和生命周期的一等工件。你可以将一个上下文核心交给一个新的代理,它继承了全部操作上下文。你可以为一个实验分叉一个,然后合并回去。

这是整个领域中最接近包装、可移植的上下文单元的样子。实现是沉重的(Cassandra + Qdrant),但概念模型是正确的。

MemSearch(由Zilliz)— 1.2k星

由Milvus背后的团队提供的Markdown优先记忆。记忆是.md文件,人类可读、可编辑、可版本控制。Milvus作为一个“影子索引”从文件中衍生出来,完全可重建。文件是真相的来源。向量搜索只是上面的一个访问层。

三层渐进式披露:语义块 → 完整部分 → 原始记录。混合搜索(密集向量 + BM25 + RRF重新排名)。

值得注意的是,这来自Zilliz,一个向量数据库公司。他们发布了一个记忆系统,他们自己的产品是文件的下游。这是关于真相实际上住在哪里的一个有意义的让步。

阵营2工具的共同点

循环是不同的:

代理读取结构化的上下文之前工作 → 代理在那个上下文中工作 → 代理(或后台进程)写回到结构化的上下文 → 下一个会话,上下文比之前更丰富

智能在于积累。上下文就是记忆。而且因为它们是文件(Markdown、知识图、上下文容器),人类可以阅读它、编辑它、纠正它,并确切地理解代理知道什么。

阵营1优化回忆:系统能找到正确的事实吗?

阵营2优化复合:系统会随着时间的推移变得更好吗?

未来走向

运行一个24/7的Agent所需的模式是清晰的。记忆和上下文不是同一个问题。我的代理不需要“记住”我更喜欢深色模式。它需要在一个上下文中操作,包括我活跃的项目、我与之合作的人、最近的决定以及昨天发生的事情。而且那个上下文需要比今天更丰富。

后端存储主要解决回忆。96%+的准确性,200ms的延迟,即插即用API。如果你需要一个聊天机器人记住用户偏好,Mem0或MemPalace会做到。

但如果你正在运行一个持续工作的代理,一个在你睡觉时工作、从其他工具写入的同一知识库中读取,并在几周和几个月内变得更有意义的代理,上下文基底方法是使这工作的原因。

我的预测是,在6个月内,“上下文工程”将取代“记忆”作为严肃代理基础设施所做工作的默认术语。context substrates式架构将超越那些仍然将问题框架作为事实存储的项目。