2026年,AI Agent记忆系统已从LLM上下文窗口的附属品演变为独立的基础设施赛道。七款主流记忆引擎——Mem0、Zep/Graphiti、Letta(原MemGPT)、LangMem、Cognee、Hindsight和Mastra Observational Memory——在LoCoMo和LongMemEval两大基准测试上展开激烈角逐。核心分歧不再是"要不要记忆",而是记忆采用向量检索、知识图谱、自管理状态机还是背景压缩哪条技术路线。本文从存储模型、压缩策略、召回精度三个维度,拆解七大引擎的架构哲学与生产实战表现。
2024年底,几乎所有Agent框架都面临同一个尴尬:Agent每次会话从零开始,无法记住用户偏好、历史决策和业务上下文。这导致两个致命问题——Token浪费和体验断裂。
2026年的转折来自三个力量的交汇:
当前主流Agent记忆系统普遍采用三层模型,但各层实现方式截然不同:
┌──────────────────────────────────────────────┐
│ 工作记忆 (Working Memory) │
│ 当前对话上下文 / 活跃任务状态 │
│ 容量:4K-128K tokens │
├──────────────────────────────────────────────┤
│ 情景记忆 (Episodic Memory) │
│ 历史交互片段 / 对话摘要 / 事件流 │
│ 存储:向量数据库 / 图数据库 / 文本日志 │
├──────────────────────────────────────────────┤
│ 语义记忆 (Semantic Memory) │
│ 用户画像 / 知识图谱 / 领域事实 │
│ 存储:知识图谱 / 结构化数据库 │
└──────────────────────────────────────────────┘
差异的根源在于:谁来决定记住什么、遗忘什么、何时召回。这正是七大引擎的分水岭。
| 维度 | Mem0 | Zep/Graphiti | Letta (MemGPT) | LangMem | Cognee | Hindsight | Mastra OM |
|---|---|---|---|---|---|---|---|
| 存储模型 | 向量+图谱双存储 | 时序知识图谱 | 自管理文本块 | 向量+三种记忆类型 | 知识图谱+本体 | 向量+重要性评分 | 背景压缩文本 |
| 核心创新 | 双重召回管线 | 时间边+实体节点 | LLM-as-OS | LangChain原生集成 | 图谱分段投影 | 四杠杆合并遗忘 | 观测式压缩 |
| 开源许可 | Apache 2.0 | Apache 2.0 | Apache 2.0 | MIT | Apache 2.0 | Apache 2.0 | MIT |
| GitHub Stars | ~25K | ~3K (Graphiti) | ~22K | ~2K | ~4K | ~1.5K | 内置于Mastra |
| LoCoMo得分 | ~72% | ~78% | ~65% | ~60% | ~70% | 92.2% | 84.23% |
| LongMemEval | ~68% | ~75% | ~62% | ~58% | ~67% | ~88% | 95% |
| 压缩比 | 3-4x | 2-3x | 无(自管理) | 3x | 4-5x | 5-8x | 5-40x |
| 上手时间 | 15分钟 | 30分钟 | 45分钟 | 20分钟 | 60分钟 | 30分钟 | 10分钟 |
| 生产成熟度 | 高 | 中高 | 中高 | 中 | 中 | 中 | 中 |
| 语言 | Python | Python | Python | Python | Python | Python | TypeScript |
架构原理
Mem0是2026年记忆赛道中Star数最高的项目,其核心设计是向量+知识图谱双存储架构。用户消息先经过实体抽取器提取关键事实和关系,然后同时写入向量数据库(用于语义检索)和知识图谱(用于结构化推理)。
关键创新在于双重召回管线:查询时,系统同时从向量存储和图谱中检索,将结果融合后注入Agent上下文。这使得Mem0既能处理模糊的语义查询,又能回答精确的关系型问题。
Mem0的ECAI 2025论文(arXiv:2504.19413)首次建立了大规模的head-to-head记忆基准对比,推动了整个赛道从"demo驱动"走向"数据驱动"。
关键代码片段
from mem0 import Memory
m = Memory.from_config(config_dict)
# 存储记忆
m.add("我喜欢用Python写后端,偏好FastAPI框架", user_id="alice")
m.add("我的项目部署在AWS us-east-1区域", user_id="alice")
# 召回记忆
results = m.search("Alice的技术栈是什么?", user_id="alice")
# 返回融合了向量语义+图谱结构的结果
优缺点分析
变现评估:Mem0已推出云托管服务,定价按记忆条目数计费。适合作为"记忆即服务"产品包装,训练营切入点明确——"三行代码给你的Agent加上长期记忆"。
架构原理
Zep的核心组件Graphiti是2026年Agent记忆领域最独特的设计之一——时序知识图谱(Temporal Knowledge Graph)。传统知识图谱只存储实体的最新状态(如"Alice使用Python"),Graphiti则给每条边加上时间戳,记录状态的完整演变(如"Alice在2024年使用Java,2025年转为Python")。
其arXiv论文(2501.13956)详细描述了Graphiti的架构:实体节点存储对象,关系边存储谓词,Episode节点存储原始交互记录。三者通过时间边串联,形成一条可追溯的记忆时间线。这种设计天然支持"上个月用户说了什么"这类时间敏感查询。
from graphiti_core import Graphiti
from graphiti_core.llm_client import OpenAIClient
graphiti = Graphiti(uri="bolt://localhost:7687", user="neo4j", password="...")
# 添加带时间戳的交互记忆
await graphiti.add_episode(
name="meeting_2026_05_26",
episode_body="用户讨论了Agent记忆系统的选型,倾向于图数据库方案",
reference_id="session_001",
source_description="客户技术选型会议"
)
# 时序查询:找回特定时间段的记忆
results = await graphiti.search(
query="用户对记忆系统的偏好",
num_results=5
)
优缺点分析
变现评估:在需要审计追踪的行业(金融风控、医疗问诊、法律咨询)具有天然壁垒,可包装为"合规级Agent记忆方案"。
架构原理
Letta的设计哲学是所有引擎中最激进的:让LLM自己管理记忆。其"LLM-as-Operating-System"范式将Agent视为操作系统,记忆块(Memory Blocks)视为内存页面,Agent自主决定何时读写、何时压缩、何时丢弃。
具体实现上,Letta维护三类记忆块: - Core Memory:始终在上下文中的核心信息(用户画像、当前任务) - Archival Memory:存档信息,Agent需要主动检索才能访问 - Recall Memory:对话历史,Agent可搜索和回放
Agent通过内部函数调用(如archival_memory_insert、archival_memory_search)操作记忆,而非依赖外部记忆管理器。这是一种"自治记忆"的激进尝试。
from letta import create_client
client = create_client()
agent = client.create_agent(
name="stateful_assistant",
memory_blocks=[
{"label": "persona", "value": "我是一个专业的技术顾问"},
{"label": "human", "value": "用户信息将在交互中自动更新"}
]
)
# Agent自主管理记忆——无需手动add/search
response = client.send_message(
agent_id=agent.id,
message="我最近在研究Agent记忆系统,你帮我记住这个兴趣方向",
role="user"
)
# Agent内部会调用archival_memory_insert自主存储
优缺点分析
变现评估:适合作为"自主Agent"课程的核心组件,"让AI学会自己管理记忆"的概念极具吸引力。但生产落地需要额外的护栏层。
架构原理
LangMem是LangChain团队在2025年初推出的记忆SDK,设计理念是与LangGraph/LangChain无缝集成。它支持三种记忆类型的并行管理:
LangMem的独特之处在于其"记忆即工具"(Memory as Tool)设计——记忆操作暴露为LangGraph的Tool节点,Agent在执行流程中自然地读写记忆,无需额外的记忆管理层。
from langmem import create_memory_store, manage_memory_tool, search_memory_tool
store = create_memory_store(
connection_string="postgresql://...",
embedding_model="openai:text-embedding-3-small"
)
# 将记忆暴露为Agent可用的工具
tools = [
manage_memory_tool(store), # 存储/更新记忆
search_memory_tool(store), # 搜索记忆
]
# 在LangGraph中使用
from langgraph.prebuilt import create_react_agent
agent = create_react_agent(model, tools)
优缺点分析
变现评估:对于已经使用LangChain技术栈的团队是零成本升级。适合包装为"LangGraph记忆增强"专项训练。
架构原理
Cognee走了一条与众不同的路——将本体论(Ontology)引入Agent记忆。它不只是一个记忆存储,而是一个完整的知识引擎:原始数据经过抽取、分类、实体对齐后,构建为符合预定义本体的知识图谱。
Cognee最具创新性的概念是"记忆分段投影"(Memory Fragment Projection):不需要加载整个图谱,而是根据当前任务动态选取最相关的图谱子结构作为"内存片段"注入上下文。这解决了大图谱加载的Token成本问题。
Cognee支持6种存储后端(Neo4j、PostgreSQL、Qdrant、Weaviate等),并提供GraphRAG能力,适合将企业内部文档、数据库、API文档等异构数据统一为Agent可访问的知识层。
import cognee
# 定义数据管道
await cognee.add("data_source", "用户手册PDF内容")
await cognee.add("data_source", "内部Wiki文章")
# 执行知识图谱构建
await cognee.cognify()
# 查询——自动选择最相关的图谱片段
results = await cognee.search(
query_type=SearchType.INSIGHTS,
query_text="产品退款流程是什么?"
)
优缺点分析
变现评估:最适合包装为"企业知识图谱Agent"解决方案,目标客户是需要统一知识管理的团队。单项目客单价高,但销售周期长。
架构原理
Hindsight(由Vectorize.io开发)代表了2026年记忆系统的一个重要认知飞跃:遗忘比记忆更重要。其论文标题"Hindsight is 20/20"和GitHub描述"The most accurate agent memory system ever tested"直指核心——它不是第一个能存储记忆的系统,而是第一个能系统化遗忘的系统。
Hindsight提出了四杠杆记忆整合框架:
在LoCoMo基准上,Hindsight达到了92.2%的准确率,位居所有记忆系统之首。其秘密在于:不是记住更多,而是遗忘更聪明。
from hindsight import HindsightMemory
memory = HindsightMemory(
store_url="postgresql://...",
importance_threshold=0.3, # 低于此阈值的记忆将被遗忘
decay_rate=0.95, # 每次访问后的衰减系数
merge_similarity=0.85 # 相似度高于此值时自动合并
)
memory.add("用户正在使用React 19开发前端项目")
memory.add("用户偏好TypeScript而非JavaScript")
# 下次查询时,系统自动合并语义重叠的记忆
优缺点分析
变现评估:概念性极强——"AI也需要遗忘",适合技术深度课程和高级训练营。
架构原理
Mastra的Observational Memory(OM)是2026年最引人注目的黑马。其核心思想是用背景压缩替代检索:不检索记忆,而是将所有历史交互持续压缩为精简的"观测摘要",始终保持在上下文中。
VentureBeat的报道标题精确概括了其卖点:"Observational memory cuts AI agent costs 10x and outscores RAG on long-context benchmarks"。
OM的工作方式类似于人类的"昨日之事犹在眼前"——它不是去数据库里"翻找"记忆,而是维护一个始终在线的压缩视图。后台Agent持续将新交互整合到摘要中,保持摘要既全面又精简。
在LongMemEval基准上,OM达到95%的准确率,是所有系统中的最高分。更关键的是,由于无需检索步骤,推理延迟显著降低。
// Mastra是TypeScript框架,记忆操作更简洁
import { Agent } from "@mastra/core";
import { ObservationalMemory } from "@mastra/memory";
const agent = new Agent({
model: openai("gpt-4o"),
memory: new ObservationalMemory({
compressionRatio: 10, // 压缩比
backgroundInterval: 5, // 每5轮对话执行一次背景压缩
})
});
// 无需手动add/search——记忆自动管理
const response = await agent.generate("我之前提到的项目进展如何了?");
// Agent从始终在上下文中的压缩摘要中获取记忆
优缺点分析
变现评估:"用压缩替代检索"的概念极具颠覆性,适合作为技术演讲和前沿训练营的核心话题。
graph TB
subgraph 记忆路线分歧
A[用户交互] --> B{存储策略}
B -->|向量检索| C[Mem0 / LangMem]
B -->|知识图谱| D[Zep Graphiti / Cognee]
B -->|自管理| E[Letta MemGPT]
B -->|遗忘优先| F[Hindsight]
B -->|背景压缩| G[Mastra OM]
C --> H[语义相似度召回]
D --> I[结构化关系推理]
E --> J[LLM自主决策]
F --> K[重要性衰减遗忘]
G --> L[始终在上下文中]
H --> M{适用场景}
I --> M
J --> M
K --> M
L --> M
M -->|通用Agent| C
M -->|合规/审计| D
M -->|自主Agent| E
M -->|长期运行| F
M -->|高频交互| G
end
| 路线 | 代表 | 核心假设 | Token成本模型 | 最佳场景 |
|---|---|---|---|---|
| 向量检索 | Mem0, LangMem | 记忆可通过语义相似度召回 | O(k) per query,k为召回条数 | 通用对话、知识问答 |
| 知识图谱 | Zep, Cognee | 记忆需要结构化关系表达 | O(n) 图构建 + O(k) 查询 | 合规审计、企业知识 |
| 自管理 | Letta | LLM有能力自主管理记忆 | O(1) 自主决策 | 代码Agent、自主任务 |
| 遗忘优先 | Hindsight | 遗忘比记忆更关键 | O(m) 合并计算,m为记忆数 | 长期运行、高并发 |
| 背景压缩 | Mastra OM | 压缩摘要可替代检索 | O(1) 无检索,O(c) 压缩 | 高频交互、实时响应 |
LoCoMo和LongMemEval两大基准揭示了几个关键发现:
发现一:向量检索的天花板
纯向量检索方案(LangMem、基础Mem0配置)在LoCoMo上得分普遍在60-72%区间。当对话历史超过200轮时,向量检索的语义噪声急剧上升——相似的embedding不代表相关的记忆。
发现二:图谱+遗忘的组合拳效果最强
Hindsight(向量+遗忘策略)和Zep(时序图谱)分别在LoCoMo和LongMemEval上取得了高分,说明"结构化存储+智能过滤"是当前的最优解。
发现三:压缩方案在成本维度碾压
Mastra OM的"背景压缩"路线在LongMemEval上取得95%的惊人成绩,且推理成本降低10倍。这暗示:对于大多数应用场景,精心设计的摘要可能比完整的检索系统更实用。
| 场景 | 100轮对话 | 500轮对话 | 1000轮对话 |
|---|---|---|---|
| 无记忆(全上下文) | 50K tokens | 250K tokens | 超出窗口 |
| Mem0(召回5条) | 8K tokens | 10K tokens | 12K tokens |
| Zep(图查询) | 6K tokens | 8K tokens | 10K tokens |
| Letta(自管理) | 4K tokens | 5K tokens | 6K tokens |
| Hindsight(合并后) | 3K tokens | 4K tokens | 5K tokens |
| Mastra OM(压缩) | 2K tokens | 3K tokens | 4K tokens |
数据来源:各引擎官方文档和第三方基准测试报告。测试条件:GPT-4o,单用户长期对话,记忆条目自然增长。
flowchart LR
Start[Agent需要记忆] --> Q1{需要审计追踪?}
Q1 -->|是| Zep[Zep/Graphiti<br/>时序知识图谱]
Q1 -->|否| Q2{交互频率?}
Q2 -->|高频实时| Mastra[Mastra OM<br/>背景压缩]
Q2 -->|中频| Q3{Agent类型?}
Q3 -->|自主Agent| Letta[Letta<br/>LLM自管理]
Q3 -->|工具型Agent| Q4{已有技术栈?}
Q4 -->|LangChain| LangMem[LangMem<br/>原生集成]
Q4 -->|无框架依赖| Q5{运行时长?}
Q5 -->|长期运行| Hindsight[Hindsight<br/>遗忘优先]
Q5 -->|通用场景| Mem0[Mem0<br/>双存储管线]
Q6{需要企业知识管理?}
Q6 -->|是| Cognee[Cognee<br/>本体知识图谱]
| 场景 | 首选 | 备选 | 理由 |
|---|---|---|---|
| 客服/销售Agent | Hindsight | Mem0 | 长期运行需智能遗忘,合并策略减少冗余 |
| 合规/审计场景 | Zep/Graphiti | Cognee | 时序追踪是刚需,图谱可视化便于审计 |
| 开发工具/代码Agent | Letta | Mem0 | 自管理记忆适合任务型Agent |
| 教育/辅导Agent | Mastra OM | Mem0 | 高频交互+成本敏感,压缩方案最优 |
| 企业知识库Agent | Cognee | Zep | 本体驱动的知识建模最严谨 |
| 已有LangChain项目 | LangMem | Mem0 | 零摩擦集成,最小改动成本 |
| 快速原型验证 | Mem0 | Mastra OM | API最简洁,15分钟完成集成 |
生产级系统的最佳实践是组合多种记忆策略:
当前所有记忆系统本质上都在做信息检索——找到相关的事实并注入上下文。下一个前沿是记忆推理:不只是记住"用户偏好Python",而是理解"用户偏好Python是因为重视类型安全和生态成熟度"。
Cognee的本体驱动和Zep的图谱推理已经在这个方向上迈出了第一步。预计2026下半年将出现专门的记忆推理基准测试。
MCP(Model Context Protocol)的出现为工具调用提供了标准接口。类似的,Agent记忆领域需要统一的记忆访问协议——让Agent能够无缝切换记忆后端,而不需要重写业务逻辑。
Mem0和Zep已经开始提供兼容层,但真正的标准化协议尚未出现。这是一个基础设施级别的机会。
当前的记忆系统都是per-agent或per-user的。多Agent协作场景下的共享记忆池——一个Agent学到的知识能否传递给另一个Agent——仍是一个开放问题。Letta的"Archival Memory"概念和Cognee的企业知识图谱指向了这个方向。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
