做 RAG检索增强生成的人迟早会撞上同一个问题用户问了一句话检索出来的结果却离题万里。这不是模型不行也不是知识库不够大而是检索的起点就出了问题。用户的一句提问和知识库里真正相关的文档之间往往隔着一道语义鸿沟——口语化的表达、模糊的指代、复合的问题结构都会让向量检索「找不准」。这篇文章我们聊聊 RAG 系统里解决这个问题的核心技术查询改写Query Rewriting和多路查询Multi-Query。为什么原始查询不够好向量检索的本质是在高维空间里做「距离计算」。用户输入的文本被编码成一个向量然后去知识库里找距离最近的文档片段。这个流程听起来很合理但现实中会遇到几个典型问题。**表达差异。**用户说「怎么让 AI 回答更准」但知识库里写的是「如何优化大模型的检索精度」——语义相近措辞完全不同向量空间的距离可能很远。**指代缺失。**多轮对话里用户说「它支持哪些模型」——这个「它」指的是谁如果不结合上下文补全检索引擎根本不知道该找什么。问题复合。「对比 LangChain 和 LlamaIndex 的优劣」——一个问题里包含两个子话题直接做向量化特征会被平均化两边的检索精度都会打折。一句话总结用户的原始查询几乎不可能是检索系统的最优输入。查询改写的核心思路就是在检索之前先用大模型把「用户真正想问什么」翻译成「知识库更容易匹配的表述」。六大查询改写策略目前主流的查询改写方案可以归纳为六类从轻到重各有适用场景。1. 基础改写Query Rewrite最直接的策略让大模型重新组织用户的提问去掉口语化的噪音提炼出更精准的检索表述。比如用户问「这个东西怎么弄啊太复杂了」改写后变成「如何配置 XX 功能的安装步骤」。本质上是去噪 规范化保留所有相关信息但让表达更接近知识库的书面语言风格。还有一种变体是关键词提取——从用户提问中抽取核心名词和主题词作为检索 query。适合知识库以关键词索引为主的场景。2. 多路查询Multi-Query这是本文的重点之一。思路很简单但很有效让大模型把同一个问题改写成 35 个语义相近但措辞不同的变体然后并行检索合并结果并去重。举个例子用户问「如何提升 RAG 的准确率」大模型可能生成变体 1优化检索增强生成系统的召回率变体 2RAG pipeline 中向量检索的精度调优方法变体 3query rewriting 和 reranking 在 RAG 中的实践变体 4减少检索增强生成中幻觉的技术方案不同的表述会命中知识库中不同的文档片段。多路并行检索后合并的结果覆盖面远大于单一查询。LangChain 提供了开箱即用的MultiQueryRetriever组件几行代码就能集成。3. 子问题分解Sub-Questions当一个复杂问题包含多个子话题时把它拆解成独立的子问题分别检索最后汇总结果。比如「对比 GPT-4 和 Claude 在代码生成和长文写作方面的表现」拆成四个子问题GPT-4 的代码生成能力、GPT-4 的长文写作能力、Claude 的代码生成能力、Claude 的长文写作能力。每个子问题独立检索精准度远高于把整句话直接向量化。子问题分解和多路查询经常被一起使用但侧重点不同多路查询是同义改写子问题分解是结构拆分。4. 退一步提示Step-Back PromptingGoogle 提出的一种策略当具体问题需要更广泛的背景知识才能回答时先生成一个更抽象、更宏观的问题来检索上下文。比如用户问「Python 3.12 的海象运算符有什么语法限制」退一步变成「Python 赋值表达式的语法规则和使用场景」。抽象查询能检索到更多基础知识文档和原始查询的结果合并后回答会更全面。5. 假设性文档嵌入HyDE一个很巧妙的思路先让大模型「假装回答」用户的问题生成一篇假设性的答案文档然后用这篇文档的向量去检索知识库。为什么这样有效因为假设性文档和知识库里真实文档的文风更相似都是书面语、专业术语在向量空间里距离更近。相当于用「答案的样子」去找「真正的答案」。6. 对话上下文补全Conversational Resolution多轮对话场景下的刚需。用户说「那它支持中文吗」——如果不结合历史对话这个「它」和「中文」都没有检索价值。做法是把完整的对话历史和最新一条消息一起交给大模型让它输出一个语义完整、不依赖上下文的独立 query。比如补全为「AgentScope 2.0 是否支持中文语言模型接入」。这是聊天类 RAG 应用的标配能力。检索结果融合RAG-Fusion多路查询带来了一个新问题多条查询并行检索后结果怎么合并最简单的做法是直接拼接 去重但这忽略了一个重要信息——不同文档在不同查询下的排名本身就是一种信号。一篇文档被 4 条查询都召回了而且排名都靠前那它大概率是最相关的。RAG-Fusion的做法是引入倒数排名融合Reciprocal Rank FusionRRF算法对每篇文档计算它在各查询结果中的排名倒数之和然后按这个分数重新排序。排名越靠前、被越多查询命中的文档最终得分越高。融合策略原理适用场景简单去重合并所有结果去除重复文档快速原型验证RRF 融合按排名倒数加权求和重新排序多路查询的标准方案Reranker 精排用交叉编码器对合并结果二次打分对精度要求高的生产环境自适应改写让模型自己选策略六种策略各有侧重生产环境不可能对每个查询都跑一遍所有策略。更聪明的做法是让模型根据当前查询的特征自动选择最合适的改写方式。人大和快手联合提出的 DMQR-RAG 框架就是这种思路。它在 prompt 中描述所有可用的改写策略基础改写、关键词提取、伪答案生成、核心内容提取配合少量示例Few-shot让大模型判断当前查询最适合哪种策略。实验效果很显著在 FreshQA 数据集上DMQR-RAG 相比最佳基线的 P5 提升了 14.46%在 HotpotQA多跳推理上P5 提升约 8%。多路改写 自适应选择的效果明显优于单一固定策略。生产环境的路由策略在实际系统中查询改写意味着额外的模型调用和延迟。为了平衡效果和成本工程上通常采用分级路由1 **快速通道。**简单明确的问题如「XX 的 API 文档在哪」直接检索跳过改写2 **基础改写。**口语化或含指代的问题先做改写或上下文补全再检索3 **多路增强。**复合问题或基础召回质量不达标时触发多路查询 RRF 融合4 **精排兜底。**对结果质量要求极高的场景额外加一轮 Reranker 交叉编码器精排一个实用原则不要对所有查询都使用最重的策略。多路查询 RRF Reranker 的组合效果最好但延迟和成本也最高。分级路由的核心就是让「简单问题走快车道复杂问题才上大模型」。策略速查表最后整理一张表方便在实际项目中快速选择策略核心思路最佳场景成本基础改写去噪 规范化表述口语化输入低多路查询35 个变体并行检索提升召回率中子问题分解拆解复合问题为子问题对比、多维度问题中退一步提示泛化为更抽象的问题需要背景知识时低HyDE用假设性答案做检索问答型知识库中上下文补全消解指代生成独立 query多轮对话低写在最后RAG 系统的上限往往不是由生成模型决定的而是由检索质量决定的。再强的模型喂给它不相关的上下文也只能「一本正经地胡说八道」。查询改写和多路查询本质上是在检索之前多做一步「理解用户意图」的工作。从基础改写到多路查询再到 RAG-Fusion 的结果融合这套组合拳已经是当前 RAG 工程实践中被验证过的有效提升路径。如果你的 RAG 系统还在直接用原始 query 做检索不妨从多路查询开始试起——投入产出比最高的一个策略。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】