人人都会AI编程

问题分类:不同类型问题匹配不同检索策略

更新时间:2026-07-12

在 RAG 系统落地过程中,一个容易被忽视但影响很大的环节是:用户的提问本身类型多样,如果一刀切地使用同一种检索方式,效果往往不理想。 有的问题需要精确匹配某个术语,有的问题需要理解语义相近但表述不同的概念,还有的问题需要综合多份文档才能回答。针对不同的提问特征,设计对应的检索策略,能让检索结果更精准,进而提升最终回答的质量。

1. 为什么需要问题分类

直观的例子:在公司知识库问答中,“2025年差旅标准是多少?”这类问题高度具体,答案往往明确存在于某份文档的某一小段中;“怎么理解我们公司的价值观?”则更宽泛,可能需要引用手册中的多处内容并加以整合;“公司内哪个部门负责办公用品采购?”属于事实型精准提问,关键词命中是核心。

如果不加区分,统一用语义相似度检索,精确问题可能被语义相近但无关的段落干扰;反过来,纯粹的关键词匹配又可能错过用不同措辞描述同一概念的内容。因此,在检索前或检索后,根据问题类型动态调整策略,是投入产出比很高的优化点。

2. 常见问题类型及对应策略

结合真实场景,可以将用户问题粗略分为以下几类,并匹配不同的检索方案:

类型一:事实型精确查询

  • 特征:问题中包含专有名词、编号、日期、具体数值等(如“型号X-305的保修期多久?”“2025年Q2的销售目标数字”)。
  • 策略关键词+过滤为主,语义检索为辅。可先用命名实体识别提取关键字段,在向量数据库中进行元数据过滤(如文档类型、日期范围),同时结合 BM25 等稀疏检索方法提升精确匹配的召回。这样能防止语义检索返回太多“看起来相关但其实是其他型号”的内容。

类型二:概念型/解释型问题

  • 特征:用户询问某个概念的定义、原理、流程(如“什么是弹性工作制?”“报销流程有哪些步骤?”)。
  • 策略语义检索为主。这类问题表述灵活,关键词可能不集中,语义检索能更好捕捉意图相近的段落。可以设置较高的 top-k,保证完整覆盖概念的各个方面,再在提示词中要求模型进行结构化整合。

类型三:比较型问题

  • 特征:问题涉及两个或以上的实体、方案、条款的对比(如“A方案和B方案在成本上有哪些区别?”)。
  • 策略分步检索+汇聚。将复杂问题拆解为子查询(如分别检索“A方案成本”和“B方案成本”),再将多组检索结果合并去重,统一提供给模型进行对比。避免单次检索只命中其中一方的信息,导致回答片面。

类型四:导航型/目录型问题

  • 特征:用户想定位某份文档、某个章节或某个页面的位置(如“出差申请表在哪个手册里?”“查看最新版绩效考核办法”)。
  • 策略文档元数据优先。在索引时为每个切片存储文档标题、章节层级等结构化信息,检索时可以提升整份文档的召回权重,或者直接返回文档标题列表,由模型组织为目录式的回答。

类型五:实时数据型问题

  • 特征:问题依赖当前变动信息(如“现在的库存量?”“今天的汇率是多少?”)。
  • 策略混合实时API。这类信息往往不在静态文档库中,需要先判断问题意图,若属于实时查询,则调用相应业务接口获取结果,再将实时数据注入上下文生成回复。此时向量库检索甚至可以跳过。

3. 工程实现上的实用做法

在实际系统中,问题分类不一定需要复杂的模型。一些轻量级但有效的方案包括:

  • 基于规则的关键词分类:维护一张小的关键词-类型映射表(例如出现“对比”“区别”归为比较型,“多少”“数量”归为精确查询),作为第一层快速判断。
  • 利用 LLM 进行意图分类:在检索前用一次轻量级的 LLM 调用(或本地小模型),对问题进行快速分类并改写为更适合检索的 query。分类标签可以传入后续检索模块,动态选择检索策略。
  • 多路召回+重排序:若不想显式分类,可以同时跑关键词检索和语义检索(多路召回),再使用重排序模型根据问题类型对召回结果打分,让“适合”的片段自然排在前面。这种方式对类型差异有一定自适应能力。

4. 一个融合分类的检索流程示例

用户输入:“和去年的政策相比,今年年假有哪些变化?”

  1. 问题分类:LLM 快速判断为“比较型”,且涉及时间对比。
  2. 查询改写:拆分成两个子查询——“去年年假政策原文”“今年年假政策原文”,并在元数据中过滤对应的版本文档。
  3. 多路检索:每个子查询同时进行语义检索和关键词检索(如“年假天数”“核销比例”),分别取 top-3。
  4. 结果合并与去重:获得约 10 个高度相关的片段,按时间标签排列。
  5. 增强生成:将所有片段和原始问题填入提示词,生成对比回答,并标注每项信息的出处。

这种流水线使得比较类问题的完整性和准确性都明显高于单次简单检索。

5. 实用建议

  • 从高频问题入手:分析实际用户日志,找出占比最大的几类问题,优先为它们定制检索策略,收益最明显。
  • 分类不宜过细:初期设置 3~5 种类型即可,结合业务持续迭代。过于复杂的分类体系维护成本高,且容易引起模型误判。
  • 监控分类效果:在日志中记录问题类型和最终用户反馈,便于回头优化分类规则或模型。

通过让不同问题走不同的检索路径,RAG 系统能摆脱“一种套路应对所有提问”的局限,让检索到的内容更“对路”,最终呈现在用户面前的回答才会更精准、更有用。