Codex实测将百万向量检索内存压至1GB 年省逾4万美元

不要学 RAG,学出题 — grapeot

grapeot

AI已能数秒生成生产级检索架构,死记框架的工程师面临贬值,定义评测基准、盯防延迟隐患与拍板商业取舍的“出题能力”才是落地核心。

AI-assisted summary of 不要学 RAG,学出题 — original source. Check the original for full context.

Source published:

Key ideas

  • 招聘市场上虽有数千个 RAG 岗位,但使用现代 AI 工具(如 Codex)可在数十秒内直接用内存暴力穷举跑通百万级文档检索原型,死记框架胶水代码已失去溢价。 (0:00)
  • 在百万级向量检索中,将浮点精度由 Float32 减至 Float16 虽使内存从 6.14 GB 降至 3.07 GB,但由于 CPU 缺乏半精度指令加速会导致延迟翻倍(86 ms 增至 168.9 ms),需换用硬件加速库 MLX 将延迟压低至 12.8 ms。 (15:00)
  • 通过 Matryoshka 维度截断至 1024 维并结合 Float16/MLX,系统内存最终压至约 1 GB,可塞入 2 GB 内存机器;按 100 个物理隔离客户计算,单凭该硬件降配每年即可为企业节省逾 4.4 万美元。 (20:00)
  • AI 时代工程落地的核心分水岭已从写代码的“做题家”转变为设定评测集(如 Top-10 命中率)、盯紧隐性指标回退及权衡业务取舍的“出题人”。 (10:00)

Detailed notes

## Background 该视频由 grapeot 于 2026 年 10 月 27 日发布在哔哩哔哩(Bilibili)平台。简介指出,尽管招聘市场上 RAG 相关岗位泛滥,但随着 AI 能够秒级搭建基础检索系统,背诵切块规则和框架搭建已不再是核心竞争力;视频通过 100 万段中文搜索语料的实战演示,阐明工程师真正值钱的能力在于定指标、抓隐患和商业拍板等“出题”本领。

## TL;DR 视频探讨了企业在 AI 能够几句话搭好检索原型的时代为何仍在大量招聘 RAG 人才的悖论。讲师利用微软公开的 100 万条中文搜索数据集进行现场演示,原型的内存穷举检索耗时仅需 83 毫秒,但 6.14 GB 的内存占用在百级多租户隔离场景下会导致高昂的云服务器成本。借助 Codex,讲师将优化重心转向制定 Top-10 命中率评估卷子,并经历了将精度改为 Float16 后延迟暴增一倍的陷阱,随后通过更换 MLX 加速库与维度截断(降至 1024 维),成功将内存压至 1 GB、耗时降到 9.5 毫秒且保持 89% 的高命中率。核心结论表明,写代码与跑实验这类“做题”任务应全权交给 AI,工程师不可替代的价值在于针对商业上下文设立标准、洞察系统隐患并做出权衡决策的“出题”能力。

## Atmosphere & style 视频整体呈现出清醒、务实且充满极客工业感的氛围,既有对培训班套路与做题家思维的辛辣解构,又具备扎实落地的大厂工程视角。讲师风格冷静沉着,不仅带着观众算真金白银的商业账本,还在遇到延迟翻倍的隐患时展现出敏锐的技术直觉。整个过程犹如一次行云流水的实战排障与架构拍板,带给读者兼具思辨冲击与动手实操的通透感。

## Bulletin - [00:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=0s) 招聘市场上虽有数千个 RAG 岗位,但使用现代 AI 工具(如 Codex)可在数十秒内直接用内存暴力穷举跑通百万级文档检索原型,死记框架胶水代码已失去溢价。 - [15:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=900s) 在百万级向量检索中,将浮点精度由 Float32 减至 Float16 虽使内存从 6.14 GB 降至 3.07 GB,但由于 CPU 缺乏半精度指令加速会导致延迟翻倍(86 ms 增至 168.9 ms),需换用硬件加速库 MLX 将延迟压低至 12.8 ms。 - [20:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=1200s) 通过 Matryoshka 维度截断至 1024 维并结合 Float16/MLX,系统内存最终压至约 1 GB,可塞入 2 GB 内存机器;按 100 个物理隔离客户计算,单凭该硬件降配每年即可为企业节省逾 4.4 万美元。 - [10:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=600s) AI 时代工程落地的核心分水岭已从写代码的“做题家”转变为设定评测集(如 Top-10 命中率)、盯紧隐性指标回退及权衡业务取舍的“出题人”。

## Key takeaways - [00:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=0s) 市场上 RAG 岗位的泛滥与技术门槛的骤降形成悖论,AI 工具已能自动生成样板检索系统,记忆切块参数与数据库框架已不再是壁垒。 - [00:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=0s) RAG 的底层骨架就是基于向量检索的站内搜索引擎,现代 Embedding API 成本极低(100 万段文档仅需约 2 美元与 20 分钟)。 - [05:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=300s) 面对百万级文档,普通电脑纯内存暴力穷举计算余弦相似度的响应仅需约 83 ms,中小企业很多场景根本无需复杂的专用向量数据库与索引。 - [10:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=600s) 系统能否投产取决于资源与商业核算:百万条 1536 维向量占 6.14 GB 内存,需租用 8 GB 规格机器,服务 100 个隔离客户成本极高。 - [10:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=600s) 真正的出题能力首先体现在建立客观评测集:利用真实搜索数据与标注,制定 Top-10 命中率作为优化与质量兜底的基线标准。 - [15:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=900s) 精度减半(Float32 转 Float16)能将内存砍至 3.07 GB,但原生 NumPy 在 CPU 上的半精度计算缺陷会导致查询延迟暴增一倍。 - [15:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=900s) 延迟翻倍本质上是算力消耗与实例吞吐下降,会抵消单机内存降低省下的费用,工程师的技术直觉在于不漏掉隐性指标劣化。 - [15:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=900s) 通过切换至适配硬件加速的 MLX 计算库,半精度检索延迟从 168.9 ms 反向骤降至 12.8 ms,彻底消除指令集劣化的副作用。 - [20:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=1200s) 利用嵌套表征(Matryoshka)进行维度截断,可在极小损失(命中率从 92% 微跌至 89%)的前提下,将内存进一步砍至约 1 GB。 - [20:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=1200s) 技术指标优化没有绝对的标准答案,选择 1024 维而非 512 维是权衡准确率降幅、OS 预留内存与硬件采购梯度的商业拍板结果。 - [20:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=1200s) 写代码、跑实验等“做题”环节完全可以委托给 AI,人类的核心价值在于理解业务全貌、定义评测题目并在关键时刻拍板决策。

