你正在用的中转站靠谱吗?

你花 20 块钱买的 Claude Opus,可能只是 2 块钱的 DeepSeek 套了层皮!

一个账号,通 OpenAI、Anthropic、Google,一站式调用,看起来很方便。

但有两个坑我们要十分注意:

  • 明明卖的是 Claude Opus,背后跑的是 Haiku
  • 表面看起来没换模型,但偷偷给你的 prompt 里塞一堆东西,让 token 消耗莫名其妙变高

前者是在拿便宜货当贵货卖。

后者是在你看不见的地方慢慢放血。

最恶心的是,这两件事普通用户几乎很难发现。

你看到的 response.model 可以改。

返回格式可以伪装。

输出里说“我是 Opus”也可以提前写好。

很多中转站根本不是在“转发模型”,而是在“包装模型”。

包装这件事本身没问题。

拿包装骗人,问题就大了。

所以我们想做一件事:

给中转站做风险检测。

先把边界说清楚。

我们不是要做一个“百分之百验真”的神器。

这种东西今天没人做得到。

除非哪天上游厂商给每次响应都上签名证明,不然第三方不可能一句话判死刑。

但这不代表这件事没法做。

绝对验真做不到,不代表风险审计做不到。

我们要做的是一个风险评分系统。

用户最关心的是两件事:

  • 我到底有没有被换模型?
  • 我到底有没有被偷 token?

别的都虚。

这两个最实。

而对我们《驿站·AI》来说,有责任把这件事摆到桌面上掰扯掰扯。

既然我们在做中转站目录,就不能只给用户一个列表。

如果目录里混进一堆注水站,我们自己其实也在帮这些站背书。

更现实的是,现在外面已经有一些所谓“检测网站”了。

但你去看一圈,会发现一个共同问题:

它们给你结果,但不给你方法。

你不知道它怎么测的。

你也不知道它到底有没有真的测。

这种东西说白了,你只能“信”。

但检测系统如果只能靠信,它自己就已经不合格了。

中转站最容易造假的地方,恰恰是用户最先看到的地方

我们使用中转站的时候,数据链路是这样流转的:

用户请求 -> 中转站 -> 上游模型

上游模型 -> 中转站 -> 用户响应

它天然就有改东西的能力。

而且很多地方改起来成本低得离谱。

比如:

  • response.model 字段,改一行 JSON 就行
  • 返回结构,如果它本来就做代理兼容,长得像官方一点都不难
  • 输出里提到自己是谁,可以提前在 prompt 里做手脚
  • stop_reason 这种字段,照样能改
  • 错误格式很多时候甚至直接透传就好了

所以如果一个人还在靠“它返回说自己是 Opus,所以它就是 Opus”来判断,那基本等于没判断。

中转站最会骗人的地方,就是它最表面的那层。

我们到底要检测什么

我们把问题拆得很直白,就三类。

1. 模型冒充

比如拿 DeepSeek、Qwen 这类模型,去冒充 Claude 或 OpenAI。

2. 同厂以小换大

比如拿 Haiku、Sonnet 去冒充 Opus。

3. Prompt 注水

比如偷偷改你的 prompt,塞额外上下文,让你 token 跑得更快,钱烧得更多。

这三类问题,本质上都不是“小误差”。

这是实打实的风控问题。

再说白一点,就是:

你花的钱,和你实际拿到的东西,可能根本不是一回事。

我们的方法其实不复杂:AB对照测试

核心思路很简单:

同一个 prompt,同时打中转站和官方 API。

然后对比:

  • usage
  • 输出结果
  • stream 行为
  • 响应速度

对比结果按照一定的比例计算分数。

最难伪造的,第一个就是 token 行为

有些东西它很好伪造。 有些东西,它想伪造,成本会非常高。

很多人会低估 tokenizer 这件事。

但如果你真的做过多模型对比,就会知道:

不同模型对同一段文本的 token 切分,可能真的不一样。

这不是偶然。

这是 tokenizer 设计本身决定的。

所以像这些东西:

  • input_tokens
  • output_tokens
  • 截断位置
  • usage 变化趋势

它们本身就是行为指纹的一部分。

这件事有官方依据。

OpenAI 官方开源了 tiktoken:

https://github.com/openai/tiktoken

