AI中转站实测:你花的Opus钱,拿到的可能是Sonnet
起因
最近用某中转站跑 Claude Code,体感时好时坏——有时候推理很深,有时候又特别鲁莽,犯一些不该犯的低级错误。
一开始以为是自己 prompt 写得不好,后来越想越不对:同样的任务,之前用另一个站就没这问题。
于是决定动手查一下,到底给我的是不是真 Opus。
结果查出来的东西,比我预想的多得多。
一、最硬的证据:裸请求泄漏"Kiro"身份
我用 curl 直接调中转站的 API,不带任何 system prompt,只发了一个 "hi":
curl -s https://[中转站地址]/v1/messages \
-H "Content-Type: application/json" \
-H "x-api-key: sk-xxx" \
-H "anthropic-version: 2023-06-01" \
-d '{"model":"claude-opus-4-6","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}'
返回:
{
"content": [{"text": "Hey! How's it going? I'm Kiro, here to help with your dev work."}],
"model": "claude-opus-4-6",
"usage": {"input_tokens": 4, "cache_read_input_tokens": 0}
}
"Kiro"是什么? 它是 Claude Code 内置的身份标识,只有在 Claude Code 的 system prompt 里才会出现。我的请求里根本没有这个设定。
这说明:
- 中转站用的是 Claude Code 订阅账号(不是 API key)来转发请求
- Anthropic 那边自动给这个账号附加了 Claude Code 的系统提示词
- 你以为你在调"纯净API",实际上请求经过了一层 Claude Code 会话
另外还有一个细节:多次测试中,cache_read_input_tokens 偶尔会蹦出 29 个 token。我没发 system prompt,这 29 个 token 哪来的?只有一种解释——其他用户的会话缓存渗透过来了。拼车嘛,大家共用一个上游账号,缓存自然是共享的。
二、同一道题,两个站的差距
我用同一道积分题分别测了两个中转站(都请求的 claude-opus-4-6):
题目:∫ x³eˣ dx,要求逐步推导。
站 A(体感"蠢"的那个):
- 只做了 1 轮分部积分,直接跳到答案
- 没有展开中间过程
- 输出 79 个 token
- 像是在背公式,不像在推理
站 B(体感正常的那个):
- 完整做了 3 轮分部积分,每轮都写清楚 u/dv/du/v
- 最后还点出了"系数恰好是 3! = 6"这个规律
- 输出 450 个 token
- 有洞察力,这才像 Opus
同一个模型名,同一道题,推理深度差了一个量级。你说是不是同一个模型?
三、响应头里的 model 字段,别信
两个站返回的 JSON 里都写着 "model": "claude-opus-4-6"。
但这个字段是中转网关自己填的,不是 Anthropic 签名认证的。中转站用的开源软件(比如 Sub2API)源码里就有 model_mapping 功能——你请求 opus,它转发给 sonnet,响应里再把 model 改回 opus。三行代码的事。
还有几个可疑点:
service_tier: "standard"— 真正的 Max 订阅用户通常拿到priorityinference_geo: "not_available"— 官方直连会返回推理服务器地理位置,代理把这个藏了
这些都不是铁证,但加在一起就很说明问题了。
四、顺手溯了一下源
既然都查了,干脆把中转站的底子也扒一扒。
站 A(体感差的):
- 域名是个
.cn的,用 DNSPod 解析,Cloudflare CDN - 网站前端是开源项目 Sub2API(GitHub 2k star),专门做"拼车分发"的
- 品牌名随便起的,全网搜不到任何推广痕迹,零公开信息
- 域名名字带"解析"二字,查了一下这类域名的历史——以前是做视频VIP解析的(就是破解优酷爱奇艺会员视频那种)
- 视频解析不赚钱了,转型 AI 拼车。灰产老哥的标准转型路径
站 B(体感正常的):
- 通过证书透明度日志(crt.sh)查到了完整的基础设施:
- 主域名
rjj.cc - 日本服务器集群(jp-fox、jp2-fox)
- 独立状态监控页
- 关联域名
bookapi.cc(之前做小说/图书API的)
- 主域名
- 有推荐返佣系统,有博客软文推广,有多个通道(/claude、/aws、/droid)
- 明显是在正经做生意,规模比站 A 大得多
五、降级到底怎么实现的?
查下来,大概率不是"用 system prompt 告诉模型你要假装变笨"这种骚操作,而是更简单粗暴的方式:
路由替换:网关收到你的请求,把 model: opus 改成 model: sonnet,转发给 Anthropic。响应回来再把 model 字段改回 opus。你在客户端看到的永远是 opus,但跑的是 sonnet。
而且很可能是动态的:
- 额度充裕 / 低峰期 → 给你真 opus
- 额度紧张 / 高峰期 → 降到 sonnet
这就解释了为什么体感时好时坏——不是你的问题,是后面的模型在变。
六、你自己怎么验?
不用信我,自己跑一遍就知道了。
方法 1:裸请求测身份泄漏
用 curl 直接调你的中转站,不带 system prompt,只发 "hi"。如果回复里出现了 "Kiro"、"Claude Code" 之类你没设定过的身份,说明上游有东西在注入。
方法 2:同题对比推理深度
找一道需要多步推理的数学题(比如多轮分部积分、逻辑推理题),分别用中转站和官方 API 跑。真 Opus 会展开每一步,Sonnet 倾向于跳步给结论。
方法 3:持续监测 token 数
同一道题,不同时段跑,记录 output_tokens。如果同一个问题有时输出 400 token 有时输出 80 token,大概率后面的模型在切换。
方法 4:看 cache 字段
你没发 system prompt,但 cache_creation_input_tokens 或 cache_read_input_tokens 不为零?那就是有东西被偷偷塞进去了。
七、说在最后
但有一条底线:你标什么模型,就该给什么模型。 收了 Opus 的钱给 Sonnet,这不叫降本增效,这叫欺诈。
掘金上有篇文章说得很直白:2026 年 AI 中转行业最恶劣的潜规则就是模型降级——前端标 GPT-5.2,后端偷偷转发到 4o-mini。Claude 这边也一样。
如果你也在用中转站,建议自己跑一遍上面的测试。花五分钟,心里有个数。
如果你在意模型质量的确定性,目前唯一靠谱的方式还是 Anthropic 官方——要么 API,要么 $200/月的 Max 订阅。贵是贵,但至少给你的就是你付钱买的东西。
以上测试均可复现,curl 命令已给出,换成你自己的 key 就能跑。