## Detailed walkthrough ### [00:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=0s) 招聘狂潮下的悖论:为什么不要学 RAG

打开各大招聘网站,单是 Indeed 上带有 RAG(Retrieval-Augmented Generation,检索增强生成)关键词的岗位就多达数千个。很多求职者感到困惑:既然企业在大规模招聘懂 RAG 的人,为什么讲师和老手反而苦口婆心地劝大家“不要学 RAG”?难道这不是在“自己打自己嘴巴”吗?

其实,RAG 的核心逻辑并不神秘。AI 的通用能力极强,但它无法直接读取企业内部私有数据,遇到相关业务问题便答不上来。解决方案就像做一个站内搜索引擎:当用户抛出一个问题,系统从企业私有资料库中把相关段落抠出来,塞进 AI 的 Prompt 上下文中让其参考回答。因此,RAG 最核心的骨架就是“检索”(Retrieval)。检索的底层依赖于存在了几十年的技术——Embedding(向量化),即将一段文本转化为多维数组,两段文本含义越接近,其向量在空间中的几何距离就越近。

为了探究真相,讲师准备用微软公开搜索数据集做现场 Demo。该数据集的问题(Query)来自 Bing 真实用户的搜索,原英文文档与 Query 均被翻译成了高质量中文,实验选用了其中的 100 万个段落。在录制前,讲师调用 OpenAI 的 `text-embedding-3-small` 模型提取了这 100 万条的向量,耗时仅约 20 分钟,按官方价格折算不过 2 美元出头。讲师把 Codex 接进项目,借助 Superlinear Academy 平台自带的 AI Builder Space MCP 工具,AI 甚至连 API Key 都不需要额外配置,就能全自动理解数据格式并跑通抽取流程。

“我们一直跟学员说不要学 RAG 就是 retrieval augmented generation,可是大家如果打开招聘网站看的话会发现到处在招会 RAG 的人……那今天呢我就想借这个视频把这个道理给他讲清楚,”讲师解释道。

- 招聘网站(如 Indeed)上 RAG 相关岗位多达数千个,形成虚假的市场技术繁荣。 - 演示采用的数据集为微软公开搜索评测集,包含 100 个真实 Query 和 100 万条中文切段文档。 - 100 万条文档提取向量成本低廉:调用 OpenAI Embedding API 仅需约 20 分钟,成本约 2 美元出头。

---

[05:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=300s) 几十秒嘴炮搞定原型:生产规模检索有多简单

在项目就绪后,讲师给 Codex 下达了一个非常 High-level 的指令:不要建索引,不要引入任何复杂的向量数据库,直接把 100 万条向量全塞进内存,用最质朴的暴力穷举算余弦相似度;同时在本地拉起一个 Web 服务,做一个网页界面来演示,甚至专门提了一句“要比较典雅好看,不要出那种紫色的特别 AI 感觉的网站”。

几秒钟内,Codex 自行规划并写完了后端检索与前端界面,启动了服务。讲师在界面上测试预设问题:“擦伤怎么处理”、“加拿大的三级政府分别是什么”、“一个火腿三明治有多少卡路里”。系统毫秒级返回了精准的结果,例如列出了含有 220 卡路里的各类型三明治热量明细,检索质量极高。整个检索耗时仅为 83 毫秒左右。

面对这个结果,讲师总结道,很多人在各种培训班里学切块参数、学某特定向量数据库、学特定 RAG 框架的胶水代码,但现实是:面对 100 万条文档的生产级规模,仅靠一台普通的 MacBook,不靠任何第三方数据库,全内存暴力算也能在 83 毫秒内响应。“我其实基本上就是跟 Codex 嘴炮了一小段话可能花了 30 秒一分钟,然后等一会他就把整个检索系统这个网页全都打好了,”讲师指出,如果跟 AI 讲两句话就能把系统搭好,企业招人绝对不是为了买这点“写样板代码”的能力。企业要的是把私有数据打通并能真正“上线落地”的能力。

```mermaid flowchart LR accTitle: RAG 系统原型极简数据流 accDescr: 展示用户输入如何经由内存暴力穷举直接完成检索的架构 subgraph Client ["前端界面"] U["用户输入 Query"] W["典雅 Web 界面展示 Top 10"] end subgraph Engine ["内存全量检索(无向量数据库)"] E["OpenAI text-embedding-3-small 向量化"] M["100 万条向量原生内存矩阵 (Float32)"] S["CPU 暴力穷举相似度计算 (83.1 ms)"] end U --> E E --> S M --> S S --> W ```

- 系统免除了索引构建和向量数据库运维,100 万条数据纯内存穷举检索仅需约 83.1 毫秒。 - 很多中小企业的私有业务数据规模甚至达不到 100 万段落,暴力计算已完全满足性能阈值。 - “会搭建 RAG”在 AI 时代已经贬值为几句话的提示词交互,不再构成核心竞争力。

---

[10:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=600s) 算一笔商业账:从做题家到出题人的质变

系统看似很完美,但讲师指出,如果要真正“Ship 进 Production”,就会立刻撞上一堵现实的墙:这套系统内存占了多大?问了 Codex 之后发现,这 100 万条 1536 维的向量在内存中整整占了 6.14 GB。

