# 怎么检测你的 LLM API 是不是真模型？

> https://router.one/zh/llm-api-authenticity 的 Markdown 镜像，供 AI 助手与爬虫使用。Router One 是 OpenAI 兼容的统一 LLM API 网关。
> 最后更新：2026-08-22

第三方 LLM API 服务质量参差不齐：有的悄悄把你付费的模型换成便宜货，有的提供量化或截断上下文的阉割版，有的收完预充值一夜消失。本页是一套可复现的检测清单，对任何服务商都适用——也欢迎拿来测 Router One。我们公开每请求的调用明细，就是为了让你测得到。

## 先认识五类常见问题

对第三方 API 的抱怨，绝大多数能归到这五类。日常闲聊很难暴露它们，生产负载一定会。

### 模型掉包（挂羊头卖狗肉）

标价是旗舰模型，请求实际被路由到便宜模型。这是最难肉眼发现的一类——小模型回答日常问题也像模像样，差距在复杂推理、长上下文召回和工具调用的准确率上才显形。

### 静默降智

模型系列没错，但被量化、蒸馏，或上下文窗口被悄悄截断。短提示看不出问题，长文档任务显著变差。

### 假流式

服务端先生成完整回复，再切块假装流式吐出。首字延迟（TTFT）接近总生成时长，一测便知。

### 参数不透传

temperature、JSON mode、stop、工具定义在中间层被忽略或剥掉。聊天演示看不出来，结构化输出的生产管线直接崩。Router One 原样转发 response_format 与工具定义——准确约定见结构化输出指南，包括网关在调用模型前会拒绝哪些请求。

### 跑路

运营方一夜关站，预充值余额清零。这是商业模式风险而非技术风险——见下方自查表。

## 弱信号：别只问模型「你是谁」

自报身份是最不可靠的检测。中间层可以注入系统提示让任何模型自称任何身份，而且模型本来就经常报错自己的版本号。以下只能当辅助性弱信号：

- 知识截止日期探测：问接近所称模型训练截止日期附近的事件，与官方模型的表现对照。
- 拒答风格与排版习惯：各模型系列有可辨认的默认语气，但都可以被提示词改写。
- 分词器怪癖：对生僻 Unicode、超长重复串的处理在不同系列间有差异——有提示性，永远不是结论。

## 强信号：API 行为指纹

负载下的行为比身份难伪造得多。四个测试能抓住绝大多数掉包和降智：

### 上下文窗口探针（针捞测试）

在接近标称上下文上限的输入开头埋一个标记信息，再让模型复述。静默截断的服务会自信地给出答案但捞不到针——它不报错，而「不报错」正是破绽。

### 工具调用保真度

发送带多个工具和严格 JSON schema 的请求。掉包或重度量化的模型在参数格式错误率、选错工具的频率上和真模型有肉眼可见的差距。

### 流式粒度与首字延迟

真流式按 token 级到达、首字很快；缓冲式假流式则是长时间等待后大块到达。多跑几次，把两个指标都记下来。

### 长指令遵循

写一条含 8-10 个显式约束（格式、禁用词、顺序）的系统提示，旗舰模型和替身模型会迅速拉开差距，且结果可复现。

## 对照测试：同一提示打两个端点

最有说服力的方法不需要信任任何人：把完全相同的请求分别打到官方 API 和被测服务，对比长上下文召回、工具调用与约束遵循的差异。几美元的额度就够。

`ab-test.sh`

```bash
PROMPT='<你的长上下文针捞测试>'

# 对照组：官方端点
curl https://api.openai.com/v1/chat/completions \
  -H "Authorization: Bearer $OFFICIAL_KEY" \
  -d "{\"model\": \"gpt-5.5\", \"messages\": [{\"role\": \"user\", \"content\": \"$PROMPT\"}]}"

# 被测组：待检测服务（OpenAI 兼容）
curl https://api.router.one/v1/chat/completions \
  -H "Authorization: Bearer $ROUTER_ONE_KEY" \
  -d "{\"model\": \"openai/gpt-5.5\", \"messages\": [{\"role\": \"user\", \"content\": \"$PROMPT\"}]}"

# 对比项：针捞召回、拒答风格、工具调用格式、
# 流式粒度、首字延迟。
```

