大模型 记忆
让 Agent 跨会话"记得住":持久化记忆层、分层记忆架构、知识图谱与自动上下文管理。本模块覆盖 AgentMemory、Mem0、Zep、MemGPT(Letta),并纠正了上一版中 MemGPT 仓库错链与 AgentMemory 编造 API 的问题。
▦ 工具总览
| 工具 | 类型 | 记忆模型 |
|---|---|---|
| AgentMemory | AI 编程 Agent 持久记忆 | SQLite/PG + 向量 + 知识图谱 |
| Mem0 | 通用 Agent 记忆层 | Working + Archival + 图 |
| Zep | 会话/长期记忆 + 图 | Episodic + Semantic + Graph |
| MemGPT / Letta | 有状态 Agent 框架 | Core / Archival / Recall 三层 |
01 AgentMemory
面向 AI 编程 Agent 的持久化记忆层,解决"关掉再开会话清空"的金鱼脑问题。注意:上一版误写为 pip install agentmemory + AgentMemoryClient(虚构),以下为真实项目。
AgentMemory(多个真实实现)
实现 A · rohitg00/agentmemory(AI 编程 Agent)
持久化记忆层,跨会话保留项目上下文,集成 Claude Code / Cursor / Codex / Copilot。基于真实编程任务基准测试。
实现 B · JordanMcCann/agentmemory(LongMemEval SOTA)
记忆系统,LongMemEval 真实检索榜首 96.2%(481/500)。提供 REST 服务与 MCP 服务,便于 Claude Desktop / Continue 等原生工具调用。
# 安装(源码) git clone https://github.com/JordanMcCann/agentmemory.git cd agentmemory && pip install -e . # 启动服务 agentmemory serve # FastAPI REST 服务 agentmemory mcp # MCP 服务(Claude Desktop / Continue 等) # 核心 API:MemoryStore from agentmemory import MemoryStore store = MemoryStore(path="memory.db") # :memory: 为内存态
实现 C · pinexai/agent-memory(3 行接入)
生产级持久记忆,兼容 LangChain / CrewAI / AutoGen / 原生 SDK。
pip install agentcortex # CLI 随包自带 from agentmemory import MemoryStore m = MemoryStore(agent_id="my-agent") m.remember("User prefers Python over JavaScript", importance=7) ctx = m.get_context("What do we know?") # 异步:AsyncMemoryStore;MCP:pip install "agentcortex[mcp]"
02 Mem0
通用 Agent 记忆层,提供托管平台与开源版,自动抽取、去重并分层管理记忆。
Mem0 managed + OSS
pip install mem0 from mem0 import Memory m = Memory(config={"llm": {"provider": "openai", "model": "gpt-4o"}}) m.add("用户喜欢用 Python 做数据处理", user_id="u1") m.search("用户偏好什么语言?", user_id="u1")
记忆分层:Working Memory(当前任务)+ Archival Memory(长期事实,向量存储)+ 可选图记忆。支持自动冲突检测与更新,适合多用户个性化场景。
03 Zep
面向对话/ Agent 的记忆层,以知识图谱组织长期记忆,强调"回忆的准确性"。
Zep graph memory
pip install zep-python from zep_cloud.client import Zep client = Zep(api_key="YOUR_KEY") # 自动把对话组织为 Episodic + Semantic + Graph 三层记忆 client.memory.add(session_id="s1", messages=messages) mem = client.memory.get(session_id="s1") # 含图检索的上下文
三记忆层:Episodic(原始对话事件)、Semantic(抽取的事实)、Graph(实体关系图谱)。图结构让"用户—项目—偏好"关系可被推理检索。
04 MemGPT / Letta
UC Berkeley 起源的"操作系统式记忆管理"框架。上一版误链为 sonic-trader/sonic(不存在),正确仓库如下。
MemGPT → Letta stateful agents
# 安装 pip install letta[server] # 服务端 pip install letta-client # 客户端 SDK # 启动服务(默认本地,可接 Ollama 免云 key) letta server # 创建 agent(backend: "local" 可完全本地免 key)
三层记忆架构(核心创新)
| 层级 | 位置 | 作用 |
|---|---|---|
| Core Memory | 上下文内(XML 块:human / persona) | 每轮可见,改动即时落库 |
| Archival Memory | 外部向量存储(PG/pgvector/SQLite/Pinecone) | 大量长期信息,工具检索 |
| Recall Memory | 对话历史 | 可搜索的历史交互 |
当 total_tokens > context_window 时自动压缩(滑动窗口 / 总结)。sleep-time compute(sleeptime_agent)在空闲时重组记忆、从近期交互学习,已在数学推理基准上验证有效。
⚙ 记忆架构概念
分层记忆:OS 隐喻
把 LLM 固定上下文窗口类比"内存",把外部存储类比"磁盘":Agent 自己决定什么留在上下文、什么移到长期存储、何时检索——用工具调用作为机制。这是 MemGPT/Letta 的虚拟上下文管理思想。
选型速查
| 需求 | 首选 | 理由 |
|---|---|---|
| AI 编程 Agent 跨会话记项目 | AgentMemory(rohitg00 / JordanMcCann) | 专为 coding agent 设计,MCP 直连 |
| 通用产品个性化记忆 | Mem0 | 托管+OSS,自动抽取去重 |
| 对话型 Agent + 关系推理 | Zep | 图记忆,回忆准确 |
| 自托管有状态 Agent 框架 | Letta(MemGPT) | 三层记忆 + 自动上下文管理 |