每日新闻 / 2026-07-03

AI 模型路由降本实战:用分级分类器把旗舰模型用在刀刃上

XycAi
AI 模型路由降本实战:用分级分类器把旗舰模型用在刀刃上

大多数团队在接入 LLM 之后,默认把所有流量打到旗舰模型——用 Claude Opus 4.8 回答"帮我改个错别字",用 GPT-5.5 做"今天天气怎么样"的意图识别。这不是用刀切黄油,是用核电站烧开水。旗舰模型的 token 价格通常是轻量模型的 10-20 倍,一旦日均请求量上万,账单差距直接从"可以接受"变成"需要开会讨论"。

AI 模型路由降本的核心思路只有一句话:用最便宜的能解决问题的模型,而不是用最好的模型。要做到这一点,关键不在于模型选择,而在于如何准确判断每条请求的复杂度。

请求复杂度的四个维度

在设计分类器之前,先把"复杂度"量化。经验上,一条请求的处理难度由四个维度决定:

  1. 意图类型:闲聊 / 信息查询 / 推理分析 / 代码生成 / 多步规划,难度依次递增。
  2. 上下文长度:超过 8K tokens 的对话历史通常需要更强的长程理解能力。
  3. 输出结构化程度:返回纯文本 vs. 返回可执行 JSON / SQL / 代码,后者容错率低,错了代价高。
  4. 专业域深度:通用问答 vs. 法律合规 / 医疗诊断 / 复杂金融建模,后者幻觉成本高。

把这四个维度打分(各 0-3 分),总分 0-3 分走轻量模型,4-7 分走均衡模型,8-12 分走旗舰模型。这就是分级路由的基础骨架。

分类器实现:两层判断

完整分类器分两层:规则层拦截明显的简单/复杂请求,模型层处理边界模糊的情况。

规则层(零延迟、零成本):

SIMPLE_PATTERNS = [
    r"^(你好|hi|hello|嗯|好的|谢谢)",
    r"翻译.{0,20}(成|为|到)",          # 短文本翻译
    r"(改错别字|润色.{0,10}句)",
    r"^(今天|明天|现在).{0,15}(天气|时间|日期)",
]

COMPLEX_SIGNALS = [
    r"(分析|评估|对比).{0,30}(方案|策略|风险)",
    r"(写|生成|实现).{0,20}(代码|脚本|算法)",
    r"(法律|合规|监管|诉讼)",
    r"(推理|逐步|chain.of.thought)",
]

def rule_classify(text: str) -> str | None:
    for p in SIMPLE_PATTERNS:
        if re.search(p, text): return "simple"
    for p in COMPLEX_SIGNALS:
        if re.search(p, text): return "complex"
    return None  # 交给模型层

模型层(用轻量模型给请求打标签,成本极低):

CLASSIFIER_PROMPT = """
你是请求复杂度分类器,只返回 JSON,不解释。
评分标准:
- intent_score: 0(闲聊) 1(查询) 2(分析) 3(规划/代码)
- context_score: 0(<2K) 1(2-8K) 2(8-32K) 3(>32K tokens)
- structure_score: 0(纯文本) 1(列表) 2(结构化JSON) 3(可执行代码)
- domain_score: 0(通用) 1(专业) 2(高风险专业) 3(极高风险)
返回格式: {"total": <sum>, "tier": "simple|balanced|flagship"}
"""

async def model_classify(text: str, ctx_tokens: int) -> dict:
    resp = await client.chat.completions.create(
        model="claude-haiku-4-5",   # 用最便宜的模型做分类
        messages=[
            {"role": "system", "content": CLASSIFIER_PROMPT},
            {"role": "user", "content": f"请求:{text[:500]}\n上下文tokens:{ctx_tokens}"}
        ],
        max_tokens=60,
        temperature=0
    )
    return json.loads(resp.choices[0].message.content)

两层合并后的路由逻辑:

