人人都会AI编程

模型分级:简单问题用小模型,复杂问题用大模型

更新时间:2026-07-12

在构建 RAG 系统时,调用大语言模型是主要的算力开销和延迟来源。如果所有问题都无差别地使用能力最强、参数规模最大的模型,成本会迅速膨胀,响应速度也会变慢。事实上,并非每个问题都需要最强的推理能力——很多查询只是简单的信息提取或确认,轻量级模型完全能够胜任。

模型分级的核心思路是:根据问题的复杂度,将请求路由到不同规格的模型。简单问题用轻量、快速、便宜的小模型处理,复杂问题才交给大模型解决。这样做可以在不明显牺牲回答质量的前提下,显著降低成本和响应时间。

什么样的算是“简单问题”?

实际业务中,很多用户提问其实非常简单直接,例如:

  • “公司年假是多少天?”
  • “退换货的截止日期是哪一天?”
  • “XX 产品的保修期是多久?”
  • “办公室 WiFi 密码是什么?”

这些问题的共同特点是:答案明确、几乎不需要推理或加工,往往就是检索出的文本片段本身。对于这类问题,小模型(如 7B、13B 量级的开源模型,甚至是微调过的更小模型)完全可以从检索结果中直接提取关键信息并复述出来,语言流畅度也不会有明显问题。

哪些算“复杂问题”?

复杂问题则通常涉及多步推理、对比分析、归纳总结或需要结合多个碎片信息才能形成完整答案,例如:

  • “对比一下我们三个产品线的定价策略,并分析各自的适用客户群体。”
  • “根据去年的销售数据和退货记录,总结出需要改进的产品功能点。”
  • “如果客户在合同期内提前解约,违约金怎么算?有没有例外情况?”

这类问题要求模型具备较强的逻辑推理、信息整合和多条件判断能力,大模型(如 GPT-4、Claude 3.5 或 70B 以上的优质开源模型)在可靠性和准确性上优势明显。

如何判断问题复杂度?

实施模型分级的关键在于准确判断问题的难度。常用方法包括:

  1. 规则引擎:通过关键词、句子长度、是否包含比较/推断类词汇(如“对比”“为什么”“如果…那么”)来粗略分类。简单快速,容易落地,但需要人工维护规则。
  2. 意图分类器:训练一个轻量级的文本分类模型(甚至基于 BERT 量级的模型),将问题标注为“简单查询”“复杂分析”“闲聊”等类别,根据类别选择模型。训练数据可以从历史日志中标注获得。
  3. LLM 自判断:用一个小模型快速判断问题难度,例如直接问“这是一个简单的信息查询,还是需要深度分析的问题?”,路由成本本身极低。
  4. 检索信心度辅助:如果检索到的 top-1 片段与问题的语义相似度极高,且答案就在该片段中,很大概率是简单问题;反之,如果需要聚合多个低相似度片段才能回答,则可能更复杂。

一个真实的轻量级路由流程可以是:用一个小模型(如 3B 参数)先做复杂度判断,简单问题直接由该小模型回答,复杂问题再转发给大模型。这样,大约 70%~80% 的日常查询都能在低资源路径上完成。

分级带来的实际收益

  • 降低 API 调用成本:大模型的定价通常是中小模型的数倍甚至数十倍。将大部分简单查询旁路给便宜模型,整体费用可降低 50% 以上。
  • 提升响应速度:小模型生成速度更快,低复杂度路径的延迟可以从秒级降至百毫秒级,用户体验更流畅。
  • 保护大模型配额:对于有速率限制的大模型 API,分级可以确保配额优先用于真正需要深度推理的场景。

注意事项

  • 小模型在 RAG 场景中的能力适配:并非所有小模型都擅长根据给定文本来回答,选择时应优先考虑在“阅读理解”类任务上表现较好的模型,并结合少量示例(few‑shot)进行提示优化。
  • 复杂度判断的准确性需要持续迭代:初期可以通过规则快速上线,再根据用户的点踩反馈或人工抽检,不断优化分类器,避免简单问题误判给大模型(浪费)或复杂问题误判给小模型(导致回答不准)。
  • 不要忽视用户感知:确保小模型的回答在格式和引用习惯上与大模型保持一致,避免用户觉得质量明显下降。可利用相同的提示模板和引用格式要求来保持回答规范统一。

模型分级是 RAG 系统工程化落地时一项“小投入、大回报”的优化策略。它让系统在智能程度和运行成本之间取得动态平衡,也为后续进一步引入模型池、负载均衡等高级路由策略打下基础。