核心思想:不要按“哪个模型强”来选,而是按任务风险和成本比例来选。团队要有一个清晰的分档表,先固定路由,再谈优化。
一、三层分档
| 档位 | 适用任务 | 判断标准 | 建议策略 |
|---|---|---|---|
| 经济档 | 分类、标签、摘要、短文案、规则化改写 | 错误容易发现,结果可批量审 | 先跑批量,抽 5%-10% 抽检 |
| 标准档 | 客户回复、长文整理、中等复杂分析 | 需要一定上下文与格式稳定 | 固定模型和提示词版本,避免频繁切换 |
| 满血档 | 复杂代码、长上下文推理、关键决策支持 | 错误成本高,需要最强推理 | 必要时加复核步骤,输出可回溯 |
二、路由规则
按任务路由
- 输入小于 2k tokens 且是分类任务:经济档。
- 需要多步推理、代码审阅、跨文档总结:满血档。
- 生成后还要人工大量修改:经济档或标准档。
按失败成本路由
- 内部草稿:低失败成本,用经济档。
- 客户可见:中高失败成本,用标准档以上。
- 涉及资金、权限、合同、核心业务代码:满血档加人工确认。
按批量成本路由
一次跑 1 万条时,单价会放大错误影响。先跑 20-50 条样本,比较准确率、格式命中率和人工修改量,再决定是否上更高档模型。
三、配置管理
示例
{
"routes": {
"classify": {
"model": "econ-model",
"temperature": 0.1,
"max_output": 256
},
"support_reply": {
"model": "standard-model",
"temperature": 0.2,
"max_output": 1024
},
"complex_code": {
"model": "full-model",
"temperature": 0.0,
"max_output": 4096
}
}
}要点:模型名放在配置里,不放在业务代码里。切换时只改配置,不重构代码。
四、灰度切换
- 先切 5% 流量。
- 观察成功率、超时、人工修正次数。
- 确认无回归后再切 50%,最后全量。
- 保留旧配置 24-72 小时,方便回滚。
五、常见错误
- 只看每千次调用成本,忽略人工修正成本。
- 任务描述不断变化,但模型从不跟着换。
- 把所有任务都扔给满血模型,没有失败样本统计。
- 没有输出格式约束,导致下游解析失败。
六、真实经验
- 对“输出必须可机器解析”的任务,先固定采样率和输出格式,再换模型。
- 如果经济模型只有 5% 错误率,但人工要复核 100%,反而更贵。
- 满血模型不一定更快,有时更长。
- 同一个任务在不同模型上的最佳提示词差异很大,不要共用一套提示词。
七、一次性检查表
- 每个业务有没有一个主用模型?
- 有没有备用模型和失败策略?
- 有没有设置 max_output?
- 有没有统计生产错误率?
- 有没有预算告警?
- 是否能在 10 分钟以内回滚模型?
八、与成本核算结合
分档最关键的量化方式是把两个成本合在一起看:
- 模型 API 成本。
- 人工修正成本。
前者节省,后者常常更贵。把同一个任务用 5 档模型各跑 50 次,记录修正次数,就很容易判断该用哪一档。
九、样本量建议
- 短任务:50-100 条。
- 代码任务:20-30 条,但必须含失败用例。
- 长文分析:10-20 条,但要人工读结果。
十、上线路由示例
示例
if task.type == "classification":
use("econ-model")
elif task.type == "support_reply":
use("standard-model")
elif task.type == "complex_code":
use("full-model")
else:
use("standard-model")
十一、收尾原则
模型分档最终服务于业务效率,不是为了精确到每分钱。一条通用判断:错误可自动恢复用低档,错误影响用户用高档,错误需要人工救火用最高档加复核。
做法为本站整理;模型与价格见 模型广场。