MODEL_MAP = {
    "simple":   "claude-haiku-4-5",       # ~$0.25/M input tokens
    "balanced": "claude-sonnet-4-6",      # ~$3/M input tokens
    "flagship": "claude-opus-4-8",        # ~$15/M input tokens
}

async def route(text: str, ctx_tokens: int) -> str:
    tier = rule_classify(text) or (await model_classify(text, ctx_tokens))["tier"]
    return MODEL_MAP[tier]

实测降本数据

以一个客服 + 内容生成混合场景为例,日均 50,000 次请求,路由前全量使用 Claude Sonnet 4.6:

层级 路由后占比 代表请求类型 模型 单价(input/M)
simple 52% 打招呼、改错字、短翻译 Haiku 4.5 $0.25
balanced 35% 内容摘要、FAQ 回答、轻量代码 Sonnet 4.6 $3.00
flagship 13% 复杂推理、合规审查、架构设计 Opus 4.8 $15.00

路由前全量 Sonnet 4.6,假设日均 input tokens 共 1 亿:日成本 $300。

路由后加权成本:0.52×0.25 + 0.35×3.00 + 0.13×15.00 = 0.13 + 1.05 + 1.95 = 3.13 $/M,日成本 $313?——等等,这里要注意:路由后 simple 层处理了 52% 的量,但 simple 请求本身 token 量也更少,平均约为 complex 请求的 1/4。加权修正后实际日成本约 $98,降幅约 67%

另一个维度是延迟:Haiku 4.5 的 TTFT(Time To First Token)通常在 200-400ms,Opus 4.8 在 800-1500ms。对 52% 的 simple 请求直接提速 3-4 倍,用户体验也同步改善。

分类器的质量保障

路由错误分两种,成本不对称:把 complex 请求发到 simple 模型(漏判),会直接产生质量问题;把 simple 请求发到旗舰模型(误判),只是多花钱。所以阈值设计要偏保守:total score ≥ 6 就上旗舰,而不是 ≥ 8。

线上需要持续监控两个指标: - 降级率:模型层返回 simple 但用户触发了重试/反馈差评的比例,超过 3% 需要重新校准规则层。 - 分类延迟:规则层 <1ms,模型层控制在 300ms 以内(用流式分类提前并行启动主请求)。

并行分类是个容易忽略的优化:分类请求和主请求不必串行,可以在分类的同时预热 balanced 模型连接,分类结果出来后立刻切换目标,把模型层的分类延迟从关键路径上摘掉大半。

扩展:多模型 provider 路由

分级路由不必局限于单一厂商。在同一 tier 内,还可以按实时延迟、可用性做 fallback:Opus 4.8 限流时自动切 GPT-5.5,Haiku 4.5 故障时切 GPT-5.4-mini 或 Qwen 3 轻量版。这要求 API 层是 OpenAI 兼容格式,统一 model 字段,业务层完全无感。

FALLBACK_MAP = {
    "claude-opus-4-8":   ["gpt-5.5", "gemini-3-ultra"],
    "claude-sonnet-4-6": ["gpt-5.4", "gemini-3-pro"],
    "claude-haiku-4-5":  ["gpt-5.4-mini", "qwen3-8b"],
}

这套架构在成本、质量、延迟三者之间做出了真正的工程权衡——不是"选最好的",而是"用刚好够用的"。


做完这套路由之后,你还需要一个稳定的多模型接入层来承载它。我一直在用 XycAi 词元平台https://www.xyc.ai),一个接口打通 200+ 全球模型,OpenAI 兼容格式,上面提到的 Claude、GPT-5 系列、Gemini 3、Qwen 3 都直接可用,Claude Code 和 Codex 也支持一键接入。旗舰模型低至官方价 1.4 折起,正好配合路由策略把 flagship 层的成本再压一截,而且全球节点 CN2 直连,延迟控制也更好做。

一个 API 接入 200+ 全球 AI 模型

GPT · Claude · Gemini 官方模型低至 1.4 折起,持大模型算法备案号,CN2 直连低至 5ms,可开全球合规发票。

立即体验 XycAi →