一句话判断:这条视频的真正价值不在"框架横评",而在它给出的选型前置提问框架——记给谁、记什么、记多久、怎么取(约前 5 分钟)。后半段对 Mem0 / Zep / Letta / Claude Code 的介绍是二手速览,几分钟就能在官方文档里看到更准确版本,且其中两处数字表述不严谨;如果你已经读过这些框架的文档,可以直接跳到结尾的"从最轻方案起步"结论。
字幕是机器转写,专有名词几乎全军覆没。为免读者被误导,先对齐:
| 转写稿 | 实际指 |
|---|---|
| Mm0 / m零G | Mem0(论文里发音为 "mem-zero")[1] |
| ZEB / Zep | Zep,其开源引擎是 Graphiti [5] |
| let a / lanm | Letta(原 MemGPT,"MGP" 即 MemGPT)[2][6] |
| newo4G | Neo4j [5] |
| kuZu | Kùzu(嵌入式图数据库)[4] |
| 机器图谱 | 知识图谱(knowledge graph) |
| 大叔看看借口 / 记器图谱 / 向意向 | "文档、接口" / "知识图谱" / "语义向量"(均属转写噪声) |
另外,稿中"manlyZB let aline man论文"大概率是"Mem0、Zep、Letta 等论文",无法确证,不做推断性补全。
视频事实:作者的出发点是"大部分开发者一上来就选框架",他认为这个顺序反了——类比"还没想清楚要存什么数据就先比 MySQL 和 MongoDB,评估三天后发现 JSON 文件就够"。他给出的替代路径是先把四个问题想清楚,再从最轻的方案起步,遇到瓶颈再升级。
受众推断:正在做 LLM 应用、刚开始考虑长期记忆的独立开发者/小团队;不是已经在跑多租户记忆系统的人。7 分 21 秒的体量 + 全程口语复述,属于"观点+扫盲"型内容,不是工程教程。
作者的立场(应视为判断,不是行业事实):
视频事实:分三种——① 单用户私有记忆(一个用户一个空间,不存在冲突);② 多用户共享(团队知识库、产品 FAQ),立刻引出"谁能写、谁能读、两人同时改一条怎么办";③ agent 自己的经验(上次遇到类似问题用了什么策略、效果如何),其特殊性在于"生产者和使用者是同一个 agent"。
补全(参考+推断):②③ 其实各自对应成熟工程领域的旧问题。多用户共享记忆 = 多租户数据隔离 + 并发写冲突(这套问题在数据库与协作编辑领域有几十年积累,典型解法是命名空间/租户分区、乐观并发与版本号)。agent 自身经验记忆则最接近强化学习里的"策略/经验复用"与反思类方法(reflection)。推断:作者把 ③ 单列是这条视频里最有洞察的一点,但他没展开——因为 ③ 会带来一个 ①② 都没有的风险:错误的自我经验会被反复强化,且没有人类审核环节。
视频事实:四类——① 信息(姓名、住址、注册时间,"结构清楚,存取都容易");② 偏好("喜欢简洁回复""不爱表情包""习惯晚上 10 点后提问",比信息模糊,但文本能表达);③ 行为模式("上次这么处理效果好""该客户用某模板能搞定",强调"这不是信息,是实际经验");④ 关系("江三和李四同系,李四在某公司",文本很难表达,必须结构化存实体间的连接)。
补全(参考):这个四分法与学术/工业界常见的记忆分类基本可对齐——语义事实(semantic)、偏好/用户画像(preference/profile)、情景经验(episodic,即 ③)、以及关系型结构(relational/graph)。我这里没有找到把"信息/偏好/行为/关系"作为标准四分类的权威文档,故视为作者自创的分类框架,它好用,但不是行业术语,搜索时别按这四个词找。
视频事实:这是他强调"很多人会忽略"的一点——信息会过期(搬家、口味变、技术栈迁移),不处理不会自动消失,只会越堆越多,"记忆库变成垃圾堆,检索时旧信息混进来,精度反而下降"。他点名 Zep 的做法"挺聪明":每条记忆带一个时间窗口(例如"江三住在北京"标注截至某年某月),过期不是删除而是标记失效,新信息进来自动覆盖,查询拿到的永远是最新版本。
补全并核验(参考):Zep 的引擎 Graphiti 确实是"时间优先"的设计,每条边带 valid_from / valid_to / invalid_at 有效性窗口,能回答"客户搬家前的地址是什么""Q2 调整前的预算是多少"这类问题;同源的对比材料也明确指出 Mem0 没有原生时序模型(记忆只在创建时打时间戳,没有事实有效期/被取代的概念)。以上均来自 [5],而 [5] 是 Vectorize 公司(卖自家记忆产品 Hindsight)的对比页,属厂商侧二手材料,可信度低于官方文档,我未在 Mem0 官方文档中逐条核实这一负面断言,故标注:UNVERIFIED("Mem0 无原生时序模型"这一负面结论未在官方来源确认)。
推断:作者说"标记失效而非删除"是聪明做法,这一步在工程上等于把"记忆"从可覆盖的键值升级成带版本的事实;代价是查询侧要处理时间过滤与多版本合并,复杂度并不会凭空消失。
视频事实:分三层——① 精确查找("这个用户叫什么",key-value 甚至一个字典就够);② 模糊联想("跟这个话题相关的都讲出来",向量检索的强项:文本转向量、按相似度排序取前几条);③ 多跳推理(存了 A 在某公司、B 与 A 相关,问"A 跟哪家公司有关"——A 和公司名的语义一点都不像,向量检索大概率找不到;知识图谱沿关系链走两步,A→B→公司,答案直接出来)。
补全(参考):③ 的现象在检索研究里确实存在——向量相似度不建模"关系",多跳需要沿边遍历,这是图结构存在的理由。但作者的二分法漏了第三条路:让 agent 自己迭代检索、重写查询。Letta 团队那篇博客的核心论点正是这个——agent 可以把原始问题改写成更适合检索的查询、反复搜索直到找到,因此"专门的(单跳)记忆工具反而不如让 agent 自主迭代查询有效"[2]。推断:这是对视频"向量 or 图谱"框架最实质的补充:多跳可以由更强的 agent 循环 + 简单工具部分弥补,而不只是靠引入图数据库。
Mem0 视频说"这个品类用得最多,核心是向量存储,接口简单,P95 延迟 1.4 秒"。论文层面的准确说法:Mem0 是"以记忆为中心的架构",动态抽取、整合、检索对话中的显著信息;另有图记忆变体 Mem0g,把记忆存成有向标记图(实体为节点、关系为边),用于需要跨多条记忆导航关系路径的查询[1]。视频的"核心就是向量存储"对基础配置成立;但注意 [5] 称 Mem0 的图谱能力被锁在 Pro 档($249/月),免费与标准档只有向量语义检索——这条来自厂商对比页,二手,建议以 Mem0 官方定价页为准(我未核实)。
Zep / Graphiti 时序知识图谱:事物流被拆成实体、关系与时间属性,底层图数据库可以是 Neo4j、FalkorDB 或 Kùzu,自托管需要自己运维图数据库;[5] 还称 Zep Community Edition 已弃用,自托管路径变成"直接用 Graphiti + 自己管 Neo4j"(二手来源,UNVERIFIED)。
Letta(原 MemGPT) 视频的核心比喻成立:Letta 的 MemGPT 引入受操作系统启发的记忆层级,agent 主动管理"哪些留在上下文(core memory)、哪些下沉到外部层(对话记忆、档案记忆、外部文件)",从而在固定上下文窗口里获得近乎无限的记忆容量[2]。具体三层([6],第三方教程,我未打开 Letta 官方文档核对):
persona 描述 agent 身份与行为准则、human 描述用户、system 放任务规则),每块有字符上限(默认约 2000 字符),agent 可在对话中自行调用工具改写;关于视频提到的 "procedural memory"(程序性记忆,agent 重写自己的系统提示词):我在本轮打开的来源里没有核到该定义(Letta 相关 GitHub 文档抓取被限流失败)。可核实的相邻事实是:core memory 的 persona 块就是描述 agent 身份与行为准则、且 agent 可自行修改它[6]。因此对这一点标注:UNVERIFIED —— 视频所述"Letta 提出 procedural memory 让 agent 重写系统提示词"未能用官方来源确认,但其描述的现象(agent 改写自身行为准则)在 Letta 架构里有对应机制。
Claude Code 的记忆系统 视频说"markdown 文件加一个 front matter 做索引,没有向量数据库,没有知识图谱"。官方文档核对后:方向对,细节不精确。 实际机制是两套[3]:
~/.claude/CLAUDE.md / 项目级 ./CLAUDE.md / 本地 CLAUDE.local.md,支持 @path/to/import 导入其他文件,以及放在 .claude/rules/ 下的规则文件——这里的 YAML frontmatter 里写 paths: 用来做"路径作用域"(如只对 src/api/**/*.ts 生效)。所以"front matter"确实存在,但它管的是规则的适用范围,不是视频暗示的"记忆索引"。~/.claude/projects/<project>/memory/,其中 MEMORY.md 是索引(每条记忆一行,每个会话都加载,首 200 行或 25KB),每条记忆另存一个文件(如 user_role.md、feedback_testing.md),记忆类型分为 user / feedback / project / reference。索引机制存在,但用的是 markdown 索引文件而非 frontmatter。这句"文件系统就够了"的原始出处:Letta 团队博客,标题是 《Benchmarking AI Agent Memory: Is a Filesystem All You Need?》(2025-08-12)[2]。但它的实际结论比视频转述更谨慎,值得原文一读:
grep / search_files / open / close 等文件工具,用 GPT-4o mini 拿到 74.0%,高于 Mem0 自报的最佳图变体 68.5%;| 视频说法 | 核查结果 | 来源 |
|---|---|---|
| Mem0 "P95 延迟 1.4 秒" | 绝对值未核实。Mem0 论文摘要只给出相对值:p95 延迟比全上下文方案低 91%,token 成本省 90%+。1.44s / 17.12s 这类具体数字我在论文摘要里没看到,故不采用 | [1] |
| "多跳推理测试里 Zep 63.8%,Mem0 49%,差 15 个百分点" | 数字能对上,但场景表述有误:出处把 49.0% / 63.8% 标为 LongMemEval 整体得分(GPT-4o),不是"多跳推理子项"。且该页是竞品对比页,引用一篇 arXiv 论文(我未打开原文),属二手引用 | [5] |
| Letta 团队做过测试,博客标题大意是"文件系统就够了" | 标题实为 Benchmarking AI Agent Memory: Is a Filesystem All You Need?;结论是"agent 能力比检索机制更重要",限定在 LoCoMo 检索基准上,不是通用结论 | [2] |
| Letta 三层记忆:核心/回忆/档案 | 与架构描述一致(core / recall / archival),且 core 常驻上下文、archival 靠向量检索、recall 是历史消息 | [2][6] |
| Letta "procedural memory" 让 agent 重写系统提示词 | UNVERIFIED(见 2.3/3 节说明) | — |
| Claude Code 用 markdown + front matter 索引,无向量库、无图谱 | 大体成立,细节需修正:CLAUDE.md + @ 导入 + .claude/rules/ 的 paths frontmatter;auto memory 用 MEMORY.md 做索引 + 每条记忆一个文件 |
[3] |
| 用图数据库 Neo4j 或 Kùzu | Kùzu 仓库已于 2025-10-10 被作者归档为只读,官方扩展服务器下线,老用户需升级到 0.11.3(预装 algo/fts/json/vector 四个扩展)或自建扩展服务器 | [4] |
| Zep 每条记忆带时间窗口、过期标记不删除 | 与 Graphiti 边级有效性窗口(valid_from / valid_to / invalid_at)一致(二手来源) |
[5] |
关于生态现状的两条重要补全(视频没讲):
这个四问框架适合:为单个 LLM 应用做记忆选型的早期决策;给团队做技术评审时的提问清单;判断"要不要引入向量库/图数据库"的取舍讨论。它的最大优点是把"选框架"的问题倒转成"定义数据与访问模式",这一步确实能省掉大量无谓的框架对比。
它没覆盖的前提(读者需要自己补):
| 段落(按视频推进顺序) | 建议 |
|---|---|
| 开头"先别选框架"的类比(数据库 vs JSON 文件) | 可看,1 分钟,类比恰当 |
| 四个问题的逐个展开 | 最值得看的部分。尤其"记给谁"里的第三种(agent 自身经验)和"记什么"的四分类,是视频的原创增量 |
| "记多久" | 值得看,但只记住"过期信息要标记失效而非堆积"这个原则即可;Zep 的实现细节看第 3 节更准 |
| "怎么取"三层(精确/向量/多跳) | 看,多跳那个例子讲得很清楚,是全场最直观的一段 |
| 逐个介绍 Mem0 / Zep / Letta / Claude Code | 可快进。是对官方文档的二手概括,且 Letta/Claude Code 两处描述不精确(见第 4 节表格)。想了解直接读官方文档更快 |
| 数字部分(1.4 秒、63.8% vs 49%) | 不建议当结论。前者核不到绝对值,后者场景被说错、且来源是厂商对比页 |
| 结尾"从最轻方案起步、遇瓶颈再升级" | 可看,这是它最实用的建议,且与 Letta 的实验结论方向一致 |
一句话总结:把这条视频当成"选型前的提问清单"来看,7 分钟不亏;当成"框架横评"来看,会拿到几处不准确的二手信息——尤其别把它的数字和 Claude Code 的机制描述直接引用给同事。
抓取失败记录:https://github.com/letta-ai/skills/blob/HEAD/letta/letta-api-client/memory-architecture.md (HTTP 429,未能核验 Letta 对 procedural memory 的官方定义,故该项标注 UNVERIFIED)。
本文标注约定:无标注者为视频中明确陈述(视频事实);"[n] + 已打开来源"为外部参考;标"推断"为由已核事实推出的个人判断;标 UNVERIFIED 者为未能用权威来源证实、且不应作为结论使用的说法。