数据库60年 vs 智能体18个月:MongoDB 谈检索与记忆

Pete Johnson · MongoDB AI 现场 CTO · 2026-09-03
听中文精华AI 合成朗读00:00
我甚至敢说,我们的教育系统有一种偏见,一种历史偏见,即「汝当永远规范化」。
— 嘉宾

关联

这个播客的主持人 Nathan 请来了一位和 SQL 同岁的嘉宾:Pete Johnson,30 年技术老兵、MongoDB 的 AI 现场 CTO(Field CTO,即直接面向客户做技术布道与落地的 CTO 角色)。他 1970 年 2 月出生,而 SQL 的奠基论文正是 1970 年 6 月由 IBM 研究员 E.F. Codd 写下的。这一集从数据库历史一路讲到智能体记忆,核心论点只有一个:智能体的性能——尤其是算上成本之后的性能——很大程度上取决于检索做得好不好。

从 1970 年的一次磁盘读取讲起

Pete 用「稀缺资源决定设计」串起 60 年数据库史。1970 年,应用是部门级的、朝九晚五、周末可以停机,而三大硬件里存储最贵,于是「规范化」(把数据拆到多张表、任何一份事实只存一次,教科书里的第一、第三范式就是干这个的)成了铁律——他甚至直言这是「教育系统的历史偏见:汝当永远规范化」。

到 2007 年 MongoDB 提交第一行代码时,世界有了互联网、云和 iPhone,47 年摩尔定律之后磁盘不再稀缺,稀缺的变成了时间:应用不能停机、用户遍布全球。于是出现了反规范化的设计——地址在两条记录里各存一份,看似浪费磁盘,换来的是一次磁盘读取搞定,而不是三次。

这就是 NoSQL 快的根源。他还纠正了一个常见误解:MongoDB 不是无模式(schemaless),而是「模式灵活」(schema flexible)——同一个集合里可以放不同形状的 JSON 文档,改起来不用承受 SQL 改生产表结构那种级联痛苦

检索质量成了第三根杠杆

MongoDB 的检索能力是逐步长出来的:2020 年,他们注意到客户总在自己集群旁边自建 Lucene 服务器做关键词检索,于是推出 Atlas Search;后来发现「向量不过是一个浮点数数组」,在灵活 schema 上加个属性、建个索引,向量搜索就顺理成章;再往后是混合搜索——元数据预过滤 + 词法搜索 + 向量搜索,三种杠杆在一次查询里组合。今年新发布的 Rank Fusion 和 Score Fusion,把向量搜索和词法搜索合并成一次 API 调用,在后端按排名或分数归并结果;配套的 $Rerank 则把「把结果送去重排序器(把初筛结果重新排序、提升相关性的小模型)」也变成一次调用。

他给这套思路的玩笑总结是:「开发者分两种,爱 MongoDB 的,和还没试过的。」

嵌入这块,2025 年收购的 Voyage AI 提供了几个实打实的减负功能:一是「上下文化分块」(contextualized chunking)——传统做法里分块太小丢上下文、太大丢检索精度,开发者得反复试三四轮找平衡,而 Voyage 让你把「想要的那句原文」和「上下文」作为两段一起传入,返回一个兼顾两者的向量,分块更小、检索质量反而更高;二是「马特廖什卡」(Matryoshka,即俄罗斯套娃式)结构——想从 1024 维降到 512 维,不必把全量语料重跑一遍嵌入,直接砍掉后 512 个浮点数就能开始测试;三是一月份推出的共享嵌入空间,小、中、大、nano 四个模型互相兼容,可以用大模型嵌入语料、开发期用免费 nano 查询来省 token 成本。还有 auto embeddings:指定集合、属性和模型,文档一变,向量、索引自动更新。

嵌入模型没有商品化

Pete 最反共识的判断是:嵌入模型远未商品化。「大多数人认为嵌入模型已经商品化了,这不是事实。

」他给出的参照:Hugging Face 的 RAG 基准(RTAB)上 Voyage 模型常年居首,相比常见的云厂商默认选项,检索质量差距可达 14%——而 14% 的差距可能就是幻觉和正确答案的区别。Anthropic 自己没有嵌入模型,推荐的就是 Voyage。另外在嵌入模型之上加一个重排序器,通常还能再白拿 5-10% 的检索质量提升。

