content/02-agent/deep-topics/memory/memory-oss-teardown.md

开源 AI 记忆项目深度拆解

方法论见 记忆模块调研方法论;三大商用方案对比见 AI 记忆模块调研报告。候选清单见同目录 OSS candidates。 本篇用 8 维度逐项拆解 6 个代表不同范式的开源项目。时间基准 2026-06。评分 1-5;⚠ 表示不确定/需核实。所有字段名尽量取自源码。

项目范式一句话综合
Letta / MemGPTOS 式分层core/recall/archival 分层 + LLM 自管换页 + stateful server~4.6
mem0事实抽取式LLM 抽事实 + ADD/UPDATE/DELETE/NOOP 决策(赛道事实标准)~3.9(争议见维度7)
Graphiti / Zep时序知识图谱双时态图 + 软遗忘 + 检索期零 LLM~4.5
Cognee图谱构建层(GraphRAG)ECL 管线把任意数据抽成可推理图~4.1
Memobase结构化用户画像profile 槽位(topic/sub_topic/content) + event 时间线~4.4
A-MEM自组织(Zettelkasten)atomic note + LLM 记忆进化/自链接~3.25(学术满分/工程偏弱)

Letta、mem0 另有独立专文:MemGPT/Letta 入门指南、mem0 译文 记忆是什么·为什么·怎么做 / 从 RAG 到 Agent Memory;此处按统一 8 维度补入以便横向对比。


1. Graphiti / Zep —— 时序知识图谱(27k★ Apache-2.0,v0.29.2)

范式定位:把对话/数据抽成 节点-边-节点 三元组,边上挂"事实句",用四时间戳双时态做软遗忘;检索是纯算法 hybrid(向量+BM25+图遍历+RRF/MMR/cross-encoder),检索期零 LLM 调用

