本文以面试问答形式,系统性地梳理了 RAG 检索优化的四层框架:索引层、查询层、召回层和重排序层,并给出了各层的具体优化手段和组合方案。
📝 详细摘要
文章从一个真实的阿里 Agent 岗位面试场景切入,指出「调参」等零散手段无法系统性地解决 RAG 检索效果不佳的问题。作者提出了一个四层优化框架:索引层通过 Parent-Child Chunking、摘要索引、多粒度分层索引解决检索粒度与上下文完整性的矛盾;查询层通过 Query 改写、Multi-Query 扩展、HyDE、Step-back Prompting 等方法弥合用户提问与知识库表述的鸿沟;召回层通过向量检索与 BM25 等多路召回结合 RRF 融合算法,互补单一检索路径的盲区;重排序层利用 Cross-encoder 结构的 Rerank 模型对粗召结果进行精排,确保送入 LLM 的内容高度相关。文章最后给出了典型的生产级组合方案:Parent-Child 索引 + 向量 BM25 多路召回 + Rerank 精排,并强调了检索优化是 RAG 系统中投入产出比最高的环节。
💡 主要观点
- RAG 检索优化需要系统性的四层框架,而非零散手段。 文章将优化分为索引层、查询层、召回层和重排序层,每层解决不同问题,组合使用才能达到最佳效果。
💬 文章金句
- 检索是 RAG 的命脉,检索召回的内容就是整个系统的天花板。
- 生成层的优化是锦上添花,而检索层的优化是从根本上提升系统的能力上限。
- 索引层决定「仓库里放了什么」,查询层决定「用什么钥匙开门」,召回层决定「从哪几扇门进去找」,重排序层决定「把找到的东西里最好的几件带出来」。
- 小 chunk 检索准但内容太碎,大 chunk 内容完整但检索时语义稀释。
- 向量检索像是只看了两个人的简历就判断他们合不合适合作,而 Cross-encoder 是把两个人放在一个房间里,观察他们怎么交流、怎么配合。
📊 文章信息
AI 初评:87
来源:小林coding
作者:小林coding
分类:人工智能
语言:中文
阅读时间:25 分钟
字数:6048
标签: RAG, 检索优化, 面试题, 索引优化, 查询优化