三个主流Agent记忆平台横评揭示:长上下文窗口并不能消除对记忆系统的需求,BEAM基准测试显示检索质量和成本随上下文积累而退化;真正的难题不是召回而是矛盾检测——同一事实的新旧版本共存会导致模型困惑。
任何一个多轮 Agent 都会遇到同样的瓶颈:模型在每次调用之间没有记忆。两种常见解法是:要么每次都把整段对话塞进上下文窗口,但成本很快就会失控;要么做摘要和截断,但悄悄丢失了那条关键事实。正是这个 Gap 让 Agent Memory 成为一个独立的产品赛道,而不是"加个向量数据库"那么简单。
我在 DevToolLab 发了一篇更详细的对比文章,涵盖了开发者实际会短名单的三家供应商以及值得自建的开源项目。以下是精简版。

三个因素推动 Memory 从"自己动手做"变成了一个独立赛道。Long context window 并没有消除对 Memory 的需求:BEAM benchmark 表明,随着你把更多原始历史记录塞进 prompt,检索质量和成本都会下降,所以每个正经平台仍然在做事实提取、紧凑存储、每轮只检索一小块上下文。真正的失败模式不是召回,而是矛盾。用户改变了想法,部署区域从 us-east-1 迁到了 us-west-2,而一个 naive 的向量存储会同样自信地把过期事实和新事实一起返回。另外,Anthropic 自己的客户端 Memory 工具(memory_20250818,Claude 4 及之后版本)重新设定了基线:/memories 目录下的一组 markdown 文件现在是任何付费平台都必须超越的免费替代方案。

Mem0 是默认的起点,其 Apache-2.0 仓库有 63,900+ star,2025 年 10 月宣布完成了 $24M 融资。SDK 确实只需要大约六行代码就能接入:添加消息、用 user filter 做搜索、返回带评分的事实。
问题是定价结构。Graph memory 和新发布的 "Dream" 后台整合功能(2026 年 8 月 24 日宣布)都在 $249/月 Pro tier 后面,而 Starter 的配额分配很不均衡:50,000 次 add 请求,但每月只有 5,000 次 retrieval,而一个聊天 Agent 通常每轮至少检索一次。
from mem0 import Memory
m = Memory()
m.add(
[{"role": "user", "content": "I ship to Austin, TX and prefer Postgres over MySQL."}],
user_id="u_1042",
)
hits = m.search("which database does this user prefer?", filters={"user_id": "u_1042"}, top_k=5)
注意 filters={"user_id": ...} 这个参数。早期的教程会把 user_id= 直接传给 search,但现在已经不匹配 2.x API 了。

Zep 底层是 Graphiti,它的 Apache-2.0 时序知识图谱引擎。每条事实都变成一条带有效期窗口的边,所以被取代的事实会被 invalidate,历史完整保留而不是被静默覆盖。当你的问题是关系型或时间型的("谁批准了上次续期"、"他们之前用什么数据库"),这个模型是对的。
计费模式才是有趣的部分:retrieval、storage、threads 和 users 都不计量,你只为 ingested bytes 付费(每 350 bytes 一个 credit)。代价是需要自托管。Zep 的 Community Edition 在 2025 年 4 月停更了,所以现在要自建就得用 Graphiti 加上你自己的图数据库(Neo4j、FalkorDB 或 Kuzu),而不是一个 docker run 就能搞定。
Letta 来自 MemGPT 背后的伯克利团队,它的模型不一样:Letta 给你的不是你要从 Agent 里调用的 Memory API,而是一个 Agent。Memory 存在于可编辑的 blocks 中,模型可以用自己的工具重写这些 blocks,enable_sleeptime=True 开启一个后台 Agent,在轮次之间重新组织这些 blocks。它是三者中架构上最有趣的,但考虑到它正在向"Letta Code"(一个模型无关的运行时)转型,而且 Python 客户端自 2026 年 6 月以来没有任何发布,现在依赖它的风险也是最高的。
Cognee 是最完整的自建选择:Apache-2.0、30,000+ star、可插拔的存储(图用 Kuzu 或 Neo4j,向量用 LanceDB 或 Qdrant),以及一个四动词 API(remember、recall、forget、improve)。

Vectorize 的 HindSight 是今年这个赛道里的 benchmark 故事:MIT 许可、完全本地运行、在最难的 BEAM tier(10M tokens)上跑出了 64.1%,而 Honcho 只有 40.6%。如果你优化的是长周期检索质量,单纯看实测结果它就应该在短名单上。完整的 DevToolLab 文章还涵盖了 Memori 和另外两个更小众的选择(Honcho、LangMem),以及一个包含所有八个项目的 license 和自托管列的头对头表格。
Memori 瞄准的是"不需要推倒重来"的场景:在你已经运行的数据库之上把 Agent 执行变成结构化状态——当你遇到的问题是安全审查而不是 benchmark 时,这是首先要看的。
以一个支持 Agent 为例,每月处理 2,000 段对话,每段 12 条消息:24,000 条消息,每条大约 600 bytes,每轮检索一次。在 Zep 上,ingestion 大约需要 48,000 credits,而全部 24,000 次检索都是免费的,刚好装进 $125/月的 Flex tier。在 Mem0 上,写入很便宜,但 24,000 次检索会冲破 Starter 的 5,000 次限制,不管你怎么打包写入,都会被推到 $249/月的 Pro tier。两家供应商计量的是不同的东西,所以在比较标价之前先建模你自己的读/写比。完整的文章里我对 token 成本一侧做了更深入的探讨,包括如何用一个 AI token counter 来做合理性检查。
Original article on DevToolLab: AI Agent Memory Platforms Compared
Anthropic memory tool docs