2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

加了Query改写,准确率从71%提到89%

发布日期:2026-07-06 15:02:26 浏览次数: 1528
作者:客经AI实战派

微信搜一搜,关注“客经AI实战派”

推荐语

Query改写是提升RAG系统准确率的关键一步,从客户模糊提问中精准识别真实意图。

核心内容:
1. Query改写的重要性与常见误区
2. 三种Query改写方法对比与应用场景
3. 意图识别Prompt模板与实战案例

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家
客户问"怎么退"不再答非所问 | 知识库系列续篇②
客经AI实战派 | 2026年7月
图1  Query改写:把客户说的话,翻译成搜索引擎能理解的话
私信「改写」获取 Query改写Prompt模板 + 意图词典JSON
 
有一个客户问题,我记到现在。
"这个保险能退吗?"
把这句话原样扔进知识库搜索。你猜搜出来什么?
退保流程。
第一步登录APP,第二步我的保单,第三步选择保单……完完整整的退保操作指南。
客户真正想问的是什么?"退了我能拿回多少钱。"
一个字——"退"——让整个检索跑偏了。
这就是RAG最被低估的一环:Query改写。 客户说的话,不等于他想问的事。
 
RAG链条上最沉默的瓶颈
做RAG的人,注意力通常在这三个地方:
1. Embedding模型(用哪个?bge还是m3e?)
2. 分块策略(上篇讲了)
3. Prompt(怎么让大模型用对上下文)
很少有人在Query上花时间。Query进来了,原样扔给搜索引擎。搜到什么算什么。
但真实世界的客户提问是这样的:
表1  客户说的话 vs 客户想问的事
客户实际说的
客户真正想问的
"这个保险能退吗"
退保能退多少钱
"那个红的和蓝的有什么区别"
产品A和产品B的保障范围对比
"上次你说的那个"
历史对话中提到的某条具体信息
"我身体不太好"
有既往病史能不能投保
"划不划算"
产品的IRR或现金价值测算
 
每一行的左边,直接搜索都会跑偏。
这不是Embedding模型的问题。是Query本身就没表达清楚意图。把模糊的问题扔进再好的搜索引擎,出来的结果也是模糊的。
图2  RAG全链路:Query改写是最被低估的一环
 
Query改写的三种方法
我实际用下来,有三种方法覆盖了80%以上的场景。按实现成本从低到高排列。
图3  三种Query改写方法对比
方法一:同义词扩展(10分钟可上线)
最直接的方法。维护一个同义词词典,搜索前自动扩展。
{
  "退": ["退保", "退费", "退款", "解除合同", "取消保单"],
  "交钱": ["缴费", "续费", "保费", "扣款", "支付"],
  "赔": ["理赔", "赔付", "报销", "索赔", "出险"],
  "改": ["变更", "修改", "更新", "调整", "更换"]
}
客户搜"怎么退",系统自动扩展成「退保 OR 退费 OR 退款」。覆盖率和精度都不错。
局限:只能解决"说法不同"的问题。解决不了"意图不同"的问题。客户说"这个保险能退吗"和"怎么退保"在关键词层面差不多——但意图完全不同。
方法二:意图识别 + 改写Prompt(核心方法)
这才是真正解决问题的那一步。
思路:检索之前,先让大模型把客户的原话"翻译"成搜索引擎能理解的标准查询。
Prompt模板:
你是一个保险客服的查询理解助手。客户会用口语化的方式提问,
你的任务是把客户的话改写成适合知识库搜索的标准查询。
 
规则:
1. 识别客户真正的意图(是问流程?问价格?问规则?还是比较?)
2. 补全省略的信息("这个保险"→具体产品名,如果上下文有的话)
3. 把口语化表达转成书面表达
4. 输出1-3个不同角度的搜索查询
5. 不要编造客户没问的信息
 
客户原话:{user_input}
 
输出格式:
意图类型:[流程咨询/费用查询/规则解释/产品对比/其他]
改写查询:
1. xxx
2. xxx
3. xxx
用这个Prompt,客户问「这个保险能退吗」→
意图类型:费用查询
改写查询:
1. 退保能退多少钱 现金价值计算
2. 退保条件 犹豫期退保 正常退保
3. 退保需要什么材料 退保流程
第1条和第2条直接命中正确的知识库条目。而不是像原问题那样搜出退保操作指南。
方法三:多轮对话上下文(进阶)
这是处理「上次你说的那个」「和刚才那个有什么区别」这类问题的。
思路:把对话历史传给Query改写步骤,让它理解"那个"指什么。
对话历史:
用户:分红型终身寿险有哪些?
客服:目前主要有A款和B款两种...
用户:这两个有什么区别?
 