讲师现场算了一笔账:如果一家公司要服务 100 个企业客户,每个客户的数据必须严格物理或逻辑隔离,各自独享进程。6 个多 G 的内存意味着单台机器至少要买 8 GB 内存的云服务器规格。查阅 AWS 当前报价,一台 8 GB 内存机器一个月约 49 美元;但如果能把内存砍到 2 GB 以内,换成 2 GB 内存的机器,一个月只要 12 美元。对于 100 个隔离客户来说,两者单月的差价就能累积成一年 4 万多美元的纯成本差异。不管是给老板省预算以求升职加薪,还是自己创业控制成本,这四万多美元都是“真金白银”。

然而,优化不是一句简单的“让 AI 去改代码”。教育体系一直把人训练成“做题家”:老师发试卷,学生填答案。当 AI 做题比人快百倍、代码写得又快又好时,做题家就会产生强烈的 FOMO(错失恐惧)。真正的商业竞争核心是“出题”——想到把内存塞进 2 GB 机器以省出 4 万美元,这是出题;而如何确保优化后系统依然可用,更是出题的考验。为此,必须先建立客观的基准卷子:利用微软数据集原生的标注,取出 100 道真实 Bing 搜索 Query,以“检索出的前 10 条结果中是否包含至少 1 条相关结果”为标准,计算“前十命中率(Top-10 Hit Rate)”。在当前 6.14 GB 的配置下,Codex 跑出的基准得分为 92%,并做出了直观的红绿仪表盘可视化。

“真正在商业上面创造价值的是出题,如果你能问出正确的问题,你不管你是招人还是用 AI 解决问题,这部分都是很简单的,”讲师强调,“所以在所谓学习 RAG 的过程里面,关键不是说怎么学技术,而是去学怎么样去出题。”

| 部署方案 | 实例规格 | 单台月成本 (AWS) | 100 客户年成本 | 成本节约 | |:--- |:--- |:--- |:--- |:--- | | **初始版本 (6.14 GB)** | 8 GB 内存 | ~$49 / 月 | ~$58,800 / 年 | 基线标准 | | **优化目标 (≤ 2 GB)** | 2 GB 内存 | ~$12 / 月 | ~$14,400 / 年 | **每年净省 $44,400+** |

---

[15:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=900s) 致命的性能倒退:技术直觉与盯住隐患

为了达到压进 2 GB 机器的目标,讲师向 AI 抛出第一道优化考题。Codex 提议将浮点数精度从 Float32 减半调整为 Float16:原先矩阵由 100 万个 1536 维的 Float32(每个占 4 字节)组成,换成 Float16(每个占 2 字节)理论上可直接抹掉一半内存。

讲师让 Codex 执行改动,结果内存确实精确地从 6.14 GB 降到了 3.07 GB。如果是只会抄教程、调 API 的工程师,可能看一眼内存减半就直接宣布成功上线了。但讲师敏锐地抓住了一个反常识的信号:查询延迟居然从 86 毫秒暴增至 168.9 毫秒,整整翻了一倍。

讲师点出其中的商业危机:延迟的本质是计算资源消耗和 CPU 周期。延迟翻倍意味着同一台机器单位时间内能承受的并发查询量减少了一半,为了扛住同样的业务流量,企业必须扩充一倍的实例数量。换言之,“辛辛苦苦省内存省下来的钱,又全被扩容机器花回去了”。有意思的是,Codex 在汇报日志时顺口提了一句变慢,却未加重视。人类工程师的核心价值在此刻凸显——拥有工业直觉,能从冗长报告中挑出最致命的破绽并重新追问出题。

讲师追问原因,Codex 分析发现罪魁祸首是底层计算库:Python 原生的 NumPy 在 CPU 上处理半精度浮点计算时缺乏硬件向量指令加速,导致计算变慢。讲师决定直接采纳 Codex 建议的最后一项方案——更换计算库,采用针对硬件加速优化的 MLX。切换后,延迟不仅没有翻倍,反而从初始的 86 毫秒大幅压缩到 12.8 毫秒。

“你改一个东西你改一个旋钮,你不仅要测根据经验觉得它会变的指标,你需要把所有的指标全都测一遍,这个就是技术直觉,”讲师以此总结道,“你知道答案在哪里其实没有这么重要……关键的是你知道要问什么问题。”

- Float32 转 Float16 成功将内存占用由 6.14 GB 压缩至 3.07 GB。 - 初次改动导致检索延迟从 86 ms 劣化至 168.9 ms,由于 CPU 跑 NumPy 半精度缺乏指令集优化所致。 - 换用针对性加速库 MLX 后,延迟瞬间从 168.9 ms 骤降至 12.8 ms,远优于最初的 86 ms。

---

[20:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=1200s) 维度截断与商业拍板:不可被替代的决策能力

即便降到了 3.07 GB,依然无法放进 2 GB 内存的机器(除去操作系统和基础程序开销,可用内存更小)。讲师继续追问 Codex。AI 给出的第二个突破口是降维(Matryoshka Representation Learning 特性):现代 Embedding 模型在训练时考虑了表征嵌套,即使只保留前一半维度,舍弃后半段,依然具备优良的表征能力。

讲师决定玩一把“疯狂的测试”,让 AI 进行全局扫参:对 16、32、64、128、256、512、1024、1536 等各级维度统统跑一遍实验,并绘制“维度 - 命中率 - 内存占用 - 耗时”的多曲线图。测试图表清晰显示: 1. 向量内存在维度减少时呈线性/指数级骤降; 2. 检索耗时基本不受影响甚至微降; 3. 前十命中率随着维度的极端压缩而明显下滑。

面对实验结果,系统面临权衡:1536 维时命中率为 92%;降到 1024 维时内存压缩到 1 GB 左右,命中率仅掉到 89%(只损失 3 个百分点);而如果进一步压到 512 维,内存能省至 512 MB,但命中率跌幅扩大。结合服务器需要预留内存给 OS 守护进程的现实,讲师拍板选择 1024 维、Float16 加 MLX 的组合方案。最终系统相较原版:**内存从 6.14 GB 骤减到约 1 GB(砍了 6 倍,稳稳塞进 2 GB 机器),命中率保持在 89%,查询延迟从 75~86 毫秒暴降至 9.5~12.8 毫秒**。

