「RAG就是记忆」——这个营销话术把向量搜索包装成了认知系统。但一个分块不知道自己是个分块,检索只靠余弦相似度,时间从来不是一等公民。这不是记忆,这是穿着记忆外衣的搜索。
作者花了大量篇幅拆解这个谎言,然后给出替代方案。不是理论,是写进代码的七条原则。
原则一:原子化知识单元
传统RAG把任何输入——对话、设计文档、代码提交、会议记录——切成块就往向量库里塞。不问来源,不辨类型,六个月后库里飘着一堆过时的、当前的、假设的、已被推翻的事实,全靠余弦相似度决定谁能被检索到。
真正的记忆需要显式解析。输入先过信任评分:用户输入0.9,大模型生成0.3,网页抓取0.4到0.7。然后解析成实体、事实、关系、事件、规则、假设六种原子类型。每个单元带着来源、创建时间、验证状态进库,不是纯文本加向量。
作者管这叫「垃圾抽屉 vs 带库存系统的仓库」。
原则二:时间作为一等公民
RAG的世界里没有时间。昨天说「我们用Postgres」,今天说「迁移到ClickHouse了」,两个块平等地躺在库里,检索时可能同时冒出来,模型自己猜哪个对。
正确的做法:旧事实自动获得valid_until = 今天,superseded_by = 新事实ID。检索时要么不出现,要么明确标注「历史,非当前」。不是靠模型聪明,是靠schema强制。
这是基础逻辑里的「时态有效性」,不是新发明。但RAG系统普遍缺失。
原则三:图结构链接
每个原子单元必须至少有一条边连入知识图,或进入待审核队列。孤立的事实不允许直接进长期记忆。
链接在检索时激活:找到入口节点,沿边扩散,按激活度排序。这和向量搜索的「全局扫描找相似」完全不同。图检索是导航,向量检索是嗅觉。
原则四:工作记忆的TTL与激活
信息先进工作记忆,带生存时间(TTL)和激活值。高频使用、验证成功、与其他事实共现的,激活度上升;长期不用的,衰减。
这对应认知心理学的工作记忆理论,但作者强调这是工程必需:没有衰减机制,系统会被噪声淹没。
原则五:迭代验证循环
工作记忆里的内容不进长期记忆,直到经过验证循环。验证手段包括:来源交叉核对、图一致性检查、去重、矛盾检测、时态规则、业务规则。
作者举了个例子:大模型生成「某API支持批量操作」,但源码图里找不到对应端点——这条被标记为假设,置信度下调,不会直接污染长期记忆。
原则六:确认后才固化
长期记忆只收「已确认+已链接」的内容。确认不是二元开关,是置信度阈值。0.9以上自动固化,0.7以下人工审核,中间地带系统主动追问。
这和RAG的「塞进去就完事」形成鲜明对比。后者的问题不是检索不准,是根本没有「准」的定义。
原则七:边的强化学习
知识图的边不是静态的。使用频率、验证成功率、共现频率会强化边权重;长期不用则衰减。最终形成「认知地形」:常用路径变高速公路,冷门知识退居边缘但可唤醒。
作者强调这和推荐系统的协同过滤不同:这里强化的是「事实之间的推理关系」,不是用户偏好。
正方:为什么这七条必须同时满足
作者的原话:「任何只实现其中五条的系统,会继续对用户撒谎,而且一脸自信。」
缺原子化,就分不清事实和假设;缺时间,就处理不了信息更新;缺图链接,就做不到因果推理;缺TTL,就被噪声淹没;缺验证,就分不清真假;缺固化门槛,就没有质量底线;缺边强化,就形不成认知结构。
七条是紧耦合的。少了任何一条,其他条的收益会被抵消。
反方:RAG真的不够吗?
可以争辩:大部分场景不需要这么重。客服问答、文档检索、代码补全——RAG够用,成本低,生态成熟。
作者提前回应了这一点:「够用」和「正确」是两回事。RAG在简单场景表现好,不是因为设计对,是因为场景容错率高。一旦涉及长期对话、多轮规划、需要追踪「什么变了」,RAG的幻觉率陡升——不是模型问题,是架构问题。
另一个反驳:七条原则的工程复杂度。作者开源的braincore是单Go二进制,MCP-stdio协议,Apache-2.0许可。复杂度被封装在schema和生命周期里,对外接口反而比调一堆RAG工具链简单。
判断:这不是学术争论,是产品分水岭
作者的身份值得注意:不是论文作者,是动手建系统的人。七条原则每一条都能在代码里找到对应,不是设计模式,是运行时的强制约束。
这对产品人的启示:「记忆」正在成为AI Agent的差异化战场。RAG是2019年的技术债,被包装成2024年的解决方案。真正的竞争在谁能先做出「用户敢托付长期任务」的系统——而信任来自可验证、可追溯、可修正的记忆架构。
作者最后没说的是:当七条原则跑通,Agent的行为会从「检索相关文本」变成「基于结构化知识推理」。这不是优化,是物种跃迁。
至于那些继续卖「RAG=记忆」的厂商——他们的产品可能还挺好用,只是用户永远不知道,自己问的是当前事实还是六个月前的幽灵。
热门跟贴