重排序:检索精度翻倍的关键 重排序(Reranking)是 RAG 系统中提升检索质量的关键环节。它位于初始检索之后、大模型生成之前,通过更精确的模型对候选文档重新打分排序,筛选出最相关的内容。向量检索用的双编码器虽然速度快,但无法捕捉查询与文档之间的细粒度语义交互,导致检索结果里经常混进「看起来相似但实际无关」的文档。重排序能将检索准确率提升 15-40%,同时减少约 30% 的无效上下文。什么是重排序重排序是在初始检索后,用更精确的模型对候选文档重新打分排序的过程。它位于检索流程的中间位置:先从知识库中快速召回一批候选文档(通常 20-50 条),再用更精确的模型对这些候选进行精细排序,最后只保留最相关的几条(3-5 条)送入大模型。这就是经典的「粗筛 + 精排」两阶段策略。粗筛阶段追求速度,从海量文档中快速筛选出可能相关的候选;精排阶段追求精度,对候选进行深度分析找出真正相关的内容。为什么需要重排序向量检索用的双编码器有个先天缺陷:它分别编码查询和文档,再计算两者之间的相似度。这种方式速度很快,但无法捕捉查询与文档之间的细粒度语义交互。举个例子:用户问「退货流程是什么」,双编码器可能会把「退货政策」、「退款方式」这些文档都召回,因为它们都包含「退货」这个词。但真正相关的是「退货流程步骤」这篇文章,双编码器很难识别出这个细微差别。结果就是检索结果里混进了大量「看起来相似但实际无关」的文档。这些噪声文档会直接影响大模型的生成质量,甚至导致幻觉。重排序就是为了解决这个问题。它用交叉编码器将查询和文档拼接后联合输入模型,通过自注意力机制计算两者的深层交互,精度远高于双编码