模型选型与成本治理:从「都用最强的」到按任务分级

同一个产品里,用旗舰模型做所有事通常是最贵的做法。本文给出一套按任务分级的选型方法:如何拆任务、如何用评测集验证降级是否安全、以及如何用统一网关在同一份代码里切换模型。

为什么「统一用最强模型」是成本陷阱

模型能力是分层的:旗舰模型擅长长链推理、复杂代码、多约束指令;轻量模型在分类、抽取、格式转换、短问答上往往已经够用。而两者的单价差距可以达到十倍甚至更多。

Anthropic 当前的价格页与 OpenAI 的 [API pricing](https://developers.openai.com/api/docs/pricing) 都把自家模型分成若干档位;以 Anthropic 公布的 [pricing](https://claude.com/pricing) 为例,Opus、Sonnet、Haiku 三档面向的是不同强度的任务,单价差异明显。把每天的几十万条简单分类也交给旗舰模型,是最容易被忽视的浪费。

把任务分级落到代码里

  1. 把系统里的 LLM 调用按「任务类型」列出来(分类 / 抽取 / 摘要 / 生成 / 推理 / 代码)。
  2. 为每类任务选一个默认档位,写进配置,而不是散落在各处的模型名。
  3. 为每类任务准备 50~200 条固定评测样本,包含典型的难例。
  4. 先用默认档位跑基线,再尝试降级,对比准确率/格式合规率。
  5. 只有在质量损失低于阈值时才保留降级;否则回到上一档。

阶梯式路由:先便宜后贵

一个实用的模式是「先便宜后贵」:先用轻量模型处理,遇到以下信号再升级到旗舰模型——

  • 输出无法解析(JSON 坏了、字段缺失)。
  • 模型自己声明不确定,或置信度低于阈值。
  • 触发了业务侧的质量校验(例如生成的 SQL 无法执行)。
  • 请求的复杂度指标超阈值(输入长度、引用文档数)。

这样大部分流量停在便宜档,只有真正困难的部分才付费到旗舰档。注意把升级次数计入监控:升级率长期偏高,说明选型该重新评估了。

跨厂商切换前要确认的事

不同厂商对同一任务的输出风格、工具调用格式、拒绝策略并不一致。在把某类任务从 A 厂商切到 B 厂商之前,至少要确认:

  • 结构化输出:JSON mode / 严格 schema 的支持程度是否一致。
  • 工具调用格式:参数结构、并行调用、错误回传方式。
  • 上下文长度与截断行为:超长输入是报错还是静默截断。
  • 内容策略差异:同一段输入在一个模型上被拒绝、另一个正常。

在同一个网关里做分级

Admesh 对外保持 OpenAI 兼容协议,模型以 namespace/model 的形式暴露(例如 anthropic/…、openai/…、deepseek/…)。这意味着任务分级只需要在配置里维护一张「任务类型 → 模型」的映射表,代码里始终只改 model 参数。

由于路由只在同一个 public_model 的通道池内进行,不会把你的 anthropic/xxx 静默换成另一家的模型——分级是你显式选择的,不是网关替你决定的。

Admesh 实时费率(节选)

以下价格来自 Admesh 后台实时配置,单位为美元 / 每百万 Token。完整清单见模型目录。

Admesh.ai 模型价目表:8 个已启用模型的价格与上下文窗口
模型名称与 ID上下文窗口输入价格 / 1M输出价格 / 1M缓存命中 / 1M
Claude Opusanthropic/claude-opus200K$1.00 / 1M$3.00 / 1M$0.1 / 1M
Claude Sonnetanthropic/claude-sonnet200K$1.00 / 1M$3.00 / 1M$0.1 / 1M
Claude Sonnet 5.5anthropic/claude-sonnet-5-51M$0.6 / 1M$3.00 / 1M$0.03 / 1M
DeepSeek Chatdeepseek/deepseek-chat64K$1.00 / 1M$3.00 / 1M$0.1 / 1M
DeepSeek Reasonerdeepseek/deepseek-reasoner64K$1.00 / 1M$3.00 / 1M$0.1 / 1M
Gemini 1.5 Flashgoogle/gemini-1.5-flash1M$1.00 / 1M$3.00 / 1M$0.1 / 1M
Gemini 1.5 Progoogle/gemini-1.5-pro1M$1.00 / 1M$3.00 / 1M$0.1 / 1M
MiniMax ababminimax/abab25K$1.00 / 1M$3.00 / 1M$0.1 / 1M

以上为标准公有通道单价,按 Token 实际用量结算。 查看完整模型目录

常见问题

怎么判断一个任务能不能用轻量模型?
最可靠的方式是拿固定评测集实测,而不是看模型榜单。榜单衡量的是通用能力,你的任务往往只用到其中很小一块。建议收集 50~200 条真实样本,跑出基线后逐档降级,记录准确率与格式合规率的变化。
阶梯式路由会不会让响应变慢?
会有一定增加:轻量模型失败后升级意味着两次调用。可以只对「离线或容忍度较高」的请求启用阶梯路由,交互式请求直接走一个经过评测确定的档位。
跨厂商 fallback 安全吗?
在「同档位、同能力」的模型之间相对安全,但输出风格会变化。对于结构化输出或工具调用场景,建议 fallback 后加一层格式校验,避免下游因为格式差异而崩掉。

参考来源