durianrcs.com 的 openai/US 号池当天枯竭(取号率 99% → 12%),路由自动兜底到
5sim.net——一个「能取到号但几乎收不到码」的供应商(openai/US 交付率 0.4%)。
用户拿到死号 → 等待 → 超时 → 重下单,新用户人均下单 ~13 次,把订单量灌成假高峰。
根因:质量评分路由(scorer)与 1% 死亡线自愈(combo_health)两道自动防线在生产环境全部关闭,
数据管道却一直在跑——防线已建好,只是没打开。
营收/订单量基本在正常波动内;真正的信号是完成率——以及它背后 7-17 的塌方事件与结构性隐患。
| 日期(UTC) | 订单 | 完成 | 完成率 | 备注 |
|---|---|---|---|---|
| 07-11 | 1,451 | 266 | 18.3% | |
| 07-12 | 1,444 | 262 | 18.1% | |
| 07-13 | 2,046 | 307 | 15.0% | |
| 07-14 | 1,424 | 298 | 20.9% | |
| 07-15 | 1,905 | 412 | 21.6% | |
| 07-16 | 1,821 | 351 | 19.3% | |
| 07-17 | 4,072 | 335 | 8.2% | ← 假高峰 / 塌方日 |
| 07-18 | 1,454 | 231 | 15.9% | 部分恢复 |
durianrcs.com openai/US 取号率长期 98–99%,7-17 骤降到 12.2%(590 试 → 72 取号)= 号池枯竭。5sim.net,当天 openai/US 取号 454,收码 2 条(0.4%)——用户全拿到死号。scorer.enabled=false(质量评分路由关)+ combo_health.enabled=false(1% 自愈关),而 performance_aggregator.enabled=true(数据一直在跑)。防线全关。| 供应商 (7d) | 取号数 | 收码数 | 交付率 | |
|---|---|---|---|---|
| durianrcs.com | 5,156 | 1,429 | 27.7% | |
| 5sim.net | 2,691 | 360 | 13.4% | |
| sms-bus.com | 889 | 143 | 16.1% | |
| grizzlysms.com | 835 | 212 | 25.4% | |
| isptelecom(自营池) | 766 | 45 | 5.9% | 已知地理拒发码,另议 |
5sim.net 取号量全站第二,交付率却只有主力的一半。它并非全面差——在 flipkart/IN(58.6%)、openai/AT(47.5%) 上很好,但在下面这些高需求组合上近乎「死号供应商」:
| 服务 | 国家 | 取号数 | 收码数 | 交付率 |
|---|---|---|---|---|
| openai | US | 467 | 2 | 0.4% |
| openai | GB | 362 | 20 | 5.5% |
| DE | 171 | 1 | 0.6% | |
| GB | 87 | 8 | 9.2% | |
| telegram | US | 70 | 1 | 1.4% |
| telegram | GB | 67 | 6 | 9.0% |
| openai | ID | 67 | 5 | 7.5% |
| HK | 60 | 0 | 0.0% | |
| US | 37 | 0 | 0.0% | |
| telegram | CA | 35 | 3 | 8.6% |
| US | 21 | 0 | 0.0% | |
| telegram | UZ | 21 | 0 | 0.0% |
| 合计 | 1,464 | 46 | 3.1% | |
7 天内 5sim 仅这些毒性组合就造出 1,418 个死号(≈200/天)。每个死号 = 一位用户拿到号、等最多 5 分钟、收不到码、订单超时——然后重下单。
平台其实已经建好了应对这种情况的两套机制,但生产环境全部关闭:
| 机制 | 作用 | 生产状态 |
|---|---|---|
| 质量评分路由 scorer | 按「解码率0.6 / 成本0.3 / 延迟0.1」重排供应商,5sim 会被压到最后 | enabled: false (shadow_mode: true) |
| combo_health 自愈 | 24h 交付率<1% 且样本≥100 → 自动隐藏该组合(带 admin 覆盖 + 双窗口恢复 + 1 分钟回滚) | enabled: false |
| performance_aggregator | 把 attempts 聚合成快照,喂给上面两个 | enabled: true |
数据一直在采集,决策却没开。结果:主力供应商一打嗝,流量就静默流向死号供应商,用户反复重试,完成率崩盘—— 而现有的供应商健康监控只看余额,对交付率崩盘完全失明(「平台对供应商侧变化经济无感知」)。
shadow_mode 观测(enabled: true, shadow_mode: true,只写决策日志、不改分配)。这正是配置里写好的「Day 8」步骤,能立刻看到「scorer 会把 5sim 排到哪」与实际分配的差异,零分配风险。combo_health.enabled: true(config.production.yaml:221)。它会在交付率<1% 时自动隐藏 openai/US×5sim 这类死号组合,带 admin 手动覆盖、双窗口恢复防抖、1 分钟回滚。建议先 staging 验证≥24h 再切生产。为何本次不自动提 PR:打开 scorer / combo_health 属于供应商路由红线,团队既定规范要求人工判断 + A/B/staging 验证后再上线(配置注释亦写明该分阶段流程)。本报告给出精确改动点与分阶段方案,由团队开眼确认后一键切换,比自动合并更稳妥。
backend/config/config.production.yaml:221(combo_health) · :499(scorer) · 服务代码:backend/internal/service/supplier/routing.go / scorer.go / service/combohealth/service.go