仓库定位
mem0 的核心是 Memory / AsyncMemory,围绕抽取式长期记忆工作,不是完整 chat runtime。
定位这一段只讲模型真正可见的材料,不把所有底层状态都算进 context。
mem0 的上下文是为“抽取长期记忆”服务的,不是完整会话 runtime 的上下文窗口。
先看组成块,再看顺序。这里最容易帮助普通读者分清“哪些东西会真的进模型”。
mem0 的核心是 Memory / AsyncMemory,围绕抽取式长期记忆工作,不是完整 chat runtime。
定位抽取时只看 session_scope 内最近 10 条消息,并结合最近 10 条已有 memories。
上下文上下文会被拼成 additive extraction prompt,包含 Summary、Last k、Existing、New、日期和自定义指令。
输入add() 会先抽取,再去重、embedding、写向量库,同时落 SQLite history/messages,并更新实体链接。
流程长期记忆主体在 vector store,SQLite 只负责 history/messages,entity store 单独保存实体到 memory 的关联。
存储不要把记忆想成一个抽象黑盒。这里直接按时间顺序讲“它什么时候生成、存哪、怎么再回来”。
真正的长期记忆不是对话历史,而是抽取、去重、编码后写进向量库的结果。
很多误解都来自把 transcript、summary、文件、数据库和向量库混成一层看。
主记忆在向量库,entity store 是索引层,SQLite 是辅助层。
这部分是防误解,不是额外功能清单。
把 history/messages 当成长期记忆本体,实际上它们只是辅助上下文和审计。
mem0 的核心价值是“把短期消息抽成可检索的长期记忆”,不是把对话全文一直塞进上下文。
每个结论都要能往下追。这里列的都是站内证据入口,不是营销材料。
如果你想继续看原文、行号和分专题分析,可以直接跳到证据页。
站内会把这个 repo 对应的 docs 文件按行展开,方便核对路径和行号。
你也可以直接从总览、仓库入口页和 5 篇专题页继续追。