ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

抛弃向量数据库?我劝你先冷静:99%准确率是营销话术还是真革命

抛弃向量数据库?我劝你先冷静:99%准确率是营销话术还是真革命 抛弃向量数据库我劝你先冷静99%准确率是营销话术还是真革命【免费下载链接】supermemoryMemory and context engine app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.项目地址: https://gitcode.com/GitHub_Trending/su/supermemory过去几周AI 记忆系统突破 99% 准确率用 Agent 完全替代向量数据库的标题在中文社区刷屏。兴奋之余一个更值得问的问题是这个 99% 到底考的是什么、比的是什么、能不能推广到你的业务场景带着这个疑问我翻了一遍 Supermemory 这个开源记忆引擎的完整仓库——从 README.md 的基准声明到 memory-vs-rag.mdx 的架构论述再到 search-memory.ts 这类 MCP 工具的真实实现。本文试图把99%拆回原样并给你一套不跟风、可自证的判断框架。一、99%准确率是怎么来的先拆掉标题里的三个字先看官方口径。仓库 README.md 的措辞非常克制它没有说过99% 准确率这个整体概念而是给出了三组精确的数字在LongMemEval、LoCoMo、ConvoMem三大 AI 记忆基准上排名第一95% Recall15同时只引入约 720 token 上下文即99.4% 的上下文缩减10 时 99.6%5 时 99.8%分项召回率Knowledge Updates 99%、Assistant recall 100%、User recall 97%、Multi-session 93%、Temporal Reasoning 91%、Preference 90%。现在对照一下营销标题里的99%你会发现问题出在数字搬家99% 其实是知识更新这一个分项的召回率100% 是助手陈述召回分项而 99.4% 是上下文 token 缩减率——衡量省了多少上下文跟答对多少题根本是两个维度。标题党把两个 99 焊在一起就成了99% 准确率。另一个容易忽略的口径问题是评分方式。memorybench/memscore.mdx 写得很直白正确性不是字符串匹配而是由裁判 LLMGPT-4o、Claude Sonnet 或 Gemini Flash对比参考答案后给出{score: 0|1, label: correct|incorrect}的二元判定。这意味着分数高低同时取决于裁判模型的判断标准。官方甚至建议用两个不同的裁判模型跑同一轮验证结果不是单一模型打分偏置的产物——这本身就是对分数可复现性的谨慎表态。更关键的是MemoryBench 的产出不是一个数而是MemScore 三元组86% / 145ms / 1823tok——准确率、搜索延迟、发给作答模型的上下文 token 数三者并排。它刻意不做加权求和因为准确率高 2% 但慢 5 倍、上下文贵 3 倍的方案并不天然更优取舍留给你。换言之任何一个只报99%而不报延迟和 token 成本的宣传都是在信息上做减法。二、评测到底考了什么为什么这个分数不能推广到所有知识检索理解了数字口径后第二个问题是基准本身考什么。三个基准各有分工见 README.md基准测什么定位LongMemEval跨会话长期记忆且包含会话中途的知识更新记忆系统的版本管理能力LoCoMo超长多轮对话中的事实召回单跳/多跳/时间/对抗性提问检索与推理的结合ConvoMem个性化与偏好学习用户画像的积累质量注意共同点它们考的全部是关于用户的、随时间变化的事实——用户换了工作、改了偏好、约定改了期系统能不能答对现在的答案。这恰恰是向量数据库最不擅长的场景。memory-vs-rag.mdx 里有一个经典案例Day 1: 我爱穿阿迪达斯 Day 30: 阿迪一个月就坏了质量太差 Day 31: 我换彪马了 Day 45: 提问我该买什么鞋语义搜索会返回相似度最高的那条我爱阿迪达斯然后 Agent 推荐阿迪——因为它只做相似度匹配不理解阿迪偏好已过期、因果关系是坏了→失望→换牌这条时间线。而记忆引擎通过updates/extends/derives三种关系维护事实版本检索时命中isLatest的最新事实。这类问题正是 LongMemEval 里Knowledge Updates 99%分项的来源。但这意味着99%只在它被测试的轨道内成立。评测没有覆盖的硬骨头包括十万级文档的语料检索吞吐、多租户隔离与权限矩阵、多模态抽取的端到端质量、连接器同步的失败恢复。这些都是向量数据库替代品这个宏大叙事根本没接住的部分。一个反讽的证据是Supermemory 自己并没有抛弃 RAG。它的默认searchMode: hybrid同时搜记忆和文档 chunk见 recall/search.mdx纯参考材料可以用taskType: superrag走纯 RAG 管道还便宜 5 倍见 concepts/super-rag.mdx。如果 RAG 真的该死为什么自家产品还要把它做成默认选项三、Agent 替代向量数据库的真实局限源码视角与其听宣传不如看实现。Supermemory 给 AI 编程助手提供的 MCP 服务器apps/mcp/src/server/tools/暴露了三个核心工具它们拼出了 Agent 记忆的最小闭环search_memorysearch-memory.ts按自然语言查询召回记忆返回时把similarity乘 100 四舍五入成匹配度百分比——你看到的87% 匹配其实是相似度分数不是正确率save_memorysave-memory.ts保存单条内容同步落库get_profileget-profile.ts返回该空间的稳定事实 近期动态上下文。这套闭环里有几个工程事实值得冷静看待1. 记忆质量高度依赖写入端的抽取能力。工具侧的save-memory只是把内容原样存进去真正把对话提炼成事实的是服务端的内存模型。自托管版本里这一步用的是你自己配置的模型Ollama、OpenAI 兼容端点等而不是官方云端的专有长程模型——self-hosting/overview.mdx 明确写了两者抽取质量存在差异。这意味着95% Recall是官方模型在云端跑出来的成绩你本地部署换一个模型数字完全可能不同。2. 检索不是免费的也不是确定性的。OpenAI 中间件middleware.ts每一轮对话要做一次 profile search30 秒超时工具侧默认搜索阈值 0.6、单请求 30 秒超时、最大重试 2 次tools-shared.ts。它还专门写了去重逻辑deduplicateMemoriesForMode因为 profile 和搜索结果里同一事实可能出现两遍——记忆系统自己也得处理自己产生的冗余。相比向量检索 100ms 的稳定延迟记忆检索的典型区间是 100–300ms再叠加抽取延迟这在实时 Agent 循环里是需要权衡的预算。3. Agent 记忆不等于知识库。官方在 overview/comparison.mdx 里给自己的可替代场景划了边界如果只是静态知识库问答、内容基本不更新、语料非个性化那么纯 RAG 产品甚至够用反之要跨会话记住这个用户才需要记忆层。它还特意警告那些轻包装记忆层——把聊天记录当文本块存进向量库本质是RAG 换了个牌子事实不会正确更新。换句话说该被替代的从来不是向量数据库而是把用户状态当成静态文档集合的错误架构。四、给吃瓜开发者的冷静判断框架最后给你一套不依赖任何一家宣传的决策清单。判定一个记忆系统替代向量库的宣称是否靠谱只需要四个问题Q1它说的准确率分母是什么如果只报一个数字没有基准名、没有分项、没有裁判模型、没有 token 成本——按营销话术处理。合格的报告应该长成 MemoryBench 的 MemScore 那样准确率 / 延迟 / 上下文token三元组外加按问题类型单跳、多跳、时间推理、偏好的拆解见 memscore.mdx。Q2我的场景是知识还是用户状态静态语料、低更新率、无个性化 → 向量检索/RAG 依然是最优解别折腾。需要记住用户偏好、跨会话更新、处理矛盾与过期 → 记忆层才有价值。两者都要 → 选择原生支持混合检索记忆 文档 chunk 一条查询的方案这正是 hybrid 模式存在的意义。Q3抽取质量谁说了算记忆系统的上限在写入端的事实抽取。云端专有模型和自托管通用模型之间存在质量落差——别拿官方的榜单分数当自己部署的预期值。自托管前先确认你的模型在 LongMemEval 这类数据上的表现。Q4我能不能自己复现这是最硬的筛选器。memorybench/overview.mdx 开源了一个 MIT 许可的基准框架同一套题目、同一管道、同一裁判跑你的实现 vs. Supermemory vs. Mem0 vs. Zep产出并排报告。它还附赠一个 Claude Code skill可以自动分析你的代码、生成适配器、直接开跑。我们自己开源的评测框架你最好自己跑一遍——比任何榜单截图都值得信任。回到开头的问题99% 是营销话术还是真革命答案取决于你追问的深度——作为分项成绩它是真的作为向量数据库死刑判决书它不成立。记忆引擎解决了用户状态随时间演化这个向量库从未解决的问题但它的前提是高质量抽取、可接受的延迟和持续维护的事实图与此同时RAG 依旧活在每一条 hybrid 查询里活得很好。对大多数团队正确的姿态不是抛弃向量库而是把两类检索分层静态知识交给 chunk 检索动态用户状态交给记忆与画像然后用一个能同时驾驭两者的系统把它们接起来。烧掉数据库之前先问自己那四个问题——尤其最后一个你亲自跑过基准吗【免费下载链接】supermemoryMemory and context engine app that is extremely fast, scalable, and can be run fully locally. The Memory API for the AI era.项目地址: https://gitcode.com/GitHub_Trending/su/supermemory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进