AI Agent Memory 开源项目全景对比
调研时间:2026-06-18 目的:横向对比 DB-Agent-Memory 与同赛道项目的设计取舍,为犀牛鸟参与做知识储备
7 个项目一览
| # | 项目 | Stars | 主语言 | 核心设计思路 | 本地路径 |
|---|---|---|---|---|---|
| 1 | mem0 | ~55K | Python | 扁平事实提取 + 向量/图/KV 混合存储 | projects/mem0/ |
| 2 | supermemory | ~27K | TypeScript | 五层架构(Profile/Graph/Retrieval/Extractors/Connectors) | projects/supermemory/ |
| 3 | letta (MemGPT) | ~23K | Python | OS 虚拟内存启发,Agent 自管理记忆 | projects/letta/ |
| 4 | graphiti (Zep) | ~20K | Python | 时序知识图谱,双时间轴模型 | projects/graphiti/ |
| 5 | cognee | ~17K | Python | ECL 管线(Extract-Cognify-Load),知识图谱 + 向量 + 关系型 | projects/cognee/ |
| 6 | MemOS | ~9K | Python+TS | “记忆操作系统”,MemCube 容器 + MemScheduler 调度 | projects/MemOS/ |
| 7 | DB-Agent-Memory | ~6K | TypeScript | 4 层语义金字塔(L0→L3)+ Mermaid 符号压缩 | projects/TencentDB-Agent-Memory/ |
设计思路对比
记忆组织方式(核心差异)
每个项目对”记忆怎么存”这个问题给出了不同答案:
扁平事实模式(mem0):对话 → LLM 提取离散事实 → 存入向量数据库。简单直接,但缺乏层次关系,事实之间没有结构化联系。类比:把所有笔记扔进一个大抽屉,靠搜索找。
语义金字塔模式(DB-Agent-Memory):L0 原始对话 → L1 原子事实 → L2 场景块 → L3 用户画像,逐层提炼。类比:从会议录音 → 会议纪要 → 项目进展 → 季度总结,每层都保留溯源链接。
虚拟内存模式(letta/MemGPT):借鉴操作系统的虚拟内存管理——core memory(常驻内存)+ archival memory(交换区)+ recall memory(检索缓存)。Agent 自己决定何时 page in/out。类比:CPU 缓存 vs 内存 vs 硬盘的三级存储体系。
时序知识图谱模式(graphiti):每个事实有两个时间戳——”事件何时发生”和”事实何时有效”。实体和关系随时间演化,旧事实自动失效。类比:Wiki 的版本历史,每个事实都有”创建—修改—失效”的生命周期。
认知层模式(cognee):Extract-Cognify-Load 管线,把非结构化数据转化为可推理的知识网络。强调”理解”而非”记忆”。类比:从原始文献 → 概念地图 → 可以回答推理问题。
记忆操作系统模式(MemOS):用 MemCube 把记忆标准化为”容器”,MemScheduler 做调度。类比:Docker 对应用做了什么,MemOS 对记忆做什么。
多层产品化模式(supermemory):User Profiles + Memory Graph + Retrieval + Extractors + Connectors 五层。面向终端用户”让 AI 记住你”的产品方向。
存储后端对比
| 项目 | 本地存储 | 向量数据库 | 图数据库 | 外部 API 依赖 |
|---|---|---|---|---|
| mem0 | - | Qdrant/Chroma 等 | Neo4j(可选) | 需要 |
| supermemory | SQLite | 内建向量索引 | 内建 Memory Graph | 需要 LLM |
| letta | PostgreSQL/SQLite | pgvector | - | 需要 LLM |
| graphiti | - | Neo4j 内建 | Neo4j/FalkorDB/Kuzu | 需要 |
| cognee | SQLite | 多种可选 | Neo4j/NetworkX | 可选 Ollama 本地 |
| MemOS | SQLite | Milvus 等 | - | 需要 LLM |
| DB-Agent-Memory | SQLite + sqlite-vec | 内建 | - | 零外部 API |
DB-Agent-Memory 的”零外部依赖”是其最大差异化特征——只需要 Node.js 和 SQLite,不依赖任何外部向量数据库或图数据库服务。
语言生态对比
| 项目 | 语言 | 包管理 | 适合接入的框架 |
|---|---|---|---|
| mem0 | Python | pip | LangChain/LlamaIndex/CrewAI |
| supermemory | TypeScript | npm | Claude/Cursor(MCP 服务器) |
| letta | Python | pip | 自成体系(完整 Agent 框架) |
| graphiti | Python | pip | LangGraph/任何 Python Agent |
| cognee | Python | pip | LangChain/LlamaIndex/自有 API |
| MemOS | Python+TS | pip+npm | 自有 API |
| DB-Agent-Memory | TypeScript | npm | OpenClaw/Hermes/MCP |
DB-Agent-Memory 和 supermemory 是仅有的两个 TypeScript 项目,在 npm 生态中有天然优势。
记忆检索方式对比
| 项目 | BM25 关键词 | 向量语义 | 图谱遍历 | 混合检索 |
|---|---|---|---|---|
| mem0 | - | ✓ | ✓(可选) | 向量+图 |
| supermemory | ✓ | ✓ | ✓ | 三流融合 |
| letta | - | ✓ | - | 向量为主 |
| graphiti | - | ✓ | ✓(核心) | 图+向量 |
| cognee | - | ✓ | ✓ | 向量+图 |
| MemOS | - | ✓ | - | 向量为主 |
| DB-Agent-Memory | ✓ | ✓ | - | BM25+向量 |
代码量级对比
mem0: ~1,673 files
letta: ~1,155 files
cognee: ~2,290 files
supermemory: ~965 files
MemOS: ~1,796 files
graphiti: ~200 files(核心精简)
TencentDB-Agent-Memory: ~90 TS files(最精简)
DB-Agent-Memory 代码量最小,约 90 个 TypeScript 源文件,通读成本最低。
学习价值排序
从”理解 AI Memory 设计”的角度:
- DB-Agent-Memory — 代码最精简,4 层金字塔设计清晰,TypeScript 可读性好,最适合通读
- mem0 — 赛道标杆(55K star),理解”扁平事实提取”的基准实现
- graphiti — 时序知识图谱方向的代表,核心代码仅 200 文件,设计精巧
- letta/MemGPT — 理解”Agent 自管理记忆”的经典论文实现
- cognee — ECL 管线设计有学术价值
- supermemory — TypeScript 同语言对比,MCP 集成参考
- MemOS — “记忆 OS”抽象有趣但代码量大,优先级低
推荐阅读路线
- 先通读 DB-Agent-Memory 的 4 层管线(~90 文件,2-3 天)
- 对比 mem0 的扁平事实提取(理解”为什么需要分层”)
- 对比 graphiti 的时序图谱(理解”另一种分层思路”)
- 如果时间允许,读 letta 的虚拟内存设计(理解”Agent 自主记忆管理”)
这个阅读顺序会让你从”理解一种设计” → “理解设计取舍” → “理解替代方案”递进。
生产级 Coding Agent 内建记忆:开源库之外的另一个世界
上面 7 个项目都是独立记忆库——它们被设计成可插拔的组件,任何 Agent 框架都能接入。但 2025-2026 年最成功的 Coding Agent(Claude Code、Codex、Cursor)走了一条完全不同的路:把记忆直接内建到 Agent 里,不依赖任何外部记忆库。
这种”内建记忆”和”独立记忆库”的差异,可以类比为手机内置相机 vs 专业单反相机:内置相机和系统深度集成(自动优化、即拍即用),专业单反功能更强但需要额外配置。
三条路线的分化
生产级 Agent 的记忆实现分化为三条技术路线:
路线一:文件即记忆(Claude Code)。Claude Code 的 memdir 模块把记忆存储为 Markdown 文件(MEMORY.md + 按项目/用户分层的目录结构)。读取时 Sonnet 模型从索引中挑选最多 5 个最相关的文件;写入时 extractMemories 在会话结束后用独立 Agent 从对话中提取值得记住的内容。核心设计哲学是人机协作——用户可以直接编辑 MEMORY.md,记忆文件本身就是人类可读的笔记。详见 Claude Code 记忆深度剖析。
路线二:两阶段异步管线(Codex)。Codex 的 memories 模块分为 Phase1(并行提取,concurrency=8)和 Phase2(全局整合 Agent)。Phase1 在每次任务完成后立即从对话中提取候选记忆条目,存入 SQLite staging 表;Phase2 是一个沙箱化的整合 Agent,以 6 小时冷却期触发,读取所有 staging 条目 + 现有 memories.md,用 git-diff 格式做增量更新。核心设计哲学是全自动——用户无需手动维护记忆。详见 Codex 记忆深度剖析。
路线三:Profile 文件 + MCP 桥接(Cursor 等)。Cursor 用 .cursor/rules/ 目录存储项目级 Profile,通过四种 apply 模式(alwaysApply / globs / description / manual)控制何时注入上下文。记忆不是自动提取的,而是开发者手动编写的规则文件。MCP 协议让外部记忆服务(supermemory、DB-Agent-Memory 等)可以作为”记忆后端”接入,形成桥接层。详见 MCP 记忆桥接层。
与开源记忆库的关键差异
| 维度 | 开源记忆库(mem0/Graphiti 等) | 生产级内建记忆(Claude Code/Codex) |
|---|---|---|
| 定位 | 通用记忆基础设施 | 特定 Agent 的内建组件 |
| 存储 | 向量数据库 / 图数据库 | 纯文本文件(Markdown) |
| 提取 | 实时(每轮对话) | 异步(会话结束后 / 定时) |
| 检索 | 向量相似度 / 图遍历 | LLM 直接阅读文件内容 |
| 用户参与 | 通常不可见 | 可直接编辑(Claude Code) |
| 外部依赖 | 需要数据库服务 | 零依赖(文件系统即可) |
这个对比表中最值得注意的是存储和检索的差异:开源库用向量数据库做语义检索,生产级 Agent 直接让 LLM 阅读 Markdown 文件。后者看起来”原始”,但在记忆总量可控(Claude Code 限制索引文件 200 行 / 25KB)的场景下,LLM 直接阅读的”理解深度”远超向量检索的”语义匹配”。
更完整的对比矩阵(12 维度 x 8 系统)见 生产级 vs 开源记忆对比;Claude Code 与 Codex 的正面对决见 Claude Code vs Codex 记忆对比。
B 线扩展研究导读
上述”三条路线”只是冰山一角。B 线扩展研究沿六条研究轴展开了更系统的探索:
A 轴(消费级 AI 记忆):ChatGPT Memory 和 Gemini 个人上下文代表了面向终端用户的记忆设计——重隐私、重可控性、轻结构化。与 Coding Agent 的自动化倾向截然不同。详见 消费级 AI 记忆横评。
B 轴(Coding Agent 记忆横评):除了 Claude Code 和 Codex,还横向覆盖了 OpenClaw(Pre-compaction flush + Dreaming 整合)、Cursor(Memories Beta + Rules 体系)、Aider(conventions.md + map-repo)、Continue(.continuerules + @docs 上下文)六个 Coding Agent 的记忆实现。详见 Coding Agent 记忆横评。
C 轴(Profile vs User Memory 边界):CLAUDE.md / AGENTS.md / .cursor/rules 都是 Profile 文件,不是真正的 User Memory。两者在写入方式、检索能力、遗忘机制、冲突处理、协作场景五个维度上有根本差异。Memory Bank 社区模式是用 Profile 模拟 Memory 的典型案例,揭示了过渡阶段的真实需求。详见 Profile 与 User Memory 边界。
D 轴(MCP 记忆拓扑):MCP 正在成为跨 Agent 记忆共享的标准——三种部署拓扑(Host-Adapter、Pure Server、混合)各有适用场景。DB-Agent-Memory 的 Host-Adapter 架构在多 Agent 订阅和 workspace 隔离方面有独特优势。详见 MCP 记忆拓扑精读。
E 轴(框架内建记忆):tRPC-Agent-Go(Fact/Episode 双层)、Letta(Core/Archival Agent 自管理)、LangGraph(Store + cross-thread)三种框架走了完全不同的记忆路线。详见 框架内建记忆横评。
F 轴(设计模式 + 概念边界):跨所有项目抽象出 8 种记忆设计模式(flush、索引+检索、pipeline、金字塔、虚拟内存、时序图、MCP 外挂、Rules-as-Memory-Bank)。Memory 和 RAG 的边界在”提炼后知识”区域有重叠但不可互换。详见 记忆设计模式目录 和 Memory 与 RAG 边界。
犀牛鸟聚焦:DB-Agent-Memory 在腾讯记忆生态中的定位——与 WeKnora(RAG 平台)、OpenClaw(Coding Agent)、MemOS(记忆 OS)的协同关系。详见 腾讯记忆生态。