记录一下那天晚上的排查过程。内部问答网关接 gpt-4o 和 gpt-4o-mini 两档模型,路由规则只判断用户是不是付费会员,结果 82% 的请求走了贵的那一档,单日账单从 900 涨到 7200,现在想改成按问题复杂度分流。

刚开始盯着「复杂度阈值只配了一个分数,短问题也被判成复杂」,折腾了半个多小时,排掉了。

这类报错背后常见的原因有几处,逐个排除就行。路由只看会员等级,没有看输入长度和问题类型。也可能是小模型在长文摘要上答得差,人工兜底后又整体回退到大模型。

少数情况下是灰度期间两档模型的线上指标混在一起统计,看不出差异。

先按输入 token 分布看两档各吃掉多少流量

python -c "import json;d=json.load(open('req.jsonl'));print(len(d))"

再往下用离线样本跑一遍分类器看分档比例

python route_eval.py --sample eval_500.jsonl --thr 0.62

接着把阈值从 0.62 调到 0.75 再跑同一批样本

python route_eval.py --sample eval_500.jsonl --thr 0.75 --dry-run

上线后按模型拆分看单价与差评率

python cost_report.py --group-by model --since 2026-11-01

改完先别撤,确认这几项。低档模型承接比例到 68%,同一批人工复核样本的差评率没有上升,单请求均价从 0.021 降到 0.007。

补一句。路由改完别只看省钱,先固定一批人工标注样本双跑,否则省下的钱会以差评的形式还回去,阈值改动要留回滚开关。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189