Compare · 横评对比
Mem0 vs Letta:补一层 Agent 记忆,还是采用完整有状态运行时?
拆解 Mem0 独立记忆 API 与 Letta 有状态 Agent 平台的架构、共享记忆、权限、成本和迁移范围,并提供两周同场景验收方案。
| 维度 | mem0 | letta |
|---|---|---|
| 主要定位 | 独立记忆层 | 有状态 Agent 平台 |
| 保留现有 Agent 框架 | 可直接接入既有流程 | 需评估运行时迁移 |
| 持久记忆机制 | 写入、检索、更新长期事实 | 持久 memory blocks 与 Agent 历史 |
| 多 Agent 共享 | 业务侧设计共享范围 | 可挂载共享 block |
| 工具执行 | 由现有应用负责 | 在 Agent 运行时管理 |
| 价格口径 | 托管写入和检索请求额度 | 模型、部署和团队计划组合 |
| 自建 | 开源 SDK 与自选组件 | 可运行 Letta App Server |
| 共同风险 | 隔离、纠错、删除 | 隔离、共享权限、删除 |
简短结论
Mem0 与 Letta 都谈长期记忆,但它们解决的问题不在同一层。Mem0 适合已有模型调用、Agent 编排和权限系统的应用,把持久记忆作为单独组件接入。Letta 适合希望一起采用有状态 Agent 运行时、记忆块、会话和工具工作流的团队。决定前先画清自己已有的系统:要补一块“记什么”,还是要换一整套“Agent 如何持续运行”。
不要因为两者都能记住用户偏好,就认为它们可直接按单次 API 价格排序。Mem0 的托管请求额度,与 Letta 的模型推理、运行时、席位和部署方式并不等价。
架构差异:外接记忆与有状态 Agent
Mem0 的 Platform Quickstart 展示了最短路径:使用 MemoryClient 将对话写入指定 user_id,再用过滤条件搜索相关记忆。你可以继续沿用现有 Agent 框架、聊天界面和业务 API。它负责存取长期事实,模型上下文的组装、工具调用权限、回复校验仍由应用负责。开源 SDK 还能按需选择自己的数据与模型组件。
Letta 的 Agent 本身是有状态对象。Memory blocks 是持续可见的上下文区域,可以单独创建,再挂载到一个或多个 Agent;运行时还处理会话、工具和 Agent 生命周期。这个设计让“Agent 的身份与持续经验”成为系统中心,而不是在已有系统外追加一个检索 API。若团队从零建设个人助理或长期运行的 AI 同事,这一体化可能更自然;若已有成熟的 LangGraph、Mastra 或自研调度,迁移到 Letta 的范围就大得多。
一个客服场景怎么验证
假设用户先说“只接受电子邮件通知”,一周后改为“紧急事项可以短信”。先写下业务规则:邮件是默认渠道,短信只用于紧急事项,并确认用户已授权短信。用 Mem0 时,把可保存的偏好写入记忆,下一次会话检索并传给现有模型流程;应用仍要决定何为紧急事项,发送短信要单独授权。
用 Letta 时,观察 Agent 如何更新相关 memory block、如何在新会话继续使用,以及旧偏好是否仍残留。若多个 Agent 共用一个 block,需检查“客服助手”能否看到“财务助手”的私有资料。两边都应记录原始来源和更正时间,不应因检索或 block 中出现一条指令就赋予执行工具的权力。
开发与运维成本
Mem0 托管版截至 2026 年 9 月的 Hobby 档免费,每月含 10,000 次写入和 1,000 次检索;Starter 为每月 19 美元,Pro 为每月 249 美元。免费档有项目数和高级能力限制,不能把“无限最终用户”理解为无限 API 使用。Mem0 价格页应作为最新账单依据。自托管 SDK 的软件费用不是主要问题,模型、向量库、日志、备份和升级同样要算。
Letta 的成本需要按采用方式拆开:托管 Agent 的模型调用与团队计划,自建运行时的机器与维护,以及将工具和工作流迁移到新 Agent 架构的工程时间。不要拿 Mem0 的每月 19 美元,与 Letta 某一席位价格或“免费启动”口号直接对比。写预算时把每位活跃用户的对话量、记忆写入、模型 token、工具调用和人工审核时间放在同一张表上。
权限、共享和删除
Mem0 的关键边界是每次写入和检索是否都绑定正确的用户、Agent 或运行标识。最危险的错误是漏掉过滤条件,让别人的记忆出现在当前用户的回答里。应用应把用户身份从可信会话传入,不由模型从提示词里猜出。删除请求后要重新搜索,检查缓存和下游副本。
Letta 的关键边界还包括 memory block 的挂载关系和 Agent 的工具权限。共享 block 可以减少重复资料,但也可能扩大数据可见范围。测试时用两个具有相似姓名和不同权限的用户,再让多个 Agent 分别工作,证明私有偏好、机密资料与工具凭据不会串用。无论使用哪款产品,第三方文本应作为低信任数据进入模型,不能覆盖开发者指令。
如果涉及医疗、金融、人事等敏感数据,先核对供应商合同、数据地域、保留期限、审计能力和自建可行性。安全页面写着“合规”不等于你的具体业务处理已获授权。不要把身份证号、病历原文或支付令牌写入记忆试点。
该选哪一个
选 Mem0:你的应用已拥有稳定的模型和工具编排,只要为用户偏好或项目背景补长期记忆;希望先用独立 API 做低风险试点,并保留未来替换记忆供应商的灵活性。选 Letta:你的目标本来就是有状态、长期运行的 Agent,愿意让记忆、会话、工具和运行时遵循同一架构;可以投入时间重新梳理部署和权限。若还要复杂时间关系图谱,再同时评估 Zep。
两周验收建议
第一周各实现同一客服样本:用户偏好写入、跨会话召回、更正、不同用户隔离、删除。第二周增加多 Agent 协作、共享上下文、工具权限、故障恢复和成本监控。所有样本先脱敏;保存每轮输入、写入记录、最终答案和人工判定。只要出现一次跨用户泄露、删除不完整或未经授权的外部动作,就先修正边界,再扩大使用量。
官方资料
结论
已有 Agent 编排只缺跨会话长期记忆,先试 Mem0;从零建立持续运行、有工具和共享记忆的 Agent,重点试 Letta。以迁移范围、权限和真实总成本决策。
常见问题
- Mem0 和 Letta 最大的区别是什么?
- Mem0 是可接入现有应用的记忆层;Letta 是包含记忆、会话和工具运行的有状态 Agent 平台。主要看你要补组件还是采用完整运行时。
- 已有自研 Agent 后端还适合 Letta 吗?
- 可以评估,但迁移会涉及 Agent 生命周期、工具、会话和权限。若只缺长期偏好,先试 Mem0 的独立接入通常更直接。
- Letta 的 memory block 是向量数据库吗?
- 不是一个简单的同义词。它是 Agent 上下文中持久可见的结构化区块,可挂载或共享;Letta 还可结合其他记忆与历史机制。
- Mem0 的免费档能给无限用户长期使用吗?
- 官网写无限最终用户,但每月写入与检索额度仍有限。应按活跃用户请求频率估算,不要把用户数条款误读为无限调用。
- 共享 Agent 记忆会带来什么风险?
- 共享 block 或错误的用户过滤条件都可能让私有资料跨 Agent、跨用户出现。需要最小权限、隔离测试、审计与删除回归。
- 两款工具能自动批准短信、订单或付款吗?
- 不能把记忆当成授权。外部动作必须由应用的权限系统和人工审批控制,记忆仅提供上下文。