智能体记忆:写入、更改、召回、遗忘

Pete 把 LLM 应用架构的演进讲成补短板的历史:ChatGPT 刚出来时只是「查询进上下文、结果出来」;因为模型只在公开数据上训练,要注入企业专有数据就得靠 RAG(检索增强生成);2025 年靠工具和 MCP 解决了知识截止日期问题(能查实时信息了);再后来智能体开始循环执行,但每次传给 LLM 的上下文窗口都是全新的——这时候就需要记忆。早期做法粗暴:短期记忆是把本会话所有响应塞进上下文,长期记忆是把过去三天所有会话也塞进去。

两个副作用:一是 token 最大化烧钱(Uber 今年早些时候 13 周烧光全年 token 预算上了头条),二是有学术研究表明上下文最开头和最末尾各约 7K token 最重要,中间那一大坨只会「把 LLM 搅浑」。所以方向变成了「为这一轮循环选出刚好的那 20 万 token」——更聪明的短期/长期记忆,加上新出现的「分类记忆」(比如公司特有的 100 个术语里,只取这一轮相关的 5 个)。

至于维护,他引用同事的话总结成四个动作:「写入、更改、召回、遗忘」——而遗忘是目前最难的部分,记忆有半衰期。他提醒应用作者现在有两个职责:给记忆系统一个 token 预算去取「最好的那 50K token」,以及把答案送回去让记忆系统整理入库。

架构警告:别用多遍 LLM 调用来做分类和压缩语料,那样 token 照样失控——该用便宜的嵌入器和重排序器干的活,别让 LLM 干。数据太多的场景也可以混合:图结构走两到六层,到叶子节点再做向量检索,零售客户按商品类目分层就是这么做的。他觉得做得很漂亮的例子是 Eleven Labs:每个客户多个小型智能体的「微智能体」架构,配合各自的上下文记忆。

自建还是购买:先选对问题

今年他跑了七个国家、聊了约一百个客户,大致三个阵营:买一个工具许可证就宣布「AI 战略完成」的;做过 POC 但在 ROI 上挣扎的——他的判断是「多半是选错了问题」。选问题的三问:你业务当前的前 10-15 个问题是什么?

哪些你有好数据?哪些已有现成指标?

没有基线指标就永远不知道 AI 有没有用。呼叫中心是典型的低垂果实:单次通话成本、话务量早就有数,数字一跳就能归因。

相反,「代码行数多五倍」这种炫耀在他看来是个糟糕的指标。而糟糕的数据质量和安全态势不会被 AI 解决,只会被 AI 放大。

眼下财富 500 强大多在做「有人类在环」的面向员工的用例——KPI 现成、风险可控;工资泄露给同事尴尬,客户数据串了可是要副总裁坐飞机去救火的。至于行业成熟度,他的判断很清醒:「我们建数据库建了 60 年,建智能体才 18 个月,还没人知道所有答案。

」智能体领域还没有自己的 LAMP 技术栈,没有 React 和 Angular——但会有的。MongoDB 自己也在适应:MCP 服务器、以及六到八个打包好的「智能体技能」——把数据建模、运维优化的 playbook 做成 markdown 文件直接喂给智能体。

世界不只有硅谷

最让主持人意外的观察:Pete 今年聊过的两个最成熟的客户,一个在墨西哥城,一个在圣保罗——而且他们起初都以为美国对手比自己先进,事实恰恰相反。他的解释不是美国公司保守,而是获取途径民主化了:几乎每个国家都有超大规模云的数据中心,模型、向量库、嵌入、重排序的获取门槛比云时代和移动时代低得多,地理壁垒正在消失。

