2026 AI 记忆框架横评:Mem0 / Zep / LangMem / TiMem,选哪个?

7 阅读5分钟

2026 AI 记忆框架横评:Mem0 / Zep / LangMem / TiMem,选哪个?

最近帮几个 AI 产品做技术选型,把目前主流的四个记忆框架都系统用了一遍,把踩过的坑整理成这篇文章。

先说结论:没有最好的,只有最适合场景的。但每个框架的能力边界差距很大,选错了后期迁移成本很高。


为什么 context window 不够用?

做 AI 应用最开始都会这么干:把历史对话直接塞进 prompt。短期能跑,但走不远,原因有三:

  • 成本爆炸:聊几百轮之后,每次调用 LLM 要带几万 token 历史记录
    • 注意力衰减:context 太长,模型对早期内容的关注度显著下降
    • 跨会话失效:用户第二天来,什么上下文都没了

专门的记忆层就是用来解决这三个问题的。


Mem0:入门首选,但有天花板

Mem0 是目前使用量最大的 AI 记忆方案,设计哲学很简单:把对话里的事实用 LLM 抽取出来,向量化存储,查询时按语义相似度返回。

from mem0 import MemoryClient

client = MemoryClient(api_key="your_key")
client.add("用户叫李明,后端工程师,主要用 Go", user_id="alice")
results = client.search("用户的技术背景", user_id="alice")

v1.0 之后支持 memory export,API 也更新到了 v2,整体生态比较成熟。接入 5 分钟能跑起来。

但 Mem0 有一个根本性的局限:它是扁平的。所有记忆存在同一个层面,没有时序概念。「用户上周说了什么」「这个月状态有什么变化」,它答不上来——因为索引完全基于语义相似度,没有「什么时候」的概念。

适合:快速原型、简单偏好记忆、短对话场景。


Zep:图谱结构,时序感知更强

Zep 把记忆组织成情节图谱,对话里的实体、关系、事件都变成图上的节点,每个节点带时间戳。时序类问题处理明显好于 Mem0。

from zep_cloud.client import Zep

client = Zep(api_key="your_key")
client.memory.add(
    session_id="session_001",
        messages=[{"role": "user", "content": "我上个月从互联网换到了金融行业"}]
        )
        result = client.memory.search(session_id="session_001", text="用户的职业变化")
        ```
        
        在第三方 LoCoMo 基准评测中 Zep 拿到了 78.94%,社区活跃,文档完善。
        
        缺点是没有自动的层级归纳——聊了三个月之后,所有片段还是平铺在图上,不会自动总结出「用户这个季度的整体状态」。
        
        **适合**:中等周期(周~月级别)的场景,时序感知需求强。
        
        ---
        
        ## LangMem:LangChain 生态的原生选择
        
        如果你已经在用 LangChain/LangGraph 搭 Agent,LangMem 是摩擦最低的选项。它把记忆分为工作记忆(当前会话)和长期存储(跨会话),深度集成 LangGraph 的状态管理。
        
        ```python
        from langmem import create_memory_manager
        
        manager = create_memory_manager(model="openai/gpt-4o")
        await manager.ainvoke({"messages": conversation_history})
        ```
        
        第三方评测 78.05%,记忆管理逻辑透明,方便调试。
        
        但强依赖 LangChain 生态,如果你不用 LangChain,接入价值不大;长期记忆层仍是语义检索,时序能力也有限。
        
        **适合**:已经在用 LangChain/LangGraph 技术栈的项目。
        
        ---
        
        ## TiMem:五层时序记忆树,长期场景综合最强
        
        TiMem 来自论文《TiMem: Temporal-Hierarchical Memory Consolidation for Long-Horizon Conversational Agents》(arXiv:2601.02845),理论基础是认知神经科学里的**互补学习系统理论(CLS)**——模拟人脑把短期记忆逐步巩固成长期记忆的机制。
        
        核心是**时序记忆树(TMT)**,五层结构,每层由 LLM 自动向上归纳:
        
        1. **L1 原始对话片段**:保留完整原始对话,毫秒级写入
        2. **L2 会话摘要**:单次对话结束后自动提炼关键信息
        3. **L3 每日总结**:跨多个会话归纳当日整体情况
        4. **L4 每周总结**:提取中期规律和变化趋势
        5. **L5 人物画像**:全生命周期的稳定用户描述,持续更新
        
        查询时根据问题复杂度自动选层:简单问题查 L1/L2 精确召回,复杂问题查 L4/L5 全面理解,不需要手动指定。
        
        ```python
        import asyncio
        import uuid
        from timem import AsyncMemory
        
        memory = AsyncMemory(api_key="YOUR_KEY", base_url="https://api.timem.cloud")
        
        async def main():
            await memory.add(
                    messages=[
                                {"role": "user", "content": "我最近在学 Rust,打算转做系统编程"},
                                            {"role": "assistant", "content": "学 Rust 是个好方向!"}
                                                    ],
                                                            user_id="alice",
                                                                    session_id=str(uuid.uuid4()),
                                                                        )
                                                                        
                                                                            results = await memory.search(
                                                                                    query="用户最近的学习方向",
                                                                                            user_id="alice",
                                                                                                    limit=5,
                                                                                                        )
                                                                                                            for r in results:
                                                                                                                    print(f"[L{r['layer']}] {r['content']}")
                                                                                                                    
                                                                                                                    asyncio.run(main())
                                                                                                                    ```
                                                                                                                    
                                                                                                                    返回结果里的 `layer` 字段告诉你这条记忆来自哪一层,方便理解召回逻辑。
                                                                                                                    
                                                                                                                    **官方论文数据**:
                                                                                                                    
                                                                                                                    | 基准 | TiMem | MemOS(次强) | 领先幅度 |
                                                                                                                    |------|-------|------------|--------|
                                                                                                                    | LoCoMo | 75.30% | 69.24% | +6.06% |
                                                                                                                    | LongMemEval-S | 76.88% | 68.68% | +8.20% |
                                                                                                                    
                                                                                                                    Token 消耗上,分层召回比直接检索减少了 **52.20%**,长期运行成本优势明显。
                                                                                                                    
                                                                                                                    缺点:接入比 Mem0 略复杂(需要管理 `session_id`);社区规模比 Mem0/Zep 小,文档还在持续完善。
                                                                                                                    
                                                                                                                    **适合**:长期陪伴型 AI、个性化助手、需要跨月记忆、时序推理要求高的场景。
                                                                                                                    
                                                                                                                    ---
                                                                                                                    
                                                                                                                    ## 怎么选?
                                                                                                                    
                                                                                                                    | 需求 | 推荐 |
                                                                                                                    |------|------|
                                                                                                                    | 快速原型,5 分钟接入 | Mem0 |
                                                                                                                    | 已在用 LangChain/LangGraph | LangMem |
                                                                                                                    | 时序感知,中等周期 | Zep |
                                                                                                                    | 长期陪伴 / 用户画像 / 跨月记忆 | TiMem |
                                                                                                                    
                                                                                                                    核心逻辑:**对话周期越长、时序需求越强,越应该用 TiMem;场景越简单,Mem0 够了。**
                                                                                                                    
                                                                                                                    ---
                                                                                                                    
                                                                                                                    如果你对 TiMem 感兴趣,欢迎到 GitHub 看看:
                                                                                                                    https://github.com/timem-ai/tiimem
                                                                                                                    
                                                                                                                    给个 Star,是我们持续开源的最大动力。
                                                                                                                    
                                                                                                                    在线体验:https://playground.timem.cloud
                                                                                                                    技术文档:https://docs.timem.cloud