本篇 10 题|覆盖初级到高级|查询理解与改写。先用自己的话回答,再核对参考要点,最后练习工程追问。

本篇目录
- RAG-061 为什么需要查询改写?
- RAG-062 多轮问题如何补全指代?
- RAG-063 多查询召回什么时候有效?
- RAG-064 HyDE 的思路与风险是什么?
- RAG-065 问题分解如何帮助多跳检索?
- RAG-066 什么时候应该先做结构化过滤?
- RAG-067 如何处理过短的问题?
- RAG-068 查询改写模型怎样评测?
- RAG-069 用户问题中包含错误前提怎么办?
- RAG-070 什么时候不用模型改写查询?
RAG-061 为什么需要查询改写?
难度:中级
参考答案:用户问题可能有省略、口语或领域别名,改写帮助形成可检索的表达。必须保留用户真正意图和约束,并记录原始与改写查询;改写不能擅自补充不存在的前提。
工程追问:改写把否定词删掉会造成什么结果?
RAG-062 多轮问题如何补全指代?
难度:中级
参考答案:依据当前会话中经过确认的实体与条件,生成独立检索问题。对歧义指代应追问或保留多个候选,不能任意选择;长期记忆与近期用户修正的优先关系要明确。
工程追问:“它的限制呢”应该指向哪个对象?
RAG-063 多查询召回什么时候有效?
难度:中级
参考答案:当问题存在多种表达或多个信息角度时,可以生成不同查询并合并证据。要控制数量、去重和预算,并评测是否真的补充有效来源,避免多个近重复查询仅增加调用开销。
工程追问:怎样统计每个改写查询的独立贡献?
RAG-064 HyDE 的思路与风险是什么?
难度:中级
参考答案:先生成一个假设性文档作为检索表达,再寻找相关真实资料。假设文本不是证据,可能引入偏差;最终回答必须依据检索到的原文,并与普通查询基线比较。
工程追问:假设文档中编造的实体怎样影响召回?
RAG-065 问题分解如何帮助多跳检索?
难度:中级
参考答案:将需要多个关系或步骤的问题拆成可验证子问题,检索后再组合。需要记录子问题依赖和证据链,限制递归深度;某一步没有证据时不能继续把猜测当成下一步事实。
工程追问:如何避免错误实体在后续步骤不断放大?
RAG-066 什么时候应该先做结构化过滤?
难度:中级
参考答案:当问题明确包含部门、日期、文档类型或产品版本等条件时,先用可信元数据限定范围,再做相关性搜索。过滤值需校验,不能把模型猜出的部门直接当成用户权限。
工程追问:过滤条件识别错误如何回退?
RAG-067 如何处理过短的问题?
难度:中级
参考答案:结合业务入口、会话与必要追问补充范围,保留明确默认值。不要无条件把短问题改写成复杂长句;改写可能让检索偏向错误主题,应比较原始查询与补全版本。
工程追问:“报销”一个词应该如何进入查询流程?
RAG-068 查询改写模型怎样评测?
难度:中级
参考答案:不仅检查语言流畅,还要看实体、时间、否定和限制是否保留,以及检索和答案是否改善。用改写失败样本建立回归集,避免只对改写文本本身进行主观评分。
工程追问:怎样发现改写引入了新的事实?
RAG-069 用户问题中包含错误前提怎么办?
难度:中级
参考答案:先检索或验证关键前提,区分已知事实与用户假设。若证据不支持,应解释冲突或要求澄清,而不是围绕错误前提生成完整答案;检索查询也不能默认接受这个前提。
工程追问:“去年已取消的制度”实际仍有效时怎样回答?
RAG-070 什么时候不用模型改写查询?
难度:中级
参考答案:明确编号、精确名称、稳定筛选条件和已有有效检索表达的请求,常可直接查询。模型改写会增加延迟和意图变化风险;应通过路由和基线评测决定是否启用。
工程追问:如何给精确查询设置直达路径?
复盘练习
任选一题,用“场景与约束 → 方案 → 验证方法 → 失败边界”组织一段回答。初级先讲清概念,中级补实现与测试,高级补成本、权限和故障取舍。难度标签是学习建议,同一题可继续深入。
延伸阅读
以下为本模块相关原始论文与官方文档,用于继续学习;本文为原创面试要点整理,具体框架行为以所用版本为准。