选供应商不是选第一名,是选一个你换得起的第一名。
一、榜单第一的那家,三个月后改了价
沈禾一个人做合同条款审阅工具,客户是自由设计师和小型工作室:上传一份客户合同,工具标出付款周期、修改次数、版权归属三类风险,按月 19 美元。
以下情境为教学假设,人物、引语和数字不代表经核实的真实案例。
选型那天她做了三件事:打开两个公开榜单,把排在前三的模型名抄进表格;给供应商 A 充了 20 美元,跑通一个演示;在社区里问了一句「大家都用哪家」。两天后她定了 A,理由是「回复更像人,而且榜单第一」。
第三个月,A 调整计费结构:输出 token 单价上调,免费额度砍掉一半。她的月度推理成本从 61 美元涨到 94 美元,客单价没变。更麻烦的是限流:额度用完后突发流量开始吃 429,工具在客户赶稿的晚上连续失败了四次。
她想换供应商,这才发现适配层是写死的:请求体直接拼 A 的字段名,返回解析依赖 A 的 JSON 结构,连错误码都按 A 的文档分支处理。换一家不是改一个 base URL,是重写调用层、重跑质量验证、再向已付费的客户解释为什么这两周结果会变。她估了 6 个人天,于是没换,只把价格提了 3 美元,流失两个客户。
选型真正要回答的不是「哪家最强」,而是「哪家在我换得起的前提下够用」。 这句话拆开就是三个动作:用自己的题打分、留两条能立刻接上的备选、把迁移成本提前算成钱。
二、五维打分:用自己的题,不看公开榜单
| 维度 | 权重 | 打分依据 | 1 分 | 5 分 |
|---|---|---|---|---|
| 自己 50 条评测通过率 | 30% | 同一批用例、同一评分表 | 低于 50% | 不低于 85% |
| 可复算单价 | 20% | 输入输出分别计价后折算到单次任务 | 超预算 2 倍 | 在预算 60% 内 |
| p95 延迟 | 20% | 首 token 与总时长分开记 | 超过 8 秒 | 低于 2.5 秒 |
| 数据条款与区域 | 15% | 是否入训、留存天数、可用区域 | 条款不清 | 书面承诺不入训 |
| 稳定性与状态页 | 15% | 近 90 天事故次数与恢复时长 | 每月多次 | 季度内无长事故 |
权重的顺序就是你的风险顺序。 通过率占三成,因为一个答不对的模型再便宜也没人用;单价和延迟各占两成,前者决定你能不能长期卖,后者决定用户会不会等;条款与稳定性各占一成半,它们平时不发声,出事时一次就能把前面三项全部作废。
50 条题必须来自你的真实流量。 不要用网上现成的评测集,那些题的语言风格、长度分布和你的用户完全不同。从最近两周的请求里抽 50 条,覆盖常见问法、边界情况、明显不该答的问题,再补几条你已知会失败的。这批题在第 05 篇会扩成正式评测集,这里先用它做选型。
打分锚点要提前写死,不能边打边改。 每个维度只给 1、3、5 三档的文字描述,2 分和 4 分只在两档之间无法归类时使用。这样可以避免「今天心情好给 4 分、明天赶时间给 2 分」的漂移,也让另一个人能复现你的判断。
分数背后要有原始输出。 每家供应商的 50 条回答都存成一个文件,命名带上日期与模型快照。日后出现争议时,你能回看当时它是怎么答的;没有原始输出的分数,一个月后连自己都无法解释。
单价要折算到「单次任务」,不是折算到「每百万 token」。 同一个任务,强模型可能要 1800 输入加 400 输出,弱模型要 2600 输入加 500 输出,因为弱模型需要更长的指令和示例。只看标价会得出错误的排序,必须用你真实 prompt 的 token 分布去乘。
p95 比平均值重要。 平均值 1.2 秒、p95 是 9 秒的供应商,会让你在演示时表现很好、在客户集中使用的时段集中翻车。首 token 时间和总时长也要分开记:流式输出下用户感知的是首 token,而你的超时预算管的是总时长。
条款与稳定性要看书面证据。 「不会用于训练」写在营销页上不算,要写在合同或数据处理协议里;「可用性 99.9%」要能看到状态页的历史记录,而不是只看当月截图。没有状态页的供应商,稳定性这一项最多给 2 分。
入围线是 3.5 分,且至少两家同题跑分。 只有一家参评时,分数没有意义,因为你无法判断 4.2 分是「好」还是「这家恰好在你的题上不失分」。两家用同一批题、同一评分表、同一天跑,才有比较的基础。三家更好,但两家是底线。
三、两条备选:一家兼容供应商,一条弱模型兜底
| 层级 | 角色 | 触发条件 | 质量预期 | 成本 |
|---|---|---|---|---|
| 主供应商 | 默认路径 | 健康检查通过 | 基准 | 100% |
| 备选供应商 | 同能力替换 | p95 超阈值或连续 429 | 基准上下 5% | 80% 到 130% |
| 弱模型 | 降级回答 | 主备都不可用 | 基准减 15% | 20% 到 40% |
| 模板或缓存 | 兜底 | 全部不可用 | 固定文案 | 接近 0 |
备选供应商的门槛是「同题能过」。 它不需要和主供应商一样强,但必须在你那 50 条题上达到入围线,否则换过去等于换一个问题。选型阶段就把它跑一遍,把分数记在同一张表里,而不是等主供应商出事时临时找。
「兼容」指的是接口形态,不是模型能力。 能接上的备选至少要满足两条:请求可以用一套统一的抽象层表达,返回可以解析成同一个内部结构。字段名不同没关系,适配层里做映射即可;如果连「一次请求对应一次响应」这种基本形态都对不上,那它只能做第二套代码路径,不能算备选。
弱模型的价值是保住流程,不是保住质量。 用户要的是「这次也能出结果」,哪怕结果差一档。所以弱模型只接低风险、可撤销的功能:草稿、摘要、分类建议;涉及金额、合同、医疗的部分直接走拒答或人工。
提示与解析必须保持中立。 三条具体纪律:提示里不写「你是某某模型」这类供应商专属措辞;解析不靠字符串匹配,而靠 schema 校验加字段兜底;错误处理按 HTTP 语义分支,不按某家的专属错误码分支。做到这三条,换供应商才是改配置而不是改代码。
兜底层要提前写好文案。 模板兜底不是「出错了请重试」,而是把用户原本要的那件事用固定格式补上:条款清单模板、常见问题答案、上次成功结果的缓存。这一层成本接近零,但决定了故障时用户是「等一会儿」还是「明天再说」。
每季度拔一次插头。 在测试环境把主供应商的密钥禁用,观察请求是否自动落到备选、降级文案是否正常、日志是否记得下切换原因。没演练过的备选,在真故障时大概率不生效。具体的三层预案与熔断参数放在第 08 篇展开。
四、把迁移成本算进决策
| 成本项 | 口径 | 教学假设数字 |
|---|---|---|
| 适配层改造 | 人天 × 日成本 | 6 人天 × 800 = 4800 |
| 双跑月费 | 双跑月数 × 两份月费 | 2 个月 × 260 = 520 |
| 评测重跑 | 小时 × 时薪 | 16 小时 × 100 = 1600 |
| 质量回退损失 | 退款 + 补偿 + 流失 | 1200 |
| 合计 | 四项相加 | 8120 美元 |
迁移成本要在签合同前算,不是在出事时算。 出事时你已经没有议价能力,供应商涨价你只能接受,因为换的成本高于忍的成本。签之前算出来,你才知道该不该先投那 6 个人天把适配层做薄。
双跑不是浪费,是保险。 两个月的双跑费用看起来是白花的钱,但它买的是「切换当天质量不掉」这个结论。没有双跑的切换,本质上是拿生产流量做实验,一次质量回退的退款和口碑损失通常超过双跑费用。
有些时候正确答案是不迁。 如果备选的 50 条题得分比主供应商低 15% 以上,或者迁移会让一个核心功能停摆超过一天,那么涨价 30% 也可能比迁移便宜。把两个方案的钱并排放,选小的那个,而不是选「看起来更主动」的那个。
质量回退损失要按最坏情况估。 一部分用户会在切换后一周内发现结果变差,其中一部分会要求退款,还有一部分不投诉但不再续费。把这三类分别乘上历史比例,得到一个保守数字;如果你估不出来,就按一个月收入计。
锁定成本率是决策指标,不是财务报表。 迁移成本除以年 AI 收入,得到「换一次要付掉多少年收入」。教学阈值取 25%:低于这个数,你随时可以走,供应商的涨价威胁不成立;高于这个数,你实际上已经被锁定,应该在选型阶段就把它降下来,而不是等涨价后再谈。
合同里要留三个出口。 数据可导出且格式通用、价格调整提前 30 天书面通知、终止后至少 30 天的只读期。这三条不涉及技术,但决定了迁移成本里最贵的那部分——数据重建和客户解释——能不能被压缩。
每个季度把这三个数字重算一遍。 你的调用结构会变、供应商的价格会变、年收入也会变,上季度 18% 的锁定成本率这季度可能已经是 31%。重算时只替换数字,不改口径,这样前后两季才有可比性。
五、行动清单与复算验收
先跑分,再谈价。 打分表填完之前不要和供应商谈折扣,因为你还没有判断依据,折扣会把你的注意力从「够不够用」拉到「便宜多少」。两家同题跑分通常一个下午就能完成,它是整篇里性价比最高的动作。
备选要在心情好的时候搭。 主供应商正常运行时搭备选,成本是几个小时;主供应商故障时搭备选,成本是几个小时的故障加几个小时的返工。顺序反过来,代价差一个数量级。
打分表只能有一个人维护。 多人各打一份,权重和锚点会在几轮之后悄悄分叉,最后的分数无法比较。如果你有合作者,让他只提供原始输出和盲评排序,加权计算由同一个人完成,并保留每次的评分文件。
- 从最近两周真实请求里抽 50 条,写成独立文件并标注期望要点。
- 用同一批题、同一评分表、同一天跑至少两家供应商,记录原始输出。
- 按五维权重算出加权得分,把低于 3.5 分的直接排除。
- 把入选供应商的输入、输出 token 分布代入单次任务成本,不用标价排序。
- 选定一家兼容备选与一个弱模型,分别记录其 50 条题得分。
- 把提示与解析改成中立写法,禁止出现供应商专属措辞与字符串匹配。
- 按四项成本算出迁移成本与锁定成本率,超过 25% 先做适配层。
- 在测试环境禁用主供应商密钥,验证备选、弱模型与模板兜底依次生效。
验收标准:加权得分、迁移成本与锁定成本率三个数字都能用你手上的真实数据复算出来,且禁用主供应商后 10 分钟内业务仍能出结果。
加权得分 = 0.30×通过率分 + 0.20×单价分 + 0.20×延迟分 + 0.15×条款分 + 0.15×稳定性分
示例:4×0.30 + 3×0.20 + 5×0.20 + 4×0.15 + 3×0.15 = 3.85 → 入围
迁移成本 = 适配人天×日成本 + 双跑月数×月成本 + 评测重跑 + 质量回退损失
示例:6×800 + 2×260 + 1600 + 1200 = 8120 美元
锁定成本率 = 8120 ÷ 24000 = 33.8% > 25% → 先做适配层,再签
使用边界与实操验收
本文讨论的是「一个人或小团队如何在两三家模型供应商之间做选择」,不涉及自建推理集群、模型微调与多区域容灾架构。它假设你已经有可用的产品与真实流量,选型是为了让功能稳定上线,而不是从零验证需求。
- 模型路由与选型:大小模型分层调度 :它讲同一个请求在多个模型之间怎么按难度分层调度,本文讲供应商层面怎么打分、留备选与算迁移成本。
- 模型网关与多模型路由 :它讲网关如何统一入口、配置策略分流,本文讲网关之前的选型决策与锁定成本。
- LLM 网关与多模型路由:统一入口、策略分流与故障转移 :它讲故障转移的工程实现,本文讲为什么要在签合同前就把这条路留出来。
实操验收建议做两次交叉验证。第一次在选型阶段:把两家供应商的 50 条原始输出并排放在一起,请一个不了解技术细节的同事盲评,看她的偏好是否与你的加权得分一致;不一致的地方往往是你权重设错了。第二次在上线一个月后:调出真实的 429 与超时日志,看备选是否被真正触发过,没有触发过就说明健康检查的阈值太松。
本文的分数与权重不是行业标准。 30% 到 15% 的权重分配、3.5 分入围线、25% 锁定成本率,都是为了让判断可执行而选的教学刻度。你的业务如果对延迟极端敏感,或者客户全在受监管行业,权重必须重排。
本文不覆盖的三种情形。 一是需要私有化部署、模型权重不能出内网;二是需要微调才能达到可用质量;三是供应商只在单一区域提供服务且无替代。这三种情况下,「留备选」的成本结构完全不同,需要另一套算法。
关键参考与核验范围
核对日期:2026-10-25。下列来源仅支持明确标注的机制或原则。
- Claude:API Versions : 用于核对 API 版本参数与兼容变更的公开约定。
- Gemini API:Models : 用于核对模型标识与版本的公开入口;不据此推断当前价格或条款。
使用边界。 API 版本、模型标识和可变别名需分别记录。五维权重、3.85 分与 8120 美元迁移成本是本文的教学模型,供应商得分不是实测排名,数据条款仍需逐家核对。
如何自行复核。 用同一脱敏任务集比较候选模型,保存模型标识、API 版本、配置与结果;把数据保留、地区与退出条款单独确认,不能由性能得分抵消。
系列导航
- 上一篇:推理账单:每用户每月、每次调用与毛利下限
- 下一篇:一人产品的提示资产:模板、变量、版本与可复现
- 回到目录:一个人给产品加 AI:判据、成本、护栏与验收
- 相关阅读:LLM 成本治理与 Token 优化 、推理成本核算与 FinOps
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。