维度实现要点
1 类型边界三层子图:Episode(原始)/Entity(抽取实体+事实边)/Community(聚类摘要),原始与抽取都留5
2 写入add_episode() 增量摄取 → extract_nodes → 实体消解 resolve(embedding+全文找候选,LLM 判同一实体合并) → extract_edges → 每条新边一次 LLM 失效判断5
3 检索hybrid + RRF 融合 + 可选 rerank(mmr/cross_encoder/node_distance/episode_mentions);16 个预设 recipe;search(query, center_node_uuid=)5
4 存储图库可插拔(Neo4j 主力/FalkorDB/Neptune/Kuzu弃),向量+全文索引由图库本身承载,非独立向量库4
5 遗忘核心:矛盾时旧边 invalid_at ← 新边 valid_at(现实时间轴关闭),系统作废设 expired_at(事务时间轴),历史永不物理删除,支持时间点回溯5
6 工程/可观测graphiti-core + MCP server + REST;不绑 Zep 云可自托管;边带 episodes 可溯源到原文,可解释性强4
7 评估DMR 94.8%(略胜 MemGPT 93.4%);LongMemEval(gpt-4o) 71.2% vs 60.2%,上下文 115k→1.6k token、延迟降~90%(厂商自评论文4
8 生态27.4k★、196 releases、迭代极频繁、Apache-2.05

EntityEdge 核心字段(边即"事实"):

fact: str                  # 自然语言事实句
fact_embedding: list[float]
episodes: list[str]        # 产生此事实的 episode uuid(溯源)
valid_at / invalid_at      # 现实时间轴:事实何时真/失效
expired_at / created_at    # 事务时间轴:系统何时作废/知道
group_id                   # 图分区键(多租户隔离)

总评:需要"知识会过时、且失效要可追溯"的长期 agent 记忆(个人助理偏好、CRM/客服业务状态、时态推理)——双时态软遗忘是同类开源最完整的。局限:写入 LLM 密集(每边一次失效判断)成本/延迟高;时态正确性仍有边界 bug(时区比较 #920、回填 #1489);失效判断依赖 LLM 质量;评估为厂商自评。


2. Cognee —— 图谱构建层 / GraphRAG(18k★ Apache-2.0,v1.1.2)

范式定位"LLM 驱动的知识图谱构建层 + 混合检索",对外包装成 memory。核心不是记忆条目存储,而是把任意数据通过 ECL 管线(Extract-Cognify-Load) 抽成实体-关系图 + 向量索引。

⚠ v1.1.x 有两层 API:高层 remember/recall/forget/improve(营销叙事) 与底层 add/cognify/search/memify(真正核心,教程/源码主用)。以底层为准。

维度实现要点
1 类型边界偏"知识图谱构建层(GraphRAG-as-memory)",存实体+边+chunk+摘要+向量;非对话 scratchpad4
2 写入(ECL)核心add()(ingest) → cognify()(LLM 抽实体关系成图)。默认 Task DAG:classify→chunk→extract_graph_and_summarize→add_data_points→fk_edges;run_tasks() 可完全自定义 pipeline5
3 检索search(query, query_type=SearchType.X):GRAPH_COMPLETION(默认)/RAG_COMPLETION/CHUNKS/INSIGHTS(三元组)/CYPHER/NATURAL_LANGUAGE/TEMPORAL 等十余种5
4 存储三件套可插拔:图库(Kùzu/NetworkX 默认,Neo4j/FalkorDB/Neptune) + 向量(LanceDB 默认,pgvector/Qdrant/Milvus) + 关系(SQLite/Postgres)5
5 遗忘prune.prune_data()/prune_system() 全量重置 + 数据集级 forget()incremental_loading + source_content_hash 去重;细粒度单实体失效/TTL 弱3
6 工程/本体DataPoint(pydantic 基类,含 index_fields/source_content_hash/version) 可自定义本体;cognify(graph_model=YourModel) 换本体4
7 评估arXiv 2505.24478 Dreamify(HPO 超参搜索)把 HotpotQA F1 0.169→0.840,但无横向对手对比 + 训练测试同分布,可信度打折3
8 生态17.8k★、v1.1.2 活跃、Apache-2.0、集成丰富(MCP/Redis/Qdrant/Neptune);⚠ 融资金额未在官方查到4

DataPoint 关键字段id/created_at/updated_at/version/source_content_hash(去重)/metadata{index_fields} —— index_fields 决定哪些字段进向量库。

总评:把异构文档/库转成可推理知识图谱 + 混合检索的 GraphRAG 底座(多跳问答、实体溯源、自定义本体、图库/向量库可插拔)。局限:细粒度遗忘弱(prune 偏全量重置);cognify 每次靠 LLM 抽取,高频小增量成本高;benchmark 含超参过拟合且自评;双层 API 易混淆。


3. Memobase —— 结构化用户画像(2.8k★ Apache-2.0)

范式定位:以结构化 user profile 为一等公民,把对话抽成 topic/sub_topic/content 三段槽位(而非自由文本片段),另存 event 时间线。画像检索 embedding-free(纯 SQL,<100ms);event 走 pgvector。

维度实现要点
1 类型边界Profile(三段式槽位,内置 8 topic:basic_info/contact/education/demographics/work/interest/psychological/life_event,可自定义) + Event(summary/tags/profile_delta/time)5
2 写入insert(ChatBlob) → buffer 缓冲 → flush 触发(满 1024 token / 隔 3600s / 手动) → LLM 抽取+合并(APPEND/UPDATE/ABORT 三选一)5
3 检索profile() 纯 SQL 读结构化 JSON(<100ms,免 embedding);context() 返回可直接拼 prompt 的字符串;event 走向量 search5
4 存储FastAPI+Postgres(+pgvector)+Redis;user_profilescontent TEXT+attributes JSONB(无向量列),user_events 才有 Vector4
5 遗忘默认 UPDATE 覆盖;sub_topic 的 update_description 指导保留策略;超 token 触发 re-summarize、超 15 sub_topic 触发 reorganize;无 TTL/衰减4
6 工程Python/Node/Go SDK + REST;docker 自托管 / 云;多租户 project_id;可观测文档薄4
7 评估repo 内 LoCoMo(LLM Judge):overall 75.78% > mem0 66.88% > Zep 65.99%;Temporal 85% 大幅领先,但 Multi-Hop 输给 mem0(自报数字)4
8 生态2.7k★、Apache-2.0、多语言 SDK;⚠ 近半年 push 放缓、无正式 release notes4

自定义 profile schema

additional_user_profiles:
  - topic: "gaming"
    sub_topics: [{name: "FPS"}, {name: "RPG", update_description: "保留最高段位"}]

总评:长期 1:1 对话的陪伴/教育/客服/角色扮演 chatbot——结构化画像可直接喂 prompt、可审计、可人工修正,产品化体验接近 ChatGPT memory,延迟敏感场景友好。局限:强依赖 LLM 抽取/合并质量;画像偏静态人口学属性,Multi-Hop 跨片段推理弱;"<100ms"仅画像路径(event search 回到 500ms+);无 TTL;⚠ 你之前提的 "<80ms" 官方未证实(仅见 <100ms)。


4. A-MEM —— 自组织 Zettelkasten(1k★ MIT,NeurIPS 2025,⚠维护近停滞)

范式定位:把卡片盒笔记法落地到 agent 记忆——每条是含结构化属性的 atomic note,写入时 LLM 自动生成 keywords/tags/context,并与历史 note 动态建链 + 反向更新旧 note 属性(记忆进化)

维度实现要点
1 类型边界单一 MemoryNote:content/keywords/tags/context(一句话描述)/links/timestamp/last_accessed/retrieval_count/evolution_history5
2 写入(进化)核心analyze_content() LLM 抽 keywords/context/tags → process_memory() 找 k 近邻 → 进化 LLM 返回 should_evolve/actions[strengthen,update_neighbor]/suggested_connections/new_context_neighborhood反向覆盖邻居旧 note 的 context/tags5
3 检索search() 纯 embedding;search_agentic() = embedding + 命中 note 的 links 邻居。⚠ 已知 bug:ChromaDB 用 L2 当 cosine(#24)、score 语义反转(#23) 未修3
4 存储ChromaDB(既向量库又元数据库),embedding=all-MiniLM-L6-v2;note 属性序列化进 metadata(读时 literal_eval)4
5 遗忘进化 update_neighbor 就地覆盖旧 context/tags(有损);有 delete()无衰减/TTL,只增不减2
6 工程研究原型:每条写入 ≥2 次 LLM 调用(慢且贵,p50 检索 0.668s);无可观测;bug 积压2
7 评估LoCoMo 6 模型 5 类;Temporal 45.85 vs 基线 18.41 大幅领先;但 多份第三方论文显示 mem0 多数类别反超 A-MEM,且 LoCoMo 赛道有可复现争议3
8 生态1k★、MIT、⚠ Issue#16"项目死了吗"无回复、核心 bug 长期未修、近纯学术2

记忆进化伪代码

def add_note(content):
    attrs = LLM.analyze_content(content)            # keywords/context/tags
    note  = MemoryNote(content, **attrs)
    neighbors = find_related_memories(note.content, k=5)   # embedding 近邻
    resp = LLM(EVOLVE_PROMPT(note, neighbors))      # should_evolve / actions / ...
    if resp["should_evolve"]:
        if "strengthen" in resp["actions"]:
            note.links += resp["suggested_connections"]
        if "update_neighbor" in resp["actions"]:
            for i, nb in enumerate(neighbors):
                nb.context = resp["new_context_neighborhood"][i]   # 反向覆盖旧 note

总评最值得借鉴的是 schema 设计 + 记忆进化 prompt 协议(可抄进自己系统),向量+link 混合检索方向也对。作为生产库不可用:写入重度依赖 LLM(慢贵)、检索有未修的度量 bug、无生命周期管理、维护停滞——建议只借鉴其 note schema 与 evolution 逻辑,存储/检索层自行重写(对照 mem0 工程化)。


5. Letta / MemGPT —— OS 式分层(23k★ Apache-2.0,v0.16.8)

范式定位:把上下文窗口当 OS 的 RAM,用分页/换页管理记忆。in-context 的 core memory(LLM 可自改) + out-of-context 的 recall(对话历史)和 archival(向量库),全部由 stateful agent server 持久化到 Postgres。是 MemGPT 论文的工程化产品形态(2024 改名 Letta)。

维度实现要点
1 类型边界核心:core(RAM,persona/human block,常驻 prompt,字符 limit) / recall(对话历史,可搜) / archival(主动写入知识,向量,无上限);main context = system + working context + FIFO queue5
2 写入LLM 用工具自管:core_memory_append/replacearchival_memory_insert(content,tags)换出触发:prompt 达上下文 70% 注入警告→LLM 主动归档,100% flush ~50% queue 并递归摘要5
3 检索archival_memory_search(query,tags,page) 向量检索、conversation_search 搜 recall;结果进 FIFO queue 即"page-in",LLM 再决定固化到 core4
4 存储stateful server,state 全在 DB(可多实例水平扩展);pip 默认 SQLite(不支持迁移),生产用 Postgres+pgvector(LETTA_PG_URI)5
5 遗忘core 满靠 LLM replace 压缩;recall 递归摘要;archival 无上限单调增长Sleep-time agents(idle 时后台重组记忆)是相对论文的演进3.5
6 工程/可观测ADE(可视化 IDE,实时看/改 core blocks、上下文层级、工具调用);REST + Py/TS SDK;每 agent 持久化为对象5
7 评估MemGPT 论文 DMR:+GPT-4 Turbo 93.4%(裸 35.3%);nested-KV 全程 100%;但 DMR 已饱和(Zep 报 94.8%)4
8 生态23.3k★、177 releases、Apache-2.0、迭代活跃5

memory block 结构{label, description, value(整块覆盖), limit(字符上限), read_only} + 元数据 chars_current/chars_limit

总评:需要跨会话长期个性化 + 记忆状态可视化可审计 + agent 自维护画像的有状态助手;想开箱即用 stateful server + ADE 而非自拼 RAG 栈。局限:写入/换页强依赖 LLM 主动发起(召回漏检 + token/延迟成本);archival 无淘汰单调增长;复杂关系记忆不如图记忆精准;生产必须上 Postgres+pgvector。


6. mem0 —— 事实抽取式(58k★ Apache-2.0,赛道事实标准)

范式定位:不存原始对话,LLM 抽取候选事实 → 与已有记忆比对做 ADD/UPDATE/DELETE/NOOP LLM 决策。开源 Agent 记忆事实标准之一,但 benchmark 数字有公开争议。

维度实现要点
1 类型边界事实抽取(丢原文);四级作用域 user_id/run_id/agent_id/app_id;base(向量) vs mem0^g(Neo4j 图,实体-关系,时序更强)4
2 写入(add)核心:①抽取候选事实 ②对每条取 top-k 相似旧记忆,LLM function-call 选 ADD/UPDATE/DELETE/NOOP(冲突合并交给 LLM 而非规则);infer=false 可逐字原样存;⚠ v3 平台改异步 ADD-only(返回 PENDING+event_id 轮询)4.5
3 检索向量相似 + 元数据过滤(作用域),返回 score;排序 user→session→raw;v3 平台升级 hybrid(向量+BM25+实体)4
4 存储三层:向量库(Qdrant 默认,可换) + 图(Neo4j,可选) + 历史 DB(SQLite 审计)4.5
5 遗忘update/delete/delete_all/history(审计轨迹);DELETE 决策=隐式遗忘;run_id 称自动过期但无明确 TTL 配置3.5
6 工程/可观测OSS 自托管 vs Platform;Py/TS SDK + CLI;API add/search/get_all/update/delete/history;深度可观测需自建4
7 评估⚠⚠ 重点争议:自报 LoCoMo "比 OpenAI 内置 +26%/p95 -91%/token -90%"(新版自报 91.6),但 Zep 公开反驳(指其集成 Zep 有误、full-context 反而 ~73% > mem0 ~68%)+ 官方 issue #3944 复现仅 ~0.20(时间戳 bug)。别把数字当既定事实2.5
8 生态~58.6k★(头部)、Apache-2.0、活跃、ECAI 2025、常作对比基准4.5

add() 返回(v1.1){"results":[{"id","memory","event":"ADD|UPDATE|DELETE|NONE","previous_memory"?}]}

总评:长期个性化助手/多轮 Agent,需跨 session 记偏好且 token 敏感(抽取压缩上下文);想开箱即用、Apache-2.0、双 SDK、多租户隔离。局限:① benchmark 可信度有实质争议(Zep 反驳 + #3944 复现失败),选型勿轻信自报数字;② 抽取丢原文 + 每次 add 有 LLM 成本,时序处理出过 bug;③ 无内建 TTL/衰减;④ v3 异步化增集成复杂度。


横向对比矩阵

维度 \ 项目Lettamem0GraphitiCogneeMemobaseA-MEM
范式OS 分层事实抽取时序图谱图谱构建层用户画像自组织 note
记忆单元core/recall/archival抽取的事实节点+事实边实体+边+chunkprofile 槽位+eventatomic note
检索archival 向量+换页向量+过滤(score)hybrid(零 LLM)图/向量/NL→Cypherprofile=SQL,event=向量embedding+link
遗忘机制递归摘要+sleep-timeUPDATE/DELETE 决策(无TTL)双时态软失效全量 pruneUPDATE 覆盖+重组进化覆盖(无TTL)
写入成本高(LLM 自管)中高(抽取+决策 LLM)高(每边 LLM)高(cognify LLM)中(flush 批量)高(每条≥2 LLM)
schema 亮点memory blockevent ADD/UPDATE/DELETE边挂 fact+四时间戳DataPoint+本体topic/sub_topic/contentnote+evolution
评估可信DMR 已饱和有复现争议厂商自评含超参过拟合自报(Temporal强)第三方反超
生产可用✅ 成熟✅ 成熟(争议)✅ 较成熟✅ 较成熟✅ 中上❌ 研究原型
综合~4.6~3.9~4.5~4.1~4.4~3.25

检索实现对比(各家 search 到底怎么做)

共性:除 Graphiti(hybrid)外,多数核心检索仍是"向量相似 + 过滤",图/link 是增强。

项目检索机制过滤维度rerank/融合返回
Lettaarchival 向量(embedding 相似);recall 走 conversation_searchtags、pagepassage 进 FIFO queue(page-in),LLM 再决定固化
mem0query 向量化 → ANN(Qdrant)user/agent/run_id + metadata + thresholdv3 hybrid(向量+BM25+实体);base 无memory + score
Graphitihybrid:向量 + BM25 + 图遍历group_id + SearchFiltersRRF 融合 + 可选 mmr/cross_encoder/node_distance/episode_mentionsEntityEdge 列表(检索期零 LLM)
CogneeSearchType 切换dataset/node_set依类型GRAPH_COMPLETION(图+LLM 生成)/RAG(向量)/CHUNKS/INSIGHTS(三元组)/CYPHER/NATURAL_LANGUAGE
Memobaseprofile=纯 SQL 拼接(免 embedding,<100ms);event=pgvector 向量only_topics/prefer_topicsprofile 可选 LLM 语义重排profile() 结构化 JSON / context() 可直接拼 prompt 的串
A-MEMsearch() 纯 embedding(ChromaDB);search_agentic()=embedding + 命中 note 的 links 邻居⚠ 实现用 L2 当 cosine(bug #24)note + metadata

mem0 search() 详细流程(最常被问):

search(query, user_id=, limit=, threshold=, filters=)
 1. query → embedding(默认 text-embedding-3-small)
 2. 向量库 ANN 相似检索取候选
 3. 按 user_id/agent_id/run_id + metadata 过滤(多租户隔离)
 4. threshold(相似度下限) + limit 截断;隐式排序 user→session→raw
 5. 返回 [{id, memory(事实文本), score, metadata, created_at, updated_at}]

mem0 检索的是 add() 阶段已抽取/去重/去冲突后的"事实",不是原始对话——所以只需召回少量高质量事实即可,这是它省 token 的根因。开启 mem0^g(Neo4j) 后额外用实体-关系图遍历增强时序/跨事实推理。


记忆记录 schema 对照 + 推荐自建 schema

6 家记忆单元字段对照

项目记忆单元关键字段去重/版本是否带向量
Lettamemory block / archival passagelabel/value/limit/description/read_onlyarchival 带
mem0事实记录id/memory/hash(MD5)/metadata/categories/user_id,agent_id,run_id/created_at/updated_at/scoreMD5 去重
GraphitiEntityEdge(边=事实)fact/fact_embedding/episodes/valid_at/invalid_at/expired_at/created_at/group_id时态版本
CogneeDataPointid/created_at/updated_at/version/source_content_hash/metadata{index_fields}/ontology_validcontent_hash + versionindex_fields 决定
Memobaseprofile 槽 + eventprofile:content TEXT+attributes JSONB(topic/sub_topic);event:event_data JSONB+VectorUPDATE 覆盖仅 event 带
A-MEMMemoryNotecontent/keywords/tags/context/links/timestamp/last_accessed/retrieval_count/evolution_history进化覆盖ChromaDB

推荐自建 schema(融合 6 家优点,可直接建表)

CREATE TABLE memory_record (
  id            UUID PRIMARY KEY,
  content       TEXT NOT NULL,          -- 抽取后的事实(mem0/Memobase 思路,非原文堆叠)
  content_hash  CHAR(64),              -- 去重(mem0=MD5)
  embedding     VECTOR(1536),          -- 放向量库
  user_id TEXT, agent_id TEXT, run_id TEXT,  -- 四级作用域(mem0)
  memory_type   TEXT,                  -- episodic|semantic|procedural(A-MEM/Letta 分层思想)
  topic TEXT, sub_topic TEXT,          -- 结构化画像槽(Memobase)
  categories    TEXT[], keywords TEXT[], links UUID[],  -- 标签+自链接(A-MEM)
  source        TEXT, confidence REAL, -- 溯源(Graphiti episodes)+置信度
  valid_at TIMESTAMPTZ, invalid_at TIMESTAMPTZ,  -- 双时态软遗忘(Graphiti)⭐
  created_at TIMESTAMPTZ NOT NULL, updated_at TIMESTAMPTZ, last_accessed_at TIMESTAMPTZ,
  ttl INTERVAL, is_deleted BOOLEAN DEFAULT FALSE,
  metadata JSONB
);
-- 配套:历史审计表(mem0 history:old/new/event) + 可选图层(实体-关系)

完整 schema 设计推导见 AI 记忆模块调研报告 专题 C。


离线合成 / 记忆巩固对比(实时 vs 后台提炼)

对照 survey 里"各家 Dreaming":商用侧 OpenAI(Dreaming)、Anthropic Managed Agents(Dreams)、Claude Code(autoDream,扒二进制 v2.1.177 证实:≥24h+≥5 会话、夜间 1–5am 后台巩固 memory,服务端灰度+官方未文档化) 都有后台离线合成;OSS 这边——

项目写入时机离线/批量巩固
Letta实时(LLM 工具)Sleep-time agents:idle 时后台重组/精炼 block(consolidation)
A-MEM实时(每条触发邻居进化)consolidate_memories()evo_threshold(默认100) 次重建 collection
Memobaseinsert 进 buffer✅ 半离线:异步 flush 批量抽取 + re-summarize/reorganize 巩固
Cogneeadd→cognify◐ cognify 可 run_in_backgroundmemify() 后处理 enrichment
mem0add 同步 AUDN◐ v3 平台改异步队列;无专门"巩固"阶段
Graphiti实时增量(每边 LLM 失效判断)❌ 无离线巩固——失效是实时判定的(写入即处理)

要点:Letta sleep-time / A-MEM evolution 是 OSS 里最接近"dreaming 式离线提炼"的;Graphiti 走相反路线(实时失效,无需离线整理)。


Benchmark landscape(评测体系 + 可复现争议)

Benchmark测什么现状
DMR(MemGPT/MSC)跨会话事实回忆已饱和(90%+,MemGPT 93.4%/Zep 94.8%),区分度低
LoCoMo长对话 QA,5 类(single/multi-hop/temporal/open-domain/adversarial),~16–26k token主流但被批太弱(现代上下文可直接塞下)+ adversarial 类缺 ground truth
LongMemEval更难、更贴企业长程新主力,区分度更好
BEAM(1M)超长上下文记忆较新

⚠ 可复现争议(选型必读)

  • mem0 自报 LoCoMo "+26%/-91%/91.6",但 Zep 公开反驳(指其集成 Zep 有误、full-context baseline ~73% 反而高于 mem0 ~68%)。
  • mem0 官方 issue #3944 复现仅 ~0.20(时间戳 bug)。
  • Zep 自己 84% 也被第三方修正到 58.44%。
  • 多份第三方论文显示 mem0 在多数 LoCoMo 类别反超 A-MEM

结论:所有厂商自报记忆 benchmark 都应标注"自评 + 有复现争议",认真选型须自己用固定模型版本跑 ≥5 次取均值。


能直接借鉴到自己记忆层的点

  • 遗忘:抄 Graphiti 的 双时态valid_at/invalid_at 区分"世界变了",expired_at 区分"认知改了")——比硬删除强得多。
  • schema:抄 Memobase 的 topic/sub_topic/content 画像槽位(产品化友好) + A-MEM 的 note 富属性(keywords/context/links)。
  • 写入合并:抄 mem0/Memobase 的 ADD/UPDATE/DELETE(ABORT) LLM 决策,避免重复堆叠。
  • 检索:抄 Graphiti 的 hybrid + RRF + 检索期零 LLM(成本/延迟最优)。
  • 写入管线:抄 Cognee 的 Task DAG(ECL 可组合)做工程化抽取。

⚠ 核对清单(写公开内容前)

  1. 各项目 star/release/最近 push 为 2026-06 数量级,以当日 GitHub 为准。
  2. 所有 benchmark 数字多为项目自报(LoCoMo 赛道有公认可复现争议:Zep 反驳 mem0、mem0 #3944 复现失败)——引用须标注自报性质。
  3. Graphiti 时态 bug(#920/#1489)、A-MEM 检索 bug(#23/#24) 状态可能已变。
  4. Memobase "<80ms" 未证实(官方 <100ms);Cognee 融资金额未查到;Cognee SearchType 枚举跨版本有出入。
  5. 字段名取自当时源码,版本更新可能变化。

来源(按项目)

评论