
之前我开发了个 AI 小工具,功能很简单 —— 定期调用 AI 来监测网站并总结。因为业务逻辑并不复杂,所以我对 AI 的核心诉求就 3 点:快、稳、省,于是我选择了一个便宜的 Flash 模型作为默认模型。
结果之后的某天凌晨,我被这个工具的告警短信炸醒,报错信息是 429 Too Many Requests(请求过多)。

当时的我一脸懵逼:奇怪了,我最近也没改代码啊?难道是我的 API Key 泄露被人刷了?
结果上网搜了一圈发现,原来是因为模型提供商做了变更,改变了原有模型的限流策略。
这就是传说中的:人在家中坐,Bug 天上来?

这件事给了我一个启发,不能把业务绑死在一个模型上,只要它限流、调整或者故障,我的项目就会跟着抽风。我命不由我不由天……
我觉得现在最值钱的不是 “选哪个模型”,而是 “随时换模型” 的能力。
可替换 绝对是多模型时代的核心工程能力。

怎么做到随时切换模型呢?
正确的做法是:做一个 模型路由器(Router),所有 AI 请求统一调用 Router,由 Router 负责把请求发送给对应的模型。这样一来,可以灵活替换模型,而不改变业务代码,告别 if else。
比较实用的路由策略是:

对应的伪代码:
async function callWithRouter(req) {
const plan = [
{ model: "fast", timeoutMs: 8000, maxTokens: 1200 },
{ model: "pro", timeoutMs: 15000, maxTokens: 2000 },
{ model: "opus", timeoutMs: 20000, maxTokens: 2500 },
];
for (const step of plan) {
try {
const res = await callModel(step.model, req, step);
if (isValid(res, req.expectedSchema)) return res;
} catch (e) {
logFail(step.model, e);
}
}
thrownewError("All models failed. Check logs.");
}
看起来很简单是不是?
但实际上写个 Router 只是第一步,如果要让模型切换自如,关键是要对接各种各样不同的大模型并 做到兼容。比如 OpenAI 的流式输出格式跟 Anthropic 不一样、Google 的鉴权(OAuth/JWT)又不一样。
如果自己开发 Router,你要维护 SDK、处理多种报错结构。写着写着你就发现自己不是在做产品,而是改做 “云厂商” 了……
聪明的程序员不会重复造轮子,其实我们可以直接用现成的多模型中间层。
像我现在有些项目用的是 七牛云 AI 大模型推理,有几个不错的点:
七牛云实际支持的模型列表,以这个页面为准:
指路:https://sufy.com/zh-CN/services/ai-inference/models

观察下来,他们对接新模型的速度还是很快的,比如最近很火的:
还有 xAI Grok 等一堆海外闭源 / 主流模型,都已经支持了。
怎么使用呢?
假如你之前调用的是 OpenAI 的大模型,可以继续使用 OpenAI 的 SDK 平移接入。以 Node.js 为例,只需要改一下 API Key 和 baseURL 参数即可,之后一行代码就可以灵活切换各种模型。
import OpenAI from"openai";
const client = new OpenAI({
apiKey: process.env.QINIU_AI_API_KEY,
baseURL: "<https://api.qnaigc.com/v1>",
});
const resp = await client.chat.completions.create({
model: "openai/gpt-5.2", // 也可以换成 Gemini/Claude/别的(以模型广场为准)
messages: [
{ role: "system", content: "你是一个严谨的编程助手,输出尽量短,给关键步骤即可。" },
{ role: "user", content: "帮我把这段代码重构一下,并解释原因(要点即可)。" },
],
max_tokens: 8192,
});
console.log(resp.choices[0].message.content);
如果你在用 Claude Code,你可以这么配置 Base URL:
export ANTHROPIC_AUTH_TOKEN="你的七牛云AI API Key"
export ANTHROPIC_BASE_URL="<https://api.qnaigc.com>"
接下来就可以愉快使用了:

你还可以把 Claude Code 默认模型改成你想用的任意模型(比如更省钱的、或者你要做对比评测的),核心就是把 “模型” 变成一个可配置项,而不是写死在业务里。
最后送大家一段非常不浪漫、但非常保命的话:
别再纠结 Claude 4.5 / GPT-5.2 / Gemini 3 谁最强。
你该纠结的是:当它变贵、抽风、限流、改策略时,你能不能 10 秒切走。
能切走,你就强。