用七项检查选中转站:一份可执行的评估清单
不问"稳不稳",改问七个可以当场验证的问题:模型真假、计费口径、上下文、错误语义、参数、工具、流式。
大部分人选中转站的方式是看群里的推荐、看首页写的"官方直连"、看价格表。这三样都不可验证:推荐可能带返佣,直连两个字没有定义,价格表可以随时改。下面这份清单把"稳不稳"拆成七个能当场跑出来的问题,每个问题都给出通过和不通过的样子。
一、先明确你要验证什么
中转站不是一个功能,而是四层东西叠在一起:模型是不是真的、计费是不是按它说的算、协议是不是兼容、服务是不是持续可用。四层的失败方式不同,用一种方法测不出来。
| 层 | 失败的样子 | 用什么验证 |
|---|---|---|
| 模型真实性 | 回的是便宜模型,或小参数版本 | tokenizer 比例 + 上下文探针 |
| 计费 | 按官方价折算对不上,或倍率藏在小字里 | usage × 官方价 对比回传 cost |
| 协议兼容 | 参数被忽略、工具调用不标准、流式是假的 | 参数上限、强制工具调用、SSE 块数 |
| 可用性 | 高峰期 502、限流、掉线 | 多时段采样,看 7 天窗口 |
二、检查一:模型身份
同一个中文提示词发五次,记录每次的 usage.prompt_tokens 与字符数,算出 tokens/字符比。真实模型的这个比值稳定在一个窄带里:Claude 约 0.9–1.4,GPT 约 1.6–2.2,Gemini 约 0.45–0.85,DeepSeek 约 0.45–0.95。
三次以上落在带外,或者五次之间离散度超过 8%,说明后端不是你以为的那个 tokenizer。这不能直接证明"换模型",但足以让你停下来问清楚。
三、检查二:计费口径
拿响应里的 usage 乘官方价,和站点回传的 total_cost 或扣费记录比。偏差 15% 以内算正常(汇率、四舍五入、缓存折扣都会造成小偏差),15%–50% 是观察区,超过 50% 要么倍率没写清楚,要么计费口径不是官方价。
注意三种常见陷阱:充值赠送不计入单价、缓存命中价与全价混用、按"次数"计费却按 token 宣传。
四、检查三:上下文是否真给
声称 200K 上下文,不代表 200K 都有效。做法:先在开头放一句"记住编号 X",再在约 22.5% 位置(不超过 6 万字符)放一个针,最后提问。回答不出来,说明中间被截断或者被摘要过。
五、检查四:错误语义
用一个不存在的模型名发请求。正常的官方接口返回 4xx,并且错误体长成官方的样子(OpenAI 是 {"error":{"message":...,"type":...}},Anthropic 是 {"type":"error","error":{...}})。返回 200、返回 500、或者错误体是站点自己的 HTML,都说明中间有一层改写,这层改写也可能改写你的正常请求。
六、检查五:参数是否被遵守
要求模型输出一个长列表,同时设 max_tokens=16。真的遵守参数的接口会把输出截断在 16 个 token 附近;输出明显超长的,说明这个参数被忽略或改写。参数被忽略意味着你对成本和长度的控制是假的。
七、检查六:工具调用
发一个强制工具调用的请求(tool_choice 指定函数)。标准返回应该是 tool_calls(OpenAI)或 tool_use(Anthropic)结构。返回一段自然语言假装在调用函数,说明这一层没做协议转换,你的 Agent 框架会解析失败。
八、检查七:流式输出
stream=true 时,正常 SSE 会分多个 data: 块到达,首 token 时间是可测的。一次性返回整段内容再切成块的"伪流式",首 token 时间等于总时间,长回答的体验会明显变差。
九、怎么把这些变成一次判断
七项不需要每次全跑。日常选站建议的顺序是:先跑模型身份和计费(这两项直接关系到钱和结果质量),再跑参数和工具(这两项关系到你的代码能不能跑),最后看 7 天可用性数据。四项都过再考虑长期用。
本站的检测台把这七项做成了可执行的流程,跑完会给出 PASS / WATCH / FAIL / SKIP 和对应的证据。SKIP 表示这项在当前协议下没测,不是通过。
十、几条不看的东西
- 首页写的"官方直连":没有可验证的定义。
- 群里的推荐:无法区分真实体验和返佣。
- 价格表上的"低至":通常是最便宜模型 + 最高充值档的组合价。
- 注册就送多少:赠送额度不等于长期价格。
- "稳定运行 XX 天":没有采样窗口和成功率的数字没有意义。
十一、一页版清单
- 同一提示词发五次,看 token 比例是否在家族带内。
- usage × 官方价,与扣费对比,偏差是否小于 15%。
- 22.5% 位置放针,看是否记得住。
- 发一个不存在的模型,看是否返回官方形状的 4xx。
max_tokens=16,看输出是否真的被截断。- 强制工具调用,看返回结构是否标准。
stream=true,看是否多块到达、首 token 可测。
七项里任何一项"说不清",都比价格贵一点更值得在意。价格差 20% 是钱的问题,模型不对是判断的问题。