```mermaid flowchart TD accTitle: RAG 性能与成本优化决策流 accDescr: 展现从原始高内存开销方案,通过两轮出题优化达到商业落地要求的过程 subgraph Initial ["基线状态 Baseline"] A1["维度: 1536 (Float32)"] A2["内存: 6.14 GB (需租 8G 机器)"] A3["延迟: 83.1 ms | 命中率: 92%"] end subgraph Step1 ["第一轮出题:精度与计算库"] B1["优化点: Float16 + MLX 库"] B2["内存: 3.07 GB (未达 2G 目标)"] B3["延迟: 12.8 ms (消除 NumPy 劣化)"] end subgraph Step2 ["第二轮出题:维度截断与商业拍板"] C1["决策: 截断至 1024 维"] C2["内存: 约 1.0 GB (成功塞入 2G 机器)"] C3["延迟: 9.5 ms | 命中率: 89%"] end Initial -->|"改精度但发现延迟暴增"| Step1 Step1 -->|"内存仍超标,扫参截断维度"| Step2 ```

讲师由此总结,AI 虽然可以提供各种技术方案甚至代码实现,但它缺失宏观上下文:它不知道你有 100 个客户需要物理隔离,不知道 AWS 机器的月租阶梯,更不知道你的终端客户对“掉 3% 准确率但响应快 8 倍且成本大降”的接受度。这种场景永远没有机器给定的标准答案,最终的商业决断只能由人类拍板。

“落地靠的不是去配各种工具,靠的是出题还有拍板,”讲师最后告诫求职者与工程师们,“做题现在已经不重要了,你跟 AI 讲一句话他就帮你把代码写好了,做题这部分要交给 AI,真正值钱的部分是出题。所以对于 RAG 这个特定的问题来说,我们不要去学 RAG 的技术,我们要学的是在把 AI 接入公司数据这个具体的场景里面怎么样去出题……这个能力它是不会因为工具换代或者 AI 模型变强过期的,这个是最重要的。”

- 综合优化最终结果:内存占用砍了 6 倍(降至 1 GB),命中率仅微跌 3%(守在 89%),延迟降了一个数量级(降至 9.5 ms 左右)。 - 维度的选取(1024 维 vs 512 维)属于典型无标准答案的商业取舍,取决于企业商业模式和客户容忍度。 - 工程师的核心资产由“框架与工具记忆”转变为“定义评估指标、设计测试卷子、感知异常指标隐患及根据商业上下文拍板”的“出题能力”。

## Notable quotes > [20:00](https://www.bilibili.com/video/BV1yFxK6oEvD?t=1200s) 我们不要去学 RAG 的技术,我们要学的是在把 AI 接入公司数据这个具体的场景里面怎么样去出题……这个能力它是不会因为工具换代或者 AI 模型变强过期的,这个是最重要的。 — grapeot

## Mentioned RAG, Indeed, OpenAI, text-embedding-3-small, Codex, Superlinear Academy, AI Builder Space MCP, Microsoft, Bing, AWS, NumPy, MLX, Matryoshka Representation Learning, MacBook

## Video description 很多人都有这个困惑:打开招聘网站,光是 Indeed 上带 RAG 的岗位就有好几千个;但另一边,现在你跟 AI 说一句话,连索引和向量数据库都不用,几分钟就能把一套检索系统和网页搭出来。既然 AI 一句话就能做完,为什么公司还在到处招人?我们一直跟学员说不要去背切块、向量数据库和各种框架的搭法,那面试官到底在招什么能力?

这期视频用微软公开搜索数据集里的 100 万段中文语料做现场演示。算好向量放进内存占 6.14 GB,如果服务 100 个隔离数据的客户,换小机器一年能省四万多美元。我们的目标是把它塞进 2 GB 内存的机器里。你会看到 Codex 怎么帮我们改精度、换计算库、截断维度,把内存压到 1 GB,检索耗时从 75.0 毫秒降到 9.5 毫秒,同时用 100 道真实搜索题守住命中率。写代码、跑实验这些「做题」的事全交给 AI,人负责定评测标准、盯住延迟翻倍的隐患、在没有标准答案时拍板。看完你会明白,把 AI 接上私有数据并真正落地,靠的是出题。

完整课程和社区:https://www.superlinear.academy/?utm_source=bilibili&utm_campaign=dont-learn-rag

