AI 记忆系统的核心公式:召回 = 存储 + 检索(一点小感悟)
AI 记忆系统的核心公式:召回 = 存储 + 检索(一点小感悟)
AI 记忆系统的核心公式:召回 = 存储 + 检索(一点小感悟) AI 记忆系统的核心公式:召回 = 存储 + 检索(一点小感悟) Modified March 16 ◆ 名词压缩:一个可能的折中方案 如果必须压缩,有没有比通用摘要更好的策略?一个思路是按 名词进行压缩 名词是语义的锚点。相比动词、形容词和修饰语,名词承载了最多的实体级信息。而且名词的跨语境稳定性很高,压缩时保留名词,相当于保留了未来检索的最小公约数 举个例子。原始对话是"最近黄金涨疯了,因为美国那边说可能要降息,而且中东那边又打起来了"。普通摘要变成"分析黄金暴涨的原因"。名词压缩变成"黄金 暴涨 原因:美国 降息预期 + 中东 冲突 + 避险资金"。当用户问"中东局势对黄金的影响",名词压缩版本还能命中,普通摘要已经丢失了关键信息 ◆ 适配 Embedding:让检索对齐使用场景 存储端的问题解决了一半,另一半在检索端。通用 Embedding 模型是在海量通用语料上训练的,它对"相关性"的理解是统计意义上的,不一定匹配某个具体用户或场景的认知框架 适配的思路有三个方向。 用户级微调 :用某个用户的对话历史微调 Embedding 模型。 场景级定制 :比如金融场景,让 Embedding 更关注"黄金""美元""通胀"这类实体的共现关系。 动态组合 :在检索时同时使用多个 Embedding 模型的打分,或者将 BM25、Jaccard 等传统方法与 Embedding 融合 本质上,召回系统的设计需要让 存储的压缩逻辑和检索的匹配逻辑在同一个语义空间里对话 ◆ 召回环节的完整算法体系 一个成熟的召回系统不会只用单一算法。 BM25 做词法匹配,对精确匹配敏感。 TF IDF 是 BM25 的前身,提供基础词法信号。 Jaccard 用集合论计算交集占比,适合短文本。 Embedding 做语义匹配,即使没有共同关键词也能匹配。 DSSM 是经典的双塔结构深度语义匹配模型 这些方法不是互斥的,而是互补的。论文中验证效果最好的方案是:第一路用 BM25 召回一批候选,第二路用 Embedding 召回一批候选,合并后用大模型重排序 ◆ 八个记忆项目的定位拆解 Mem0 在存储层做事实提取加冲突解决。 MemGPT 做递归摘要加分页,用虚拟内存管理突破上下文长度限制。 Hindsight 让智能体在存储后生成"反思"来产生新知识。 EverMind 模拟生物记忆的遗忘和巩固过程。 cognee 用知识图谱增强关联性。 OpenViking 用文件系统管理记忆。 Supermemory 做云端记忆基础设施。 mem9 做全生命周期调度 论文的结论在这个框架下可以重新表述为:在当前的工程实践中, 检索环节的优化空间远大于存储环节 。但存储环节的"压缩对齐"问题,可能是下一阶段的突破点 ◆ 实际落地建议 存储层的第一选择是 不压缩 。原始文本块的召回效果在大多数场景下优于摘要和事实提取 如果必须压缩,优先保留 名词和实体信息 。这是语义的最小公约数 检索层要做 多路召回 。至少组合 BM25(词法)和 Embedding(语义)两路,有条件的话加上大模型重排序 Embedding 模型要和使用场景对齐。金融、医疗、法律这类专业领域尤其需要场景化的 Embedding 或者微调 最后一条:不要过度工程化存储层。把精力放在检索和重排序的优化上,投入产出比更高 ◆ 名词压缩:一个可能的折中方案 如果必须压缩,有没有比通用摘要更好的策略?一个思路是按 名词进行压缩 名词是语义的锚点。相比动词、形容词和修饰语,名词承载了最多的实体级信息。而且名词的跨语境稳定性很高,压缩时保留名词,相当于保留了未来检索的最小公约数 举个例子。原始对话是"最近黄金涨疯了,因为美国那边说可能要降息,而且中东那边又打起来了"。普通摘要变成"分析黄金暴涨的原因"。名词压缩变成"黄金 暴涨 原因:美国 降息预期 + 中东 冲突 + 避险资金"。当用户问"中东局势对黄金的影响",名词压缩版本还能命中,普通摘要已经丢失了关键信息 ◆ 适配 Embedding:让检索对齐使用场景 存储端的问题解决了一半,另一半在检索端。通用 Embedding 模型是在海量通用语料上训练的,它对"相关性"的理解是统计意义上的,不一定匹配某个具体用户或场景的认知框架 适配的思路有三个方向。 用户级微调 :用某个用户的对话历史微调 Embedding 模型。 场景级定制 :比如金融场景,让 Embedding 更关注"黄金""美元""通胀"这类实体的共现关系。 动态组合 :在检索时同时使用多个 Embedding 模型的打分,或者将 BM25、Jaccard 等传统方法与 Embedding 融合 本质上,召回系统的设计需要让 存储的压缩逻辑和检索的匹配逻辑在同一个语义空间里对话 ◆ 召回环节的完整算法体系 一个成熟的召回系统不会只用单一算法。 BM25 做词法匹配,对精确匹配敏感。 TF IDF 是 BM25 的前身,提供基础词法信号。 Jaccard 用集合论计算交集占比,适合短文本。 Embedding 做语义匹配,即使没有共同关键词也能匹配。 DSSM 是经典的双塔结构深度语义匹配模型 这些方法不是互斥的,而是互补的。论文中验证效果最好的方案是:第一路用 BM25 召回一批候选,第二路用 Embedding 召回一批候选,合并后用大模型重排序 ◆ 八个记忆项目的定位拆解 Mem0 在存储层做事实提取加冲突解决。 MemGPT 做递归摘要加分页,用虚拟内存管理突破上下文长度限制。 Hindsight 让智能体在存储后生成"反思"来产生新知识。 EverMind 模拟生物记忆的遗忘和巩固过程。 cognee 用知识图谱增强关联性。 OpenViking 用文件系统管理记忆。 Supermemory 做云端记忆基础设施。 mem9 做全生命周期调度 论文的结论在这个框架下可以重新表述为:在当前的工程实践中, 检索环节的优化空间远大于存储环节 。但存储环节的"压缩对齐"问题,可能是下一阶段的突破点 ◆ 实际落地建议 存储层的第一选择是 不压缩 。原始文本块的召回效果在大多数场景下优于摘要和事实提取 如果必须压缩,优先保留 名词和实体信息 。这是语义的最小公约数 检索层要做 多路召回 。至少组合 BM25(词法)和 Embedding(语义)两路,有条件的话加上大模型重排序 Embedding 模型要和使用场景对齐。金融、医疗、法律这类专业领域尤其需要场景化的 Embedding 或者微调 最后一条:不要过度工程化存储层。把精力放在检索和重排序的优化上,投入产出比更高 🔗 原文链接: https://mp.weixin.qq.com/s/4sDgmM6T... https://mp.weixin.qq.com/s/4sDgmM6T... 原创 杰森AI出海 杰森AI出海 杰森AI出海2026年3月15日 09:41 泰国 最近一篇关于 AI 记忆系统的论文引发了不少讨论,结论是"检索比存储更重要"。但如果换一个角度看这个问题,一个更有价值的等式浮出水面: 召回 = 存储 + 检索 。这个等式把"写进去什么"和"找出来什么"绑在了一起,存储决定了检索的天花板 很多做 RAG 系统的团队都踩过一个坑:精心设计的摘要和事实提取,效果反而不如把原始文本块直接存进去。这背后的原因值得深挖 ◆ 为什么"全部存"反而效果最好 论文的一个核心发现是,原始块存储(Basic RAG)的召回效果最好,提取事实和做摘要反而会损失信息 这不是技术实现的问题,是底层逻辑的问题。 摘要存储的压缩和人类的遗忘是两个完全不同的空间 ,存在根本性的不匹配 压缩是机器视角的。无论是 MemGPT 的递归摘要,还是 Mem0 的事实三元组提取,它们的"压缩"逻辑是由当前大模型的认知模式决定的。模型用"它觉得重要"的方式去压缩,而不是"未来提问者会觉得重要"的方式 遗忘是人类视角的。人类的遗忘不是简单地丢掉细节,而是一个语义重构的过程。不同人记住同一件事的方式差异很大 不匹配的后果:当机器压缩后的摘要和人类提问时的认知框架不一致时,相关信息就在存储层被永久丢失了,再好的检索算法也找不回来