## 非技术信号：跑路风险自查表

技术测试抓掉包，这张表抓「下个季度还在不在」。单条不构成证据，凑齐三条以上就是模式。

| 风险信号 | 为什么危险 | 怎么核实 |
| --- | --- | --- |
| 价格远低于任何合理的合法成本，还宣称不限量 | 按量计费的合法供给有硬成本下限。长期远低于下限的定价，通常依赖共享账号池或逆向接口——掉包、封号、关站是它们的标配结局 | 跑一遍上面的行为指纹测试，并想清楚补贴到底从哪来 |
| 只推大额预充值优惠，没有退款政策 | 商业模式靠沉淀资金，甩手走人的成本很低 | 先用最小额度充值试用，先看清出金与退款条款 |
| 没有状态页、没有 SLA、查不到经营主体 | 出了问题没有任何追责渠道 | 查公开状态页、服务条款、退款政策 |
| 没有逐请求的用量明细 | 你无法核对实际计费的是哪个模型 | 要求请求级日志：模型、tokens、费用、延迟、状态 |
| 售后只在群里 | 群聊里的承诺不可审计，群没了承诺也没了 | 看有没有正式文档和可查历史的工单渠道 |

## 拿这套清单来测 Router One

我们的做法是把可验证性做进产品，而不是请你信任我们。经过 Router One 的每个请求都有逐请求明细——实际服务的模型、tokens、费用、延迟、状态——在控制台日志里可查，上面的对照测试可以和我们向你收费的记录互相核对。你请求哪个模型，服务的就是哪个模型。

- 模型目录与每 token 牌价公开在 /models——没有打包价、没有不透明定价。
- 不留存 prompt 与 completion 正文，只记录计费与路由所需的请求元数据。
- 公开状态页与 SLA，写明 fallback 行为与可用性承诺。
- 几美元余额就够把本页所有测试对 api.router.one 跑一遍。

## 常见问题

### 我问模型「你是谁」，它说自己是 GPT/Claude，这能信吗？

不能。中间层可以注入系统提示让任何模型自称任何身份，而且即使是未经修改的模型也经常报错自己的版本。请用行为指纹——上下文探针、工具调用保真度、流式时序——代替自报身份。

### 为什么有的服务能卖到远低于官方价还「不限量」？

按量计费的合法供给存在成本下限。长期远低于下限、还不设用量上限的定价，一般依赖不可持续的来源，比如共享消费级账号池或逆向的私有接口。这类供给的失败方式很有特征：模型掉包、静默降智、突然封禁、卷款关站。

### 检测上下文截断最快的单个测试是什么？

针捞测试：在接近标称上下文上限的输入开头埋一个标记信息，然后让模型复述。截断的服务会自信作答但丢失开头内容——它不报错，而这正是截断能藏住的原因。

### Router One 怎么证明自己没掉包、没降智？

逐请求明细展示每次调用实际服务的模型、tokens、费用、延迟与状态，可以和你自己的对照测试互相核对；牌价按模型公开，目录公开。我们把审计链路做出来，就是为了不需要你「信」我们。

### 把整套清单跑完要花多少钱？

几美元。本页所有测试用最小额度就能完成——最贵的是长上下文探针，多数模型单次也远低于一美元。

## 相关页面

- LLM API 错误码：https://router.one/zh/llm-api-error-codes
- 结构化输出指南：https://router.one/zh/llm-structured-outputs
- Claude Code 403 排查清单：https://router.one/zh/claude-code-403
- Codex Responses API：https://router.one/zh/codex-responses-api
- 地区限制报错修复：https://router.one/zh/unsupported-country-region-territory
- insufficient_quota 修复：https://router.one/zh/openai-insufficient-quota
- 自动故障转移：https://router.one/zh/llm-fallback
- 路由方法论：https://router.one/zh/routing-methodology
- 服务状态：https://router.one/zh/status
- 本页规范地址：https://router.one/zh/llm-api-authenticity
- 模型与每模型 token 价格：https://router.one/zh/models（markdown：https://router.one/zh/models.md）
- 定价：https://router.one/zh/pricing
- API 文档（markdown）：https://router.one/zh/docs.md
- 公司事实（markdown）：https://router.one/zh/facts/company.md