[Source](https://www.bilibili.com/video/BV1yFxK6oEvD)

中文简报

Codex实测将百万向量检索内存压至1GB 年省逾4万美元 AI已能数秒生成生产级检索架构,死记框架的工程师面临贬值,定义评测基准、盯防延迟隐患与拍板商业取舍的“出题能力”才是落地核心。 视频探讨了企业在 AI 能够几句话搭建检索原型的时代为何仍在大量招聘 RAG 人才的悖论。讲师利用微软公开的 100 万条中文搜索数据集进行现场演示,原型的内存穷举检索耗时仅需 83 毫秒,但 6.14 GB 的内存占用在百级多租户隔离场景下会导致高昂的云服务器成本。借助 Codex,讲师将优化重心转向制定 Top-10 命中率评估基准,并经历了将精度改为 Float16 后延迟暴增一倍的陷阱,随后通过更换 MLX 加速库与维度截断(降至 1024 维),成功将内存压至 1 GB、耗时降到 9.5 毫秒且保持 89% 的高命中率。核心结论表明,写代码与跑实验这类“做题”任务应全权交给 AI,工程师不可替代的价值在于针对商业上下文设立标准、洞察系统隐患并做出权衡决策的“出题”能力。 招聘市场上虽有数千个 RAG 岗位,但使用现代 AI 工具(如 Codex)可在数十秒内直接用内存暴力穷举跑通百万级文档检索原型,死记框架胶水代码已失去溢价。 (0:00) 在百万级向量检索中,将浮点精度由 Float32 减至 Float16 虽使内存从 6.14 GB 降至 3.07 GB,但由于 CPU 缺乏半精度指令加速会导致延迟翻倍(86 ms 增至 168.9 ms),需换用硬件加速库 MLX 将延迟压低至 12.8 ms。 (15:00) 通过 Matryoshka 维度截断至 1024 维并结合 Float16/MLX,系统内存最终压至约 1 GB,可塞入 2 GB 内存机器;按 100 个物理隔离客户计算,单凭该硬件降配每年即可为企业节省逾 4.4 万美元。 (20:00) AI 时代工程落地的核心分水岭已从写代码的“做题家”转变为设定评测集(如 Top-10 命中率)、盯紧隐性指标回退及权衡业务取舍的“出题人”。 (10:00)

Reading summary

讲师指出,虽然招聘市场上 RAG 相关岗位需求火热,但借助 AI 编码工具在极短时间内搭建检索系统原型的门槛已被打破;工程师的核心价值不在于机械套用框架和样板代码,而在于根据真实商业成本出题、敏锐识别系统隐患并对工程取舍进行商业拍板。 原型搭建门槛瓦解与做题能力贬值 (0:00) 针对招聘平台(如 Indeed)上大量涌现 RAG 岗位的现象,讲师认为这并不代表技术本身具有高深壁垒。RAG 的本质是通过向量检索把私有数据注入提示词上下文,底层依赖的是成熟的向量化技术。现场实验显示,调用 OpenAI 的 text-embedding-3-small 模型将微软评测集中的 100 万条切段文档转化为向量,仅耗费约 20 分钟和 2 美元出头的 API 成本。 在代码实现端,讲师向 Codex 下达简短的高层级提示词,要求不使用任何向量数据库、将数据全部载入内存进行余弦相似度暴力计算,并在本地启动典雅的网页演示界面。AI 仅用几十秒便完成了前后端开发,面对生产级规模的 100 万条数据,普通笔记本全内存计算的单次检索延迟仅约为 83 毫秒,且精准返回了答案。讲师指出,既然与 AI 简单对话就能在毫秒级实现生产级规模的原型检索,说明机械写胶水代码的“做题”技能已大幅贬值,不再构成核心竞争力。 多租户隔离账本与建立客观评估卷子 (10:00) 当原型系统准备走向商业化生产环境时,资源开销便成为核心瓶颈。系统在全内存配置下占用了 6.14 GB 内存。讲师算了一笔账:若面向 100 家企业客户提供严格的进程级物理或逻辑隔离服务,单客户 6.14 GB 意味着必须采购 8 GB 内存规格的云服务器,按 AWS 报价单台月租约 49 美元;若能将内存压进 2 GB 机器(单台月租约 12 美元),100 个客户一年可直接节约 44,400 美元以上的硬件成本。 讲师强调,商业价值的关键在于“出题”——从节约 4 万余美元的现实目标倒推技术改造。为了验证后续优化是否损害可用性,必须先确立客观评价体系。讲师利用微软数据集内 100 道真实搜索查询构建测试卷子,以前十条检索结果是否包含至少一条相关内容的“前十命中率(Top-10 Hit Rate)”为基准,测出初始系统的基准得分为 92%。 指标联动陷阱与硬件加速的技术直觉 (15:00) 为了将内存压缩至 2 GB 以内,AI 给出的首个方案是将浮点精度从 Float32 减半调整为 Float16。代码修改后,内存占用虽精准降至 3.07 GB,但查询延迟却从 86 毫秒暴增至 168.9 毫秒。讲师指出,缺乏工业直觉的开发者可能会忽视这一细节并直接上线,但延迟翻倍意味着单机并发承载能力腰斩,企业为了扛住流量将被迫扩容一倍机器,从而彻底抵消内存压缩带来的成本收益。 工程师的核心作用在于从 AI 的日志中捕捉反常信号并追根溯源。Codex 分析查明,延迟恶化是因为 Python 原生 NumPy 库在 CPU 上处理半精度浮点时缺乏底层硬件指令集加速。在讲师的要求下,系统切换为针对硬件优化的 MLX 计算库,使得查询延迟不仅摆脱了劣化,更直接压缩至 12.8 毫秒,远超初始版本的响应性能。 嵌套降维测试与商业上下文下的拍板 (20:00) 3.07 GB 依然无法稳定部署在预留操作系统守护进程的 2 GB 机器中。AI 提出了利用现代 Embedding 模型的表征嵌套(Matryoshka)特性进行降维。讲师让 AI 对 16 维至 1536 维进行了全局扫参,生成了涵盖维度、内存、耗时与命中率的关联图表。测试显示,向量内存随维度下降大幅降低,耗时保持平稳,而命中率则在过度压缩时显著失真。 面对数据曲率,讲师展示了机器无法替代的商业决策:将维度从 1536 维截断至 1024 维,并结合 Float16 与 MLX。优化后的系统内存占用骤减至约 1.0 GB(砍掉 6 倍并成功进驻 2 GB 机器),查询耗时降至 9.5 毫秒左右,而命中率仅从 92% 轻微让步至 89%。讲师认为,AI 不了解多租户隔离、云服务阶梯定价以及终端客户对 3% 精度换取数倍延迟提升的接受度,这类权衡决断只能依赖人类工程师结合具体商业场景来拍板。 讲师总结强调,AI 时代代码实现和做题的角色已转交机器,工程师不可替代的壁垒在于出题能力——即在接入企业数据的真实场景下,定义基准评测卷子、洞察异常性能指标的连带成本,并基于商业全局做出最终权衡。这种能力不会随着底层模型或工具链的迭代而过时。

Source quotes

[20:00] grapeot: 我们不要去学 RAG 的技术,我们要学的是在把 AI 接入公司数据这个具体的场景里面怎么样去出题……这个能力它是不会因为工具换代或者 AI 模型变强过期的,这个是最重要的。

Original transcript

[0:00] 我们一直跟学员说不要学RAG就是retrieval augmented generation可是大家如果打开招聘网站看的话会发现到处在招会RAG的人比如讲Indeed就是招聘网站上面在RAG港路有好几千个大家会觉得你这不是自己打自己嘴巴吗一方面公司在打两招你需要跟RAG相关的人才然后另外一方面我们又苦口婆心的劝大家不要学RAG不要学RAG对不对那今天呢我就想借这个视频把这个道理给他讲清楚我们不讲大道理我们就用一系列简单的demo我们用codex现场搭一个rag把它最核心的也就是检索的这部分搭出来给大家看一看从零搭一个生产规模的系统到底有多简单然后呢我们再去想一想那公司花钱招人招的到底是啥呢是招一个人要他知道怎么样在五分钟之内用AI搭出来一个rag系统吗还是说你花钱买的是一些更加本质的东西的那我相信看完这一整套demo里以后你就会明白了那我们首先来看一下这个RAG到底是什么东西啊就是对于不熟悉RAG的同学我先解释一下就AI很厉害对吧但是他有很多资料在公司内部才能拿得到所以呢这些资料他是不知道的你问他相关的问题他也答不上来怎么解决呢就是去做一个像诉说引擎一样的东西用户问一个问题公司内部的资料库里面把相关的段落给他抠出来然后塞到AI的上下文里面再让他再回答那他现在就有了相关的信息就能答上来了所以你可以看见RAG系统最核心的部分就是检索那也就是我们今天这个demo叫演示的东西具体的说呢一般来说我们有一个资料库就是公司内部的资料库我们希望用户输入一个问题我们怎么在这个资料库里面找到一次相近的段落那要想做到这一件事呢这个武器叫做embedding这不是一个新东西啊它已经出现好几十年了那讲白了呢它的意思说你把一段话变成一串数字这个数学上叫向量是一个多维的一个向量那它有一个特性两段话意思越接近你算上的向量它的距离就越短它就越接近为了这个demo我们叫一个资料库这资料库从哪来的呢我用的是微软的一个公开的搜索数据集它里面的问题或者说叫query都是来自于避应就微软搜索引擎上面真实的数据然后原始的它是英文的后来不论是文档还是query都有人用翻译把它翻译成了中文我们就从中文版里面100万个文档在这里呢每一个文档就是一个自然段它已经切好段了而事先呢为了节约时间我在录视频之前就算好了每一段的向量我们用的是OpenAI的一个embodding的模型当然我马上也会现场演示一下就说如果你什么都不跟AI说AI其实也可以非常快的搞清楚怎么样去调用相关的API去抽embodding然后我们不是有100万条文档吗我们之前抽了一下这100万条一共只花了大概20分钟左右的时间而且呢embedding模型特别便宜如果照官方价格这100万条文档也就2美元出头好那下面我们就先演示一下怎么样特别简单的让AI把这个embedding抽出来然后呢我们立刻再让Codex去动手把这个系统搭出来那我们现在就已经把Codex设到这个project里面了这个project里面呢就是我们的这样一个dataset那这里我们首先让AI去看一看这个dataset理解一下啊我这100万条数据到底是什么样的我要怎么去用它你去看一下这个文件夹下面有一个数据集你理解一下它的格式和规模然后在这个基础上我们会进一步去让AI调用Embedding API来抽取Embedding一般来说比如说我们可以让它去用OpenAI的API去做但是因为我们Superlinear Academy有一个非常好用的教学平台叫做AI Builder Space我们有一个MCP所以AI可以直接看这个MCP怎么样去写code用这个东西来做会更简单因此我们在这里会使用AI Builder Space来做当然在实际的工作中你如果直接跟AI说你去调研一下OpenAI的API怎么使用它也是没有任何问题的好我们可以看一下AI返回的结果这是一个百万段落规模的中文检测评测数据它有100个query100万个文档跟我们刚才讲的是一样的好我们下面就跟他说这样你用AI Builder Space 你去搞清楚怎么样去抽一个query比如说你从query.tsp里面你选一个query出来然后把它的embedding给它抽出来我们就用OpenAI的embedding好像叫什么text embedding3small [5:00] 他就知道先去查看AI Builder Space实际的接口我们的MCP会已经提供了API Key所以也不需要配置如果用OpenAI的话我们就需要给他一个API Key这些都是非常简单的事情如果大家不会的话你直接问AI他也会教你的在等待的过程中我们就可以跟AI去叙述我想要去做一个RAG系统了我们现在就可以再跟他说基于我们的Query我就想去做一个RAG系统或者准确的说是一个repreval的系统比如说我们的embedding你已经知道要用什么embedding了我想的是咱们不是有100万条数据然后embedding也抽好了咱们就去不要甚至不要用什么索引不要用什么向量数据库就把所有的向量放在内存里面用最土的方法穷举去算就好了咱们能不能这样我们去把这个系统做出来做出来以后我希望把它做成一个比如说网站一样的东西在我本地我把它打开直接在里面打它就能用起来对了我还希望这个网站它要比较典雅好看就我要不讲这句话的话我有点怕它出那种紫色的那种特别AI感觉的网站所以这个就是我们给它的prompt你看一下这个prompt它其实特别的简单像技术啊这类的东西也没有给他非常为难的要求我们给的指示都是非常high level的那这时候他就开始去做这个网站和后端了然后他已经在启动实际服务了用刚才的问题跑通检索并且检查页面效果哇已经出来了好那我们试一试啊比如说擦伤怎么处理他甚至给了我们几个事例的query他自己好像也要点是吧那我们先把它停了我们自己来点吧加拿大的三级政府分别是什么哇这么快吗擦伤怎么处理那我们可以看一下他说一个火腿三明治有多少卡路里我觉得他的结果还是挺好的比如说一个什么什么做的火腿三明治含有220卡路里火鸡三明治每人卡路里如下火腿有三明治卡路里还都质量还是挺高的我觉得这个就可以算是已经做出来了好回头看一下我们刚刚到底干了些什么事情我其实基本上就是跟Codex嘴炮了一小段话可能花了30秒一分钟然后等一会他就把整个检索系统这个网页全都打好了所以你看整个过程我们不需要什么特别复杂的东西你看我没有用所以没有用相当数据库但是要注意这是一个生产规模的东西它不是一个demo的玩具比如说它是有一百万条文档你要知道很多公司的业务规模甚至都不到一百万条的即使在一台Mac上面这不是一个正儿八经的服务器它也可以一下就搜出来咱们外包的这部分就是向量抽取咱都不管如果我们只看检索这部分的话它只要83毫秒就是几十毫秒这个量级就是100万个文档它也只要几十毫秒这个量级所以这已经满足很多公司的要求了但是这立马就带来另外一个问题就是说你既然跟AI讲几句话就能把整个系统搭起来而且立马就能用招人的公司哪有他不知道吗面试官这傻子吗他为什么还要大家去要会RAG呢所以我觉得这里咱们需要解释一下我们这里说的不学RAG指的是不要去像网上很多教程一样去学一步一步怎么搭我这里要切块用这个参数我那里要用限量数据库我要用特定的某一家的框架像这些东西都特别简单你跟AI只要讲一句话他立马就帮你搭好了就像刚才这样你看这么大规模的数据根本就不需要限量数据那招聘启示里面所说的RAG他到底想要要什么东西呢其实他要的是把一个东西给他落地也就是说我有个AI我想把它接上公司的数据要的是这种真正落地的能力当然我们这里面还牵扯到很多比如说权限啊安全啊之类的东西今天这里暂时先不展开但是这里面最关键的能力不是说你怎么样去接个准备样的接口跟你写代码其实关系都不太大我知道这么讲可能有些抽象我们现在就来看一看搭出来这套系统如果你真的要用的话你要ship进production其实它还有一个蛮大的问题在这里咱们可以去问它我看你现在已经有了说全量检索83.1毫秒之类的我就比较感兴趣啊如果我要把它这么大的索引之类的放到内存里面它要占多大空间呢 [10:00] 好你看啊这些向量它在内存里面占了6个多G那我们来算一笔账比如说啊我要管100个客户我们公司要serve 100个客户每个客户都有一份自己的数据而且彼此要隔离对吧那我有6个G的数据你怎么着也得租个8个G内存的云服务器吧那我刚查了一下AWS的价格8G币内存的服务器一个月大约是49美元如果啊我们要是能把内存把它砍下来把它塞到比如说两个G的服务器里面AWS一个月就只要12美元了那你想想如果你有100个客户的话一年这就差了4万多美元这个是真的是真金白银就不论你是大厂打工甚至加薪还是说你自己当老板这些都是很重要的所以那一个很自然的目标就是那我们跟AI一起看看到底能不能把它塞到两个G的机器里面呢在我们真的去做之前大家第一反应肯定是那你直接问AI不就行了吗你让他去做就可以我们确实打算是这么做但问题是比如说AI说没问题我帮你优化好了你敢直接上线吗这里我就觉得应该介绍一个概念就是说做题和出题在我们的教育过程中间不管是本科教育还是高中高考我们从小训练的目标都是成为一个做题家就是说你看老师发卷子我们写答案这就是为什么现在很多人这么恐慌这么FOMO的原因就是说在做题这件事情上面我们一直是觉得我很厉害结果现在AI做题做的比我们好多了你看不论是面试官还是我们自己刚才我们给AI处理道题我说你搭一套RAG系统哐哐哐就把它全做出来了而且它写的代码比我们写的又快又好但是问题就在于真正在商业里面真正决定能不能赚钱更多的像我刚才问的问题你敢不敢上线你能不能想到我要把它塞到两个G的机器里面这样能够省钱然后这个本质上已经不是做题了它是出题也就是说真正在商业上面创造价值的是出题如果你能问出正确的问题你不管你是招人还是用AI解决问题这部分都是很简单的所以在所谓学习RAG的过程里面关键不是说怎么学技术而是去学怎么样去出题比如说我们要考AI什么样的内容我们用什么题来考我们怎么给它判分这也一定程度上解释了为什么我们要用微软的这个数据集你看啊在这里我们用有一百道真实的搜索问题都是Bing上面用户输入的问题然后呢微软本来他就带了标注就说啊这个是用户的输入这个是搜到的文档他们俩之间是不是相关如果相关了AI这里就算做对了如果不相关AI就做错了这就是我们要AI做的一个卷子那我们判分呢就看一个东西叫做前十命中率也就是说搜出来的前十条结果里到底有没有至少一条是对的如果有的话那这个就命中率就有了好那我们就先拿这张卷子我们给AI做一下我们就测一个基准的分数出来非常好那我就想看一看在这个数据集里面我们每一个query不是有各自的标准答案吗我就希望咱们去量一下在当前的这个设置下面量一下它的前十命中率是多少也就是你搜前十个结果如果有至少一个结果是相关的我们就算它是对的然后取个平均就是前十命中率对了我还希望你把这个东西做一个dashboard仪表盘用比较visual的方式来向我展示出来就说我不想去看那些非常枯燥的表我就希望省一点我的脑力好 评测完成了现在是92%好的我们给他继续去做仪表盘然后他也给了我们一个仪表盘他说有92%然后有一些题是对的是绿色有一些题是错的是红色我们甚至可以点到具体的题目里面看看他哪一些题是错的行那我们这里具体就不再点了他自己还在做一些测试没关系那下面我们自然就要问他一个问题就有没有办法把它缩到两G以内那如果我想要降低对内存的占用的话像现在我可以怎么做呢你看我们就在给AI出题了看他怎么拿好把向量缩得更小或者不要所有向量一直占着内存那么第一个就是改存float16这是一个非常好的东西就是说我们主要开销就是这样一个矩阵每一个向量有1536维我们有100万个向量其中每一个维度我们用的是一个float32也就是四个字节如果你把它改成两个字节 [15:00] 让它的精度稍微下降一些改成float16这个就可以我觉得就可以减少一半的内存我觉得这个是一个非常好的办法咱们让它实现一下我觉得这样挺好的我们试一下把它改成float16看看好我们看一下这个结果这个结果非常有意思我们会发现向量的内存成功的从6.14G降到了3.07G它确实把我们的内存占用给降下去了这个方向是对的那如果我们直接就说接受好ship没有问题可以的如果是我们是那种会调rag会调embedding API就那种所谓会rag的人可能会觉得没问题看上去不错ship但是如果你真的有工程直觉就会发现这里有一个东西非常奇怪就是说这个时间它为什么反而变长了就直觉上你占用的空间降低了你的时间一般也会降低但是你看它的测量你会发现它的延迟从86毫秒反而变成168.9毫秒这件事情其实还蛮严重的因为延迟是跟成本相关的延迟背后就是基石是CPU的时间如果延迟要是翻倍了你同一台机器能同时接的查询的数量差不多就要少一半你就得把机器的数量给翻倍也就是说我们辛辛苦苦省内存省下来的钱你又花回去了所以这件事情直接决定我们能不能赚到钱能不能上线而且更有意思的是你看Codex刚汇报结果的时候他顺口说了一句说检索变慢了他提了一嘴这个但他没当回事这里我们的主要价值就是看一下能发现他汇报的这一诊断里面其实这句话是最要紧的他直接就让我们前面辛辛苦苦那这里为什么会变慢呢那问这个问题本身就是我们的价值我们在初题我们问一下他那这里到底为什么反而变慢了呢有没有可能我们不变慢呢我觉得你试一下最后一项吧就我这里解释一下他说的这个实验方案是完全合理的如果我们真的去做前三个的话最后还是得做第四个我就让他直接去做最后一项所以你看到做这道题其实很简单你直接让Codex去做他一查就查到了是咱们用的酷不对我们的酷叫Numpi在CPU上面算半精度它是没有加速的找到之后怎么去修也是做题所以我就让Codex你换个酷就行了至于这个酷是什么我们也不一定要知道其实我也是从他这学的我不知道之前可以用MLX这个酷而且这个东西有意思的是它比最开始的版本还要快它现在只要12.8毫秒然后如果我们回头看一下我们整件事情就是我们有一个经验教学你改一个东西你改一个旋钮你不仅要测根据经验觉得它会变的指标你需要把所有的指标全都测一遍这个就是技术直觉你知道答案在哪里其实没有这么重要尤其是在AI时代更不重要关键的是你知道要问什么问题好那我们回到这个demo现在内存是三个多G那问题是它还是塞不进两个G的机器对吧所以我们就继续问Codex老师还能再给力一些吗好的那如果我想继续再往下压缩的话还有什么思路呢这个很有意思他提出的一个东西叫做降维那我解释一下什么叫降维现在很多的embedding包括OpenAI的embedding顺序是经过设计的在训练的时候就有所考虑它虽然有1500维但是如果比如说你只把它前面一半留下来把后面一半就第一维到第768维留着把769维到最后全部扔了它仍然是一个非常好的embedding或者你砍到512维你砍到256维都没有问题它会有性能的下降但是它仍然是可以有效的进行retribble这是一个可以调的旋钮我们就可以让AI去做一些实验来看随着我们维度的降低那可能它的速度会上升可能它的内存占用会下降但是它的精度可能也会下降这就是为什么我们还要再测前世命中率的原因所以你看现在我们再给AI出一道这样的题行我觉得降维这个思路不错而且OpenAI Embedding还有一个好的特性就是我们再给AI出一道这样的题 [20:00] 你可以从前面直接看这么多维就可以了我在想我们可以做的比较疯狂一点比如说16维32维然后6412825651210241536这样我们都测一遍然后看看各个指标怎么变你就要画个图出来好它的结果出来了它给了一个图我们来看一看它是这样的我们维度的下降可以看见这个深率的曲线前十命中率它是在不断降低的这个和我们的猜测是一样的然后它的向量内存是指数向下降耗时倒没有太大影响那如果这样的话我们刚开始92感觉好像到89这边还是比较划算的原来是3072现在是1024可以省三倍的内存但是掉三个点比如说这掉了五个点但是可以装进512兆哇这还是挺纠结的考虑到咱们的机器一般还是需要比如说操作系统程序都是需要内存的我觉得这个1024兆是比较靠谱的它也有一定的速度的增益它的精度掉的也不多因此我们就这么跟它说吧好的我们就用1024兆的配置吧总结一下我们跟最开始的版本相比在精度和速度和内存上到底有哪些改进所以你看到我们通过一系列的优化把最终配置是float16用gpu来跑用位12尾把它的内存砍了6倍前10命中率只少了3个点耗时基本上提升了一个数量级这个是非常好的优化的结果然后我们想想刚才咱们做决策的过程了就是Codex它很可能会给你提供一些推荐但是很多时候因为它没有足够多的上下文比如说它只看了检索的效果它不知道我们要塞到两个G的机器里面去所以它提供的推荐未必是最好的就这个东西我们当然可以把上下文给它但不管怎么说我们先想到才能告诉他而你想到这个问题本质上还是一种出题所以要不要去比如说再砍到50012兆或者让他比50012兆稍微低一点点这些东西是一个见仁见智的问题你到底划不划算要不要这么做决策主要要看你的商业模式客户能不能接受这件事情没有标准答案的AI他也不知道你的业务约束是什么也不知道你具体客户有什么需求这个板只能你来拍所以通过这个demo我们回到刚开始的问题就是你看招聘网站上到时候在说要招聘所谓会rag的人我们又一直说不要学rag不要学rag到底谁错了呢其实都没错就是招聘要求里写的rag说的是你有没有能力把AI接上自己私有的数据并且真的把它落地至于rag的技术本身是其次的你要能看懂它的招聘启示讲的是什么但是落地靠的不是去配各种工具靠的是出题还有拍板所以我们回想一下刚才的过程我们搭网页界面我们换计算的库包括我们跑这个怎么结不同维度的曲线这些都是做题做题现在已经不重要了你跟AI讲一句话他就帮你把代码写好了做题这部分要交给AI真正值钱的部分是初题所以对于RAG这个特定的问题来说我们不要去学RAG的技术我们要学的是在把AI接入公司数据这个具体的场景里面怎么样去初题你不要去背那些框架那些工具怎么搭也不要去看相关的技术教程真正重要的是你改完一个东西之后你知道我要问什么问题我要怎么去评分那即使没有标准难案我也应该知道怎么去拍板怎么去决策这个能力它是不会因为工具换代或者AI模型变强过期的这个是最重要的