本集带走

  • 检索决定成本调整后的智能体性能:别再无脑拉满上下文——开头和结尾各约 7K token 最重要,中间多是噪音;给记忆系统一个 token 预算,让它取「刚好的那一段」。
  • 嵌入模型不是商品:换嵌入模型有高达 14% 的检索质量差距,可能就是幻觉与正确答案之差;加重排序器通常再白拿 5-10%。
  • 分块别再手调了:上下文化分块让你把「目标原文 + 上下文」一起传入,更小的分块换来更高的检索质量;Matryoshka 结构让降维度不用重跑全量语料。
  • 记忆系统四动作:写入、更改、召回、遗忘——最难的是遗忘,记忆有半衰期;分类压缩的活交给便宜的嵌入器和重排序器,别用多遍 LLM 调用。
  • 选问题先看指标:挑业务前 10-15 个问题中「有好数据、已有度量」的(如呼叫中心),没有基线就证明不了 ROI;代码行数是坏指标。
  • 别等标准答案:智能体才 18 个月,没有 LAMP 堆栈可抄,边做边摸索是常态。
全部金句 14 条

我甚至敢说,我们的教育系统有一种偏见,一种历史偏见,即「汝当永远规范化」。
I’ll go as far as to say, like, our education system has a bias, a historical bias, that thou shalt always normalize.
—— 嘉宾 · [15:50]

大多数人认为我们是 schemaless 的,但这实际上并不正确。不是说我们是 schemaless 的,而是说我们是 schema 灵活的。
Most people think that we’re schemaless, and that’s not actually true. It’s not that we’re schemaless, it’s that we’re schema flexible.
—— 嘉宾 · [21:32]

有两种开发者:一种是爱 MongoDB 的,另一种是还没试过我们的。
there’s two kinds of developers. There’s those that love MongoDB and there’s ones that haven’t tried us.
—— 嘉宾 · [32:53]

当你翻转这个剧本时,结果是你可以用更小的分块大小获得更好的检索质量,否则这是不可能的。
When you flip that script, it turns out you can get better retrieval quality with a smaller chunk size, which otherwise is not possible.
—— 嘉宾 · [41:34]

在未来三年构建 AI 智能体的开发者,会超过过去三年的总和。
more developers will build AI agents in the next three years than did in the last three years.
—— 嘉宾 · [42:10]

大多数人认为嵌入模型已经商品化了,但这不是事实。根据你选择什么样的嵌入模型,你在检索质量上可能会有非常巨大的差别。
Most people think embedding models are commoditized, and that is not true. There is a very big difference that you can get in retrieval quality based on what embedding model you choose.
—— 嘉宾 · [50:00]

Anthropic 在市面上没有嵌入模型。他们推荐我们。
Anthropic does not have an embedding model in market. They recommend us.
—— 嘉宾 · [50:09]

有几项学术研究表明,最开头的 7K 和最末尾的 7K token 是最重要的,而中间的那些东西最终只会在 LLM 试图想出答案时把它搅浑、让它困惑。
There’s a couple academic studies that show that like the first 7K and like the last 7K tokens are the most important and the stuff that’s in between can end up just muddying and confusing the LLM as it’s trying to come up with an answer.
—— 嘉宾 · [56:56]

我们构建智能体才差不多 18 个月,老兄。还没人知道所有的答案,我们都在某种程度上共同摸索。
We’ve been building agents for like 18 months, man. Like nobody knows all the answers yet. We’re all sort of collectively figuring it out.
—— 嘉宾 · [61:15]

写入、更改、回忆、遗忘。因为这些记忆是有半衰期的,对吧?
Write, change, recall, forget. Because these things have a half-life to them, right?
—— 嘉宾 · [62:37]

我会担心任何这样的记忆架构:它不依赖成本更低的嵌入器和重排序器,而是依赖 LLM 的多遍处理来帮你分类并缩小数据语料库。
I would worry about any memory architecture that instead of relying on lower costs embedders and re-rankers is relying on multiple passes of the LLM to help you categorize and shrink the corpus of data
—— 嘉宾 · [66:35]

像糟糕的数据质量和糟糕的安全态势这类问题不会被 AI 解决,它们会被 AI 放大。
Things like bad data quality and bad security posture don’t get solved by AI, they get amplified by AI.
—— 嘉宾 · [68:54]

任何做这行有一段时间的人都知道,代码行数是一个很糟糕的指标。
Anybody who’s been doing it any length of time knows that lines of code is a terrible metric.
—— 嘉宾 · [69:59]

目前还没有智能体的 LAMP 技术栈,不像我们在 Web 开发领域那样。我们会到达那一步的。
There’s no LAMP stack for agents yet in the way that we have with web development. We will get there.
—— 嘉宾 · [70:56]

接着看

换个口味