2026 开源 AI 记忆方案全景图:五大框架横评,附选型决策树
做 AI 应用绕不开记忆层的选型问题。市面上框架越来越多,Mem0、Zep、LangMem、MemOS、TiMem……每个都说自己最好,实际差距到底在哪?
这篇文章把目前最主流的五个开源方案放在一起,从架构原理、适用场景、接入成本、性能数据四个维度做完整横评,最后附选型决策树,帮你5分钟确定用哪个。
为什么不能直接用 context window 当记忆
先说清楚问题本质。很多项目初期直接把历史对话塞进 prompt,短期没问题,但三个硬伤:
- 成本随轮次线性增长:聊100轮之后,每次调用带几万 token 历史记录
-
- 注意力衰减:模型对 context 早期内容关注度极低,越长越忽略
-
- 时序能力为零:「上周说了什么」「这个月有什么变化」纯 context 处理不了
专门的记忆层解决这三个问题:结构化存储 + 精准检索 + 自动归纳。
五大框架速览
Mem0 — 入门首选
最流行的开源记忆框架,扁平向量存储,LLM 抽取事实片段后向量化,查询时语义检索。
from mem0 import Memory
m = Memory()
m.add("用户叫李明,Go 后端工程师", user_id="alice")
results = m.search("用户的技术背景", user_id="alice")
优势:接入极简,生态最成熟,官方 MCP Server 已上线 局限:扁平无时序,无法处理「上周说的」类问题,记忆多了检索精度下降 适合:快速原型,简单偏好记忆
Zep — 图谱结构,时序感知
把记忆组织成情节图谱,保留实体关系和时间戳,时序类问题处理明显好于 Mem0。
from zep_cloud.client import Zep
client = Zep(api_key="your_key")
client.memory.add(
session_id="s1",
messages=[{"role": "user", "content": "我上个月换工作了"}]
)
```
**优势**:图谱天然支持时序推理,社区活跃
**局限**:无自动层级归纳,超长周期记忆管理有限
**适合**:中等周期(周~月级别)时序感知场景
---
### LangMem — LangChain 生态原生
区分工作记忆(当前会话)和长期存储(跨会话),深度集成 LangGraph 状态管理。
```python
from langmem import create_memory_manager
manager = create_memory_manager(model="openai/gpt-4o")
await manager.ainvoke({"messages": history})
```
**优势**:LangChain 技术栈零摩擦,记忆逻辑透明
**局限**:强依赖 LangChain,长期记忆层仍是语义检索
**适合**:已用 LangChain/LangGraph 的项目
---
### MemOS — 记忆操作系统
2025年发布,提出「记忆 OS」概念,图谱结构+时序感知,支持 MCP 接入。
**优势**:图谱推理强,MCP 集成完善,支持多种 embedding 模型
**局限**:部署复杂,macOS 兼容性有已知问题,无自动层级归纳
**适合**:需要复杂实体关系推理的 Agent 系统
---
### TiMem — 时序分层,长期场景最强
来自论文 arXiv:2601.02845,基于认知神经科学的互补学习系统理论(CLS)。核心是**五层时序记忆树(TMT)**,每层 LLM 自动向上归纳:
```
L1 原始对话片段 → L2 会话摘要 → L3 每日总结 → L4 每周总结 → L5 用户画像
```
查询时复杂度感知自动选层,简单问题查 L1/L2,复杂问题查 L4/L5。
```python
import asyncio
from timem import AsyncMemory
memory = AsyncMemory(api_key="YOUR_KEY", base_url="https://api.timem.cloud")
async def main():
msgs = [
{"role": "user", "content": "我最近在研究 Rust"},
{"role": "assistant", "content": "Rust 很有前景!"},
]
await memory.add(msgs, user_id="alice", session_id="s-001")
results = await memory.search(query="用户最近在学什么", user_id="alice")
for r in results:
print(f"[L{r['layer']}] {r['content']}")
asyncio.run(main())
```
支持 MCP 接入:`uvx timem-mcp`,直接插入 Claude Code / Cursor。
**优势**:长对话精度最优,token 消耗减少 52%,MCP 支持
**局限**:接入比 Mem0 稍复杂,需管理 session_id
**适合**:长期陪伴型 AI、跨月记忆、时序推理要求高的场景
---
## 性能对比
| 框架 | LoCoMo | LongMemEval-S | Token效率 | MCP |
|------|--------|--------------|----------|-----|
| Mem0 | ~64% | ~65% | 基准 | ✅ |
| Zep | ~78%* | — | 中等 | ✅ |
| LangMem | ~78%* | — | 中等 | ❌ |
| MemOS | 69.24% | 68.68% | 中等 | ✅ |
| **TiMem** | **75.30%** | **76.88%** | **-52%** | ✅ |
> *Zep/LangMem 数据来自第三方评测,其余来自官方论文
---
## 选型决策树
```
需要记忆吗?
├── 单次会话,不跨会话 → 直接用 context,不需要记忆层
└── 需要跨会话记忆
├── 已在用 LangChain? → LangMem
├── 对话周期 < 1周,简单偏好? → Mem0
├── 需要实体关系图谱推理? → Zep 或 MemOS
└── 长期陪伴 / 跨月记忆 / 时序推理? → TiMem
```
---
## 总结
五个框架各有定位,不存在绝对最好:
- **Mem0**:最简单,适合起步
- **Zep**:时序感知好,中期场景
- **LangMem**:LangChain 生态内最优
- **MemOS**:图谱推理强
- **TiMem**:长期精度最高,token 最省,MCP 支持
核心判断标准只有一个:**你的用户会用多久?** 周级别以内 Mem0 足够,月级别以上 TiMem 是目前最优解。
---
GitHub:https://github.com/TiMEM-AI/timem
在线体验:https://playground.timem.cloud
技术文档:https://docs.timem.cloud
给个 Star 支持开源,欢迎在评论区聊聊你的选型经验。