改写后的Query:A款分红型终身寿险 和 B款分红型终身寿险 保障范围 收益方式 区别对比
三种方法可以组合使用:同义词扩展打底 + Prompt改写做核心 + 多轮上下文做进阶。 实现顺序也是这个顺序。
图4  Query改写工作流程:从客户原话到标准查询
 
实测数据:100个问题,改之前和改之后
我把同一批100个真实客户问题,分别用"原样搜索"和"Prompt改写后搜索"各跑了一遍。
同一套知识库(1200条客服Q&A),同一个Embedding模型,同一个分块配置。
表2  Query改写前后效果对比
指标
无Query改写
有Query改写
提升
Top-1命中率
46%
71%
+25pp
Top-3命中率
71%
89%
+18pp
平均回复相关度
3.1/5
4.4/5
+1.3
完全答非所问率
18%
4%
-14pp
 
图5  四项核心指标改写前后对比
"完全答非所问"从18%降到4%。 这个数字最关键。因为答非所问是最伤害用户信任的——比"没搜到"更糟糕。
我拆开看了一下,Query改写效果最好的三类问题:
1. 口语化问题("这玩意能退不"→改写为"退保条件+退保金额"):命中率 38%→82%
2. 模糊指代("那个红的"→结合上下文改写为"XX产品"):命中率 25%→76%
3. 多意图混合("能不能换人+换了之后保费变不变"→拆成两个独立查询):命中率 52%→91%
效果最差的一类:客户自己都不知道想问什么的问题。 比如「我就是想了解一下」。这类问题占测试集的6%,Query改写也救不了——只能用多轮对话慢慢引导。
 
一个Prompt模板,覆盖80%的场景
上面的Prompt可以直接用。但要发挥最大效果,有几个细节:
细节一:一定要输出多个改写查询,不是只输出一个
原因是:一个改写可能方向对了但措辞不对。3个不同角度的查询,相当于给了搜索引擎3次尝试的机会。
实测3个查询的命中率比1个高14个百分点。
细节二:意图类型要包含在你的知识库分类体系里
如果你用的是LlamaIndex,可以把意图类型映射到metadata filter,在检索时加过滤条件:
# 如果意图是"费用查询",优先检索费用相关的文档
if intent == "费用查询":
    retriever = index.as_retriever(
        similarity_top_k=5,
        filters={"category": "费用"}
    )
这相当于给搜索引擎加了导航——不仅告诉它搜什么,还告诉它去哪搜。
细节三:不要把Query改写当成独立的"预处理步骤"
把它嵌在检索流程里,改写和搜索交替进行:改写Query→搜索→如果结果置信度不够→用搜索结果再改写→再搜索。这个来回最多两次,成本几乎不增加,但效果能再提3-5个点。
 
三个常见的坑
坑一:改写得"太聪明"
Prompt写得过于详细,大模型开始编造客户没问的条件。比如客户问"这个能退吗",改写后变成"某分红型终身寿险犹豫期内退保现金价值计算"——产品名和"犹豫期"都是大模型自己加上去的。
解法:Prompt里明确要求"不要添加客户没说过的具体信息"。
坑二:改写延迟太长
Query改写步骤本身需要调用一次大模型API,增加0.5-2秒延迟。如果每次搜索都等这个延迟,交互体验很差。
解法:流式处理。改写和搜索并行——先用原Query搜一版结果展示,同时后台跑改写,改写完成后再搜第二版替换。用户感知不到延迟。
坑三:多轮对话的改写越改越偏
对话超过5轮后,上下文太长,大模型开始"猜"客户的意图,越猜越歪。
解法:限制上下文窗口为最近3轮对话。超过3轮的旧信息不传给改写Prompt。
 
总结
Query改写是RAG里成本最低、效果最快的优化手段。不用改Embedding模型,不用重建索引,不用调整分块。加一个Prompt模板,改几行代码。
客户说的话和系统搜的东西之间,差的不只是一个同义词词典。差的是一个"理解客户真正想问什么"的步骤。
这个步骤,就是Query改写。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