里面最关键的一个信号其实不是代码本身,而是这个接口:

python

encoding = tiktoken.encoding_for_model("gpt-4o")

这说明什么?

说明不同模型对应不同 encoding。

说明 tokenizer 不是和模型无关的外壳。

说明 token 行为本来就和模型身份强相关。

所以如果一个中转站声称自己在跑某个模型,但 usage 行为长期更接近另一类模型,那这件事就值得起疑。

当然,我不想把这个说得太绝对。

因为这块也有边界。

Anthropic 官方就明确说过,token count 可能有估算误差,系统也可能自动加入一些优化 token。

所以 token 检测绝不是“一票否决证据”。

但它绝对是强信号。

而且是那种很难完全洗干净的信号。

第二个难伪造的是TPS,也就是生成速度

这个反而最好理解。

模型推理速度是物理属性。

不同模型、不同推理路径、不同 reasoning 负载,速度天然不同。

而中转站只是在中间多套一层壳。

它最多做到“不太拖后腿”。

它做不到“让慢模型变快”。

所以如果一个号称 Opus 的东西,跑出来比官方同类模型还轻快很多,那你第一反应不该是“这家优化真牛逼”,而该是:

它是不是根本就不是 Opus。

当然,速度不能独立定罪。

网络、地区、负载、缓存、上下游调度都会影响结果。

但如果速度异常、usage 异常、输出习惯也异常,那证据就开始叠起来了。

我们做的不是单点判断。

我们做的是多信号交叉。

第三个难伪造的是输出行为特征

这个是很多外行完全不看的地方,但恰恰很有用。

很多中转站嘴上都说自己兼容 OpenAI / Anthropic。

但只要把 stream 抓出来看细节,经常能看出一堆问题。

比如:

  • 事件顺序不对
  • chunk 粒度不对
  • usage 出现位置不对
  • stop 信号不对
  • 某些字段命名或者时机很别扭

Anthropic 官方 streaming 文档其实把事件结构写得很清楚:

📷https://platform.claude.com/docs/en/build-with-claude/streaming

像:

  • message_start
  • content_block_start
  • content_block_delta
  • message_delta
  • message_stop

这不是“参考写法”,这是正式协议行为。

所以如果一个中转站表面兼容,细节却一直对不上,那它至少说明两件事之一:

  1. 它兼容得很粗糙
  2. 它背后的东西根本不是它宣称的那套实现

这件事特别适合做协议层审计。

因为字段能抄,节奏不好抄。

Prompt 注水这件事,行业里其实都知道

给一个极短 prompt,看 token 消耗。

如果消耗不对劲,基本就有东西被加进去了。

这事一点都不玄学。

很多时候不是模型有问题,是中转站在你请求前面偷偷拼了别的上下文。

有些是系统模板。

有些是安全包装。

有些就纯粹是为了别的目的。

问题不在于“它加没加”。

问题在于:

它加了,但你不知道。

而且最后这个成本是你出。

那就应该被查。

而且进行检测时候的Prompt应该加入随机盐。

如果检测系统永远拿固定一组 prompt 去测,中转站完全可以反过来针对这组题做优化。

你测出来它永远像真货,不代表它平时也像真货。

所以我们不会做那种“题库式验机”。

我们的 prompt 会加盐。

会做变体。

会做对照。

会故意拉一些极短、极长、边界型、协议敏感型输入。

写在最后

我们在寻找检测方法的过程中发现了一篇论文,恰巧的是我们的方向是一致的。

感兴趣的可以阅读一下这篇论文:https://arxiv.org/abs/2505.13778?utm_source=chatgpt.com

这篇论文核心研究的是:商业闭源 LLM API 是否可能存在“隐藏 reasoning token 注水”?

论文核心观点:

  • 用户无法看到隐藏 reasoning
  • 用户只能相信平台的 token usage
  • 理论上存在 token inflation(token 虚报)风险

它甚至提出了:第三方 token auditing framework,也就是第三方 token 审计框架。

所以我们驿站·AI 现在就在做这事。

我们把忽悠人的站点都干掉只留下靠谱的站点,找靠谱中转站就来「驿站·AI」。

关注我,关注「驿站·AI」分享更多干货。

想看看当前有哪些 AI 中转站?浏览中转站广场 →