[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fNoRhx3QbXS0SiwpJM7YbSUAB6TdL7DdraHsEauIKGI0":3},{"item":4,"related":48},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":39,"sourceName":40,"sourceUrl":40,"status":41,"seoTitle":40,"seoDescription":40,"canonicalUrl":40,"isFeatured":42,"sno":43,"sortOrder":44,"publishedAt":45,"updatedAt":46,"createdAt":47},"bcd1e95f-e759-4a5a-8cdb-71f51c35f803","article","模型路由：为什么 AI 应用不该每个问题都调用最强模型","model-routing-quality-cost-latency","模型路由让简单请求走便宜模型，复杂或高风险任务再升级到强模型。本文解释规则路由、分类器路由和级联路由的差异，结合 RouteLLM 说明如何平衡质量、成本、延迟与风险，并给出评测和回滚清单。","## 为什么 AI 应用不该每个问题都调用最强模型\n\n一个产品通常同时面对三类请求：简单的分类和改写、中等难度的知识问答，以及需要长链路推理或复杂工具调用的任务。如果所有请求都交给最贵、最强的模型，质量可能不错，但成本和延迟会一起上升；如果全部交给小模型，简单任务很划算，难题却容易失败。\n\n模型路由（Model Routing）就是在请求进入主模型之前，先判断它适合哪一个模型。简单问题走便宜、快速的模型，困难问题才升级到更强的模型。它把“选哪个模型”从开发者写死的配置，变成了一个可以测量、调优和持续学习的系统决策。\n\n![RouteLLM 项目概念图](https:\u002F\u002Fopengraph.githubassets.com\u002F1\u002Flm-sys\u002FRouteLLM)\n\nRouteLLM 的[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.18665)把问题表述成质量与成本之间的权衡，并提供了一个开源框架来训练和评估路由器。它的核心思想并不是“永远选小模型”，而是让小模型处理它擅长的请求，把强模型预算留给真正需要的地方。\n\n## 路由和负载均衡不是一回事\n\n负载均衡只关心“把请求平均分到哪台机器”，例如两台相同模型服务器各处理一半流量。\n\n模型路由关心的是“这个请求需要什么能力”：\n\n- 翻译、摘要、格式转换可以走轻量模型。\n- 复杂代码修复、数学推理和多步骤规划可能需要强模型。\n- 企业内部某类术语，可能应该路由到专门微调过的模型。\n\n所以路由器评估的不只是流量，还包括任务类型、复杂度、领域、上下文长度、用户等级和失败代价。\n\n## 三种常见路由方式\n\n### 规则路由：最容易上线\n\n可以先用明确规则：包含代码块就走代码模型，超过某个上下文长度就走长上下文模型，涉及付款就走经过安全评估的模型。\n\n规则简单、可解释、容易审计，但它通常只能看到表面特征。一个短问题也可能很难，一个很长的请求也可能只是重复文本。\n\n### 分类器路由：学习“谁更适合回答”\n\n分类器可以根据历史请求、人工偏好或评测结果，预测不同模型在当前问题上的胜率。RouteLLM 的思路就是用偏好数据训练路由器，在强模型和弱模型之间做选择。\n\n这里最重要的不是预测“这个问题难不难”，而是预测“强模型相对于弱模型能带来多少额外收益”。如果两个模型都能答对，就没有必要为了保险升级。\n\n### 级联路由：先便宜，失败再升级\n\n级联先调用小模型，再用规则、校验器或评审模型判断是否需要升级。例如结构化输出校验失败、答案缺少引用、置信度不足时，再把原问题交给强模型。\n\n它比单次路由更稳，但最坏情况下会付出两次调用的成本。对于不可接受错误的场景，级联通常比一次性押注路由器更容易解释。\n\n## 路由器到底应该看哪些信号\n\n最容易想到的信号是输入长度，但它只能说明上下文大，不代表任务难。更有用的信号通常来自四个方向：\n\n1. **任务能力**：是否需要代码、数学、翻译、视觉或长文档理解。\n2. **任务风险**：回答错了是“改写不自然”，还是会触发付款、删数据或对外发信。\n3. **结构约束**：是否要求严格 JSON、引用证据、固定字段或可执行工具参数。\n4. **业务预算**：用户等级、实时性要求、剩余配额和当前模型可用性。\n\n这些信号应当组合使用。例如，一个 100 字的“帮我修改退款金额并提交”并不长，却有明显副作用；一个 50 页的会议纪要摘要可能很长，但只需要稳定的长上下文模型，不一定需要最强推理模型。\n\n可以把决策结果理解成一个“质量—成本前沿”：在满足任务质量门槛的前提下，选择成本最低的模型；只有当便宜模型无法达到门槛时，才升级。这个原则比追求一个固定的“最强模型胜率”更适合生产系统。\n\n## 级联中的质量门槛怎么做\n\n质量门槛不能只依赖模型自己说“我有信心”。更可靠的是组合多个可验证信号：\n\n- JSON 能否通过 Schema 校验。\n- 答案是否覆盖问题里的必答字段。\n- 引用是否真的支持对应结论。\n- 工具参数是否通过类型、权限和业务规则检查。\n- 轻量评审器是否发现明显矛盾或遗漏。\n\n例如客服 Agent 先用小模型生成答案，再检查引用和退款金额。如果引用缺失，就升级到强模型；如果金额与订单 API 不一致，则直接停止自动回复。这种设计把“升级”从模糊的主观判断变成了可测试的状态机。\n\n注意质量门槛也会制造额外调用。一个评审器如果和强模型一样昂贵，路由系统就可能变成“先调用路由器，再调用评审器，再调用主模型”。因此第一层优先使用确定性校验，只有无法用规则判断的质量问题才调用评审模型。\n\n```mermaid\nflowchart TD\n    Q[\"用户请求\"] --> R[\"路由器：任务、复杂度、风险\"]\n    R --> S{\"小模型足够吗?\"}\n    S -->|是| M1[\"轻量模型\"]\n    S -->|否| M2[\"强模型或领域模型\"]\n    M1 --> V{\"通过校验或质量门槛?\"}\n    V -->|是| O[\"返回结果\"]\n    V -->|否| U[\"升级到强模型\"]\n    U --> O\n    M2 --> O\n```\n\n## 一个可落地的路由策略\n\n假设你在做一个企业知识助手，可以先定义四个等级：\n\n- **L0**：改写、分类、提取字段，使用小模型。\n- **L1**：单文档问答，使用成本较低的通用模型。\n- **L2**：跨文档比较、需要引用的问答，使用更强模型或检索级联。\n- **L3**：涉及审批、代码修改或高风险判断，使用强模型，并要求人工确认。\n\n路由器先根据请求类型和风险选择候选级别，再由质量门槛决定是否升级。这样“模型强弱”不是唯一维度，权限和失败代价也进入了决策。\n\n可以把升级条件写得很具体：\n\n- JSON Schema 校验失败。\n- 必须引用资料但没有找到证据。\n- 工具参数缺字段或类型错误。\n- 评测器判断答案没有覆盖问题中的关键约束。\n- 用户请求涉及不可逆副作用。\n\n这些条件比“感觉模型答得不自信”更容易测试。\n\n## 路由器本身也有成本\n\n如果每次请求都先调用一个昂贵的路由模型，节省下来的钱可能被路由器吃掉。路由器应该足够快、足够便宜，最好能复用已有输入特征，或使用规则与轻量分类器做第一层筛选。\n\n此外，模型能力会变化。今天的小模型可能在摘要上很好，下一次版本升级后却改变了格式习惯；供应商价格、限流和延迟也可能调整。因此路由策略不能只在上线前评估一次。\n\n## 上线要像发布一个模型一样谨慎\n\n路由器本身也会产生回归。一个新路由器可能把更多请求送进便宜模型，账单下降了，但复杂问题成功率也下降；或者路由判断准确，却因为额外网络往返让 P95 延迟变差。\n\n比较稳的发布方式是分阶段进行：\n\n1. **离线回放**：用脱敏后的真实请求和人工质量标签比较不同策略。\n2. **影子模式**：新路由器参与判断，但不改变真实模型，只记录它会怎么选。\n3. **小流量灰度**：按租户或请求类型逐步放量，监控升级率、质量和尾延迟。\n4. **自动回滚**：当高风险任务错误率、结构化失败率或人工投诉超过阈值时，切回固定模型。\n\n路由日志至少要记录最终选择、候选模型、路由理由类别、是否升级和结果质量。不要记录一段让模型自由生成的“解释”作为唯一审计依据；真正可审计的是输入特征、规则版本、阈值和最终决策。\n\n模型更换时还要重新校准。旧模型上的“0.5 阈值”没有理由在新模型上继续成立，尤其当价格、上下文能力、工具遵循能力和输出格式发生变化时。\n\n## 如何正确评估路由效果\n\n不要只看平均成本。至少要维护一个包含真实流量分布的评测集，并同时比较：\n\n1. **质量**：任务成功率、人工偏好、结构化校验、引用正确率。\n2. **成本**：平均输入输出 Token、模型调用次数、升级比例。\n3. **延迟**：P50、P95，以及升级请求的尾延迟。\n4. **安全**：高风险任务是否被正确升级，是否出现越权调用。\n5. **稳定性**：路由器换模型、换领域、换用户群后是否退化。\n\nRouteLLM 官方仓库也强调，路由阈值应使用与真实请求相近的数据进行校准，而不能直接照搬公开数据集上的阈值。因为同一个阈值，在客服、代码助手和内容审核场景里的含义完全不同。可以参考其[开源实现和评测说明](https:\u002F\u002Fgithub.com\u002Flm-sys\u002FRouteLLM)。\n\n## 常见误区\n\n**误区一：按 Token 长度判断难度。** 长文本不一定难，短问题也可能需要复杂推理。\n\n**误区二：只追求最省钱。** 如果升级率很低但错误率明显上升，节省的是账单，损失的是用户信任。\n\n**误区三：用模型评模型却不做人工抽样。** 自动评审可以扩展覆盖面，但自身也会有偏差，关键业务仍需要人工复核。\n\n**误区四：把路由器当成永久真理。** 模型、价格、流量和用户目标都会变，路由策略必须和评测、观测、回滚一起建设。\n\n**误区五：忽略失败后的用户体验。** 路由升级失败时，不能只返回“模型错误”。应该告诉用户正在重试、请求人工处理，或明确哪些部分已经完成。路由系统是产品流程的一部分，不是藏在 API 网关后面的黑盒。\n\n## 什么时候值得采用\n\n当你只有一个低流量原型时，固定使用一个模型更简单。模型路由真正有价值的信号通常是：调用量已经上升、不同任务能力差异明显、模型账单开始影响业务，或者你需要把小模型与领域模型组合起来。\n\n推荐的最小落地顺序是：先记录真实请求与质量结果，再用规则做第一版路由；确认成本和质量边界后，再训练或接入分类器；最后为高风险流程加入级联、人工确认和自动回滚。\n\n## 结语：把模型选择变成产品策略\n\n模型路由不是简单的“省钱开关”，而是一套质量、成本、延迟和风险之间的决策系统。最好的路由器不会让所有请求都走小模型，而是让每个请求得到“足够完成任务”的能力。\n\n**落地清单：**\n\n- 是否知道不同任务分别需要什么能力？\n- 是否有真实请求组成的路由评测集？\n- 是否定义了升级条件和高风险任务的硬规则？\n- 是否把路由延迟和调用成本纳入总账？\n- 是否能在质量退化时快速切回固定模型？\n\n## 一手资料\n\n- [RouteLLM 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.18665)\n- [RouteLLM 开源框架](https:\u002F\u002Fgithub.com\u002Flm-sys\u002FRouteLLM)\n- [RouteLLM 的阈值校准说明](https:\u002F\u002Fgithub.com\u002Flm-sys\u002FRouteLLM#threshold-calibration)","\u002Fuploads\u002F2026-08-05\u002Ff959361f-b807-496f-8287-3e2a843e0f65.jpg",[],[],"Foundit AI","https:\u002F\u002Ffoundit.cn","f39339b1-aaa6-4e86-b0c2-a6e6a21113b5",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31,35],{"id":24,"name":25,"slug":26},"88d2bc27-0e0f-468a-b907-2991cb97b87b","人工智能","ai",{"id":28,"name":29,"slug":30},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":32,"name":33,"slug":34},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":36,"name":37,"slug":38},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse","资料来源",null,"published",false,66,0,"2026-08-05T00:00:00.000Z","2026-08-05T03:14:40.243Z","2026-08-05T02:13:46.501Z",[49,59,69],{"id":50,"type":6,"title":51,"slug":52,"summary":53,"coverUrl":54,"authorName":55,"sno":56,"publishedAt":57,"createdAt":58},"7f4dc034-e104-4542-bea6-1148e984189e","构建高效的智能体","building-effective-agents","最成功的效果并没有使用复杂的框架或专门的库。相反，它们是用简单、可组合的模式构建出来的。","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-17\u002F826eb252-ac2b-4588-9d03-5138802a0d8b.jpg","Anthropic",2,"2024-12-19T00:00:00.000Z","2026-07-17T02:51:58.572Z",{"id":60,"type":6,"title":61,"slug":62,"summary":63,"coverUrl":64,"authorName":65,"sno":66,"publishedAt":67,"createdAt":68},"f00e5274-8e0b-40fe-af3b-b6a8d0183b9c","一张贴纸就能骗过视觉 AI？对抗样本不是魔法","adversarial-examples-fool-visual-ai","人眼仍能认出的物体，经过精心设计的微小扰动或标记后，机器却可能改变判断。这类输入称为对抗样本。本文解释攻击者如何利用模型的决策边界，现实攻击为何比实验更难，以及为什么目前不存在一劳永逸的防御。","\u002Fuploads\u002F2026-09-08\u002F151f887b-c5f1-4647-b369-cdda8a1e1b4f.jpg","Foundit",50,"2026-09-03T00:00:00.000Z","2026-08-14T03:06:09.765Z",{"id":70,"type":6,"title":71,"slug":72,"summary":73,"coverUrl":74,"authorName":65,"sno":75,"publishedAt":76,"createdAt":77},"305492d4-c146-456a-b341-31140ab9cafd","天气预报不再一格一格算空气，AI 是怎么预测风暴的？","how-ai-weather-forecasting-works","传统数值预报依据物理方程推进大气状态，AI 天气模型则从历史观测与再分析数据中学习状态如何演变。本文以 GraphCast 为例，解释图神经网络如何快速预测全球天气、它与传统方法如何协作，以及极端天气仍有哪些难点。","\u002Fuploads\u002F2026-08-16\u002Fa8b5ddad-d6db-4d12-a159-87a6c5309082.jpg",60,"2026-08-16T00:00:00.000Z","2026-08-14T03:06:12.102Z"]