🧭AI 产品修炼场
实战约 15 分钟第 10 / 30 章

检索质量优化:分块、向量与重排序的产品视角

本课程从产品经理视角拆解 RAG 检索链路的三大优化点:文档分块策略、向量模型选择与混合检索、重排序机制。你将理解每个技术选择背后的产品权衡,学会用命中率数据驱动优化优先级,而不是盲目堆砌技术方案。

📖 本页目录

    检索质量决定 RAG 的天花板

    RAG 系统里,生成模型再强,检索不到相关材料也是“巧妇难为无米之炊”。线上 bad case 分析的常见结论是:大部分“答错”其实是“没查到”或“查到的排太后”。本节聚焦检索链路的三个关键优化点:分块、检索、重排序。

    分块:最容易被低估的决策

    建索引时要把长文档切成小块。块的大小和方式,直接决定“检索命中的最小单元”是什么。

    块大小的权衡

    块大小 优势 代价
    小(100-200 字) 检索命中精度高,上下文干净 语义被切断,命中但信息不足
    大(500-1000 字) 上下文完整,一次带够 噪音多,相似度被稀释,成本高

    产品视角的理解:块是信息和噪音的平衡单位。没有万能最优值,取决于文档类型——FAQ 适合按问答对切,产品手册适合按章节切,聊天记录适合按会话切。

    三条实用原则

    1. 在语义边界切:按标题、段落、章节切,而不是机械按字数切。切在句子中间的块,两边都废。
    2. 保留元数据:每个块挂上来源文档、章节路径、更新时间。产品上要展示引用来源、按时间过滤,全靠它。
    3. 允许重叠:相邻块重叠 10-20%,减少关键信息正好被切断的概率。

    产品决策提示:分块是低成本高收益的优化点。先用 20 条真实用户问题测不同块大小的命中率,一小时的实验经常胜过一周的模型调参。先测再改,用数据定参数。

    检索:向量不是唯一答案

    向量模型的选择

    embedding 模型决定“语义相近”的计算方式,不同模型在不同语言、领域的表现差异很大。产品层面关注两点:

    • 中文语料选对中文友好的模型,通用英文模型的中文语义区分度常常不佳;
    • 定期重评:换 embedding 模型意味着全量重建索引,是一次性大动作,要预留工期和预算。

    混合检索:关键词 + 向量

    纯向量检索会输在精确匹配场景:用户搜“错误代码 E4021”,向量语义相似度不如关键词匹配准。生产系统的标配是混合检索:

    • 向量检索负责语义泛化(“怎么退货” 匹配 “退换货流程”);
    • **关键词检索(BM25)**负责精确命中(编号、专有名词、人名);
    • 两路结果用加权或融合策略合并。

    查询改写

    用户提问往往口语化、多轮对话里有指代(“那它的价格呢?“里的”它”)。在检索前加一步查询改写——把口语问题结合对话历史改写成独立、完整的搜索查询——是性价比极高的优化。多数“多轮对话第二轮就查不到”的问题,根因都在这。

    重排序:用精排换精度

    初检(向量 + 关键词)为了速度会放宽门槛,比如取回 top 50;重排序模型(reranker)再用更强的算法对这 50 条精排,取前 5 给生成模型。

    产品视角的理解:初检是海选,重排是终审。重排模型计算更重、延迟更高,所以只对少量候选做。引入重排序通常是检索质量提升最明显的单点优化,常见收益是命中率提升 10-20 个百分点。

    产品决策提示:优化优先级建议——先修数据(分块、文档质量),再加混合检索和查询改写,最后上重排序。顺序反了,是在脏数据上堆精密算法,投入产出比很差。

    用指标驱动优化

    检索优化最忌讳“听说 XX 技术好就上一个”。固定两个评测集:

    • 查询-应得文档对:50-200 条真实问题,标注哪些块是正确答案来源;
    • 分层指标:Recall@5(前 5 个结果包含正确块的比例)、MRR(正确结果排位)。

    每次改动跑一遍。没有这两个数,所有优化讨论都是观点之争。

    本节要点

    • 检索质量是 RAG 天花板,多数“答错”实为“没查到”,优化前先定位到分块、检索、排序哪一环。
    • 分块按语义边界切、保留元数据、允许重叠;块大小用真实问题实验确定,不迷信默认值。
    • 生产标配是混合检索(向量 + BM25)+ 查询改写,解决语义泛化与精确匹配的两难。
    • 重排序是海选后的终审,通常是单点收益最大的优化,但放在数据质量修好之后。
    • 建立“查询-应得文档”评测集和 Recall@5 / MRR 指标,让优化从观点之争变成数据驱动。
    📝

    章节小测

    3 道题 · 检验一下刚学的内容

    Q1.用户搜错误代码 E4021 查不到,暴露了纯向量检索什么短板?

    Q2.多轮对话第二轮开始查不到资料,最可能的根因是什么?

    Q3.课程建议的检索优化先后顺序是?

    答题后显示结果

    完成这一节了?

    打卡记录保存在你的浏览器本地,方便追踪学习进度。

    💬

    学习留言

    写下你的疑问或心得 —— 仅你自己和站长可见

    🔒 私密