字节 AI 二面挂了!被问“RAG 召回率只有 60% 怎么救?”,我答了换模型,面试官:你回去等通知吧!
RAG 系统上线,用户反馈“搜不到”或“答非所问”,排查发现检索召回率只有 60%,怎么办?本文拆解 RAG 深度优化的四重境界:从数据清洗与分片策略到多路复用与混合检索,从Rerank(重排序)的降维打击到HyDE(虚拟文档)的奇招。带你掌握 AI 工程师的进阶护城河,文末附面试话术。
写在开头
前两天有个兄弟去面字节 AI Lab,二面被一个看起来很“玄学”的优化题给问懵了。
面试官: “我们现在做一个企业级知识库,RAG 链路跑通了,但测试发现召回率只有 60%,很多关键信息大模型根本看不见。你打算怎么把召回率提上去?”
这哥们寻思现在模型迭代快:“简单啊!把 Embedding 模型从 text-small 换成最新的 text-large,或者把底座模型换成 GPT-4o,推理能力强了自然效果好。”
面试官听完,脸直接黑了:
“换模型谁不会?模型是脑子,召回是眼睛。如果眼睛瞎了,脑子再强也是瞎猜。我问的是怎么修眼睛,你跟我说换脑子?你对数据 pipeline 的理解就这?”
他当场宕机。 其实,这道题考的是“RAG 全链路精细化工程”。今天 Fox 带你拆解让 RAG 召回率从 60% 飙升至 95% 的硬核手段。
一、 第一重境界:数据是“药引”,分片是“刀法”
RAG 的第一步不是检索,是处理数据。召回率低,80% 的锅在数据处理阶段。
1. 别让“脏数据”污染向量空间
如果你的文档里全是乱码、无效 HTML 标签或重复内容,向量化后的空间分布就是一团浆糊。
- Fox 的锦囊:必须做精细的 ETL。PDF 解析是第一大坑,要用 Marker 或 Layout Analysis 这种感知布局的工具,把表格、标题、正文结构化,而不是简单的文字堆砌。
2. 暴力分片(Chunking)是万恶之源
很多人固定按 500 字符切分。结果:一句话被切成了两半,语义全碎了。
- 硬核策略:
- 语义切分:监听语义变化点,保证一个 Chunk 内部语义完整。
- 父子索引(Parent-Child Retrieval):检索时用小的子块(100字)保证精准度,喂给大模型时带上大的父块(1000字)提供上下文背景。
二、 第二重境界:混合检索(Hybrid Search)是底线
如果你的系统只用了向量检索(Vector Search),那召回率 60% 一点也不奇怪。
为什么向量检索会失效?
向量检索擅长“模糊语义”,但不擅长“精确匹配”。 比如用户搜 iPhone 15 Pro Max,向量检索可能回给你一堆关于 手机、科技产品 的废话,却把最关键的型号给漏了。
- 解法:向量检索 + 关键词检索(BM25)。
- 利用传统搜索的精确度,配合向量的模糊感。
- 倒排索引负责保底(确保关键词在),向量索引负责上限(理解你在说什么)。
三、 第三重境界:Rerank(重排序)是绝杀
这是大厂 RAG 系统中绝对不能缺省的模块。
初路检索(Retrieval)为了速度,通常从 1 亿个文档里粗选出 100 个,这 100 个里面可能混进了大量噪音。
- 策略:引入Rerank 模型(如 BGE-Reranker)。
- 原理:初路检索用的是单向量比对(速度快),Rerank 用的是 Cross-Encoder 模型(深度理解 Query 和 Doc 的关系)。
- 效果:它能对初选的 100 个文档重新打分,把真正相关的排到 Top 5。召回率的提升,往往就在这最后一步的筛选。
四、 第四重境界:Query 变换(让用户“会提问”)
有时候召回率低,是因为用户提问太简略。
1. HyDE(虚拟文档)
- 骚操作:拿到用户的 Query 后,先让 LLM 伪造一个“理想答案”,然后用这个伪造的答案去数据库里搜文档。
- 原理:“答案搜答案”的向量距离,永远比“问题搜答案”要近。
2. 多查询扩展(Multi-Query)
- 策略:让 LLM 把用户的一个问题改写成 5 个含义相同但措辞不同的问题,分别去检索,最后取并集。
五、 面试标准回答模板(建议背诵)
“针对 RAG 召回率优化,我认为不能单纯依赖更换模型,而应从‘数据表征、检索策略、后处理’三个维度进行工程化重构:
- 数据层:抛弃暴力切分,引入语义切分和父子索引结构,通过精细化 ETL 提升 Chunk 的语义质量。
- 检索层:开启多路复用混合检索(Hybrid Search),结合向量检索的语义理解与 BM25 的关键词精确匹配,解决专有名词召回难的问题。
- 后处理层:强制引入Rerank(重排序)模块。初路检索负责‘大网捞鱼’,Rerank 负责‘精准识别’,利用交叉编码器模型彻底过滤噪音。
- 查询增强:利用HyDE 或 Query Rewriting技术,将简略的 Query 转化为更贴近语料库分布的表征,进一步提升召回天花板。”
写在最后
RAG 系统的调优,本质上是对数据分布的极致掌控。
如果你只会调包、调 API,那你永远只是个“提示词工程师”。在大厂 AI 面试中,能聊出“父子索引的权衡”、“Rerank 的计算开销与效果平衡”、以及“如何评估召回质量(Hit Rate/MRR)”,这才是你的身价所在。