怎么验证平台提供的模型没有被「降智」或偷换?
直接回答
验证模型是否被降智或偷换,可靠的做法是用一组固定测试题在平台和模型官方渠道分别运行并对比,再检查上下文长度、Token 用量和支持的能力是否与官方规格一致。直接问模型「你是谁」并不可靠,不能作为判断依据。
所谓「降智」或偷换,是指平台标称提供某个模型,实际却用更低档的模型顶替,或者暗中截断上下文、限制输出。这类问题从接口表面看不出来,但可以通过对比测试发现。
验证的思路是:模型的能力规格是公开的,实际行为应当与规格相符。只要准备好测试样本,在平台和官方渠道各跑一遍,差异就会显现。需要先说明,下面的方法给出的是证据而不是定论,模型输出本身带有随机性,单次结果不足以下结论。
关键要点
- 直接询问模型的名称或版本不可靠,模型对自身身份的回答经常出错。
- 有效的验证依赖对比:同一批提示词,在平台与官方渠道分别运行。
- 上下文长度、最大输出长度、是否支持图像或工具调用,都是可以直接测试的硬指标。
- 接口返回的 Token 数应与平台账单一致,对不上是值得追问的信号。
- 结论要基于多次、多样本的结果,不要凭一两次回答判断。
五种验证方法
| 方法 | 检查什么 | 可靠程度 |
|---|---|---|
| 固定题库对比 | 回答质量与风格是否和官方渠道一致 | 高,需要一定样本量 |
| 上下文长度测试 | 能否处理标称长度的输入 | 高,结果明确 |
| 能力项测试 | 图像理解、工具调用、JSON 输出等是否可用 | 高,结果明确 |
| Token 用量核对 | 返回的 usage 是否合理并与账单一致 | 中,用于发现截断 |
| 响应特征观察 | 首字延迟、输出速度是否符合该模型的常态 | 低,只能作为辅助 |
具体步骤:
- 准备题库。 选 20 道左右能区分模型档次的题目,覆盖多步推理、代码、长文本理解,并保留标准答案。不要只用常识问答,低档模型同样能答对。
- 固定参数。 两边使用相同的提示词、相同的
temperature(建议设为 0)和相同的输出长度上限。 - 双边运行。 在待验证的平台和模型官方渠道各运行一遍,每道题重复两三次。
- 对比正确率。 关注整体正确率的差距,而不是个别题目的措辞差异。
- 测试硬指标。 构造接近标称上下文长度的输入,在文档开头埋一个只有读完全文才能回答的细节,看模型能否答出。
- 核对账单。 把接口返回的 Token 数与平台用量记录中的数字逐笔对照。
可以直接运行的检查
在 EasyAPI 上,GET /v1/models 会返回每个模型的上下文长度、单次最大输出、输入输出模态、支持的参数和能力位,可以先拿到平台声明的规格,再与厂商官方公布的规格对照:
curl https://token.easyapi.com/v1/models \
-H "Authorization: Bearer $EASYAPI_API_KEY"
然后用固定参数发起对比请求:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://token.easyapi.com/v1",
api_key=os.environ["EASYAPI_API_KEY"],
)
cases = [
"一个水池有甲乙两个进水管,甲单独注满需 6 小时,乙单独注满需 4 小时,同时开多久注满?只给出小时数。",
"写一个 Python 函数,判断字符串是否为回文,忽略大小写和非字母数字字符。",
]
for q in cases:
r = client.chat.completions.create(
model="deepseek-v4-pro-0813",
messages=[{"role": "user", "content": q}],
temperature=0,
)
print(r.model, r.usage.prompt_tokens, r.usage.completion_tokens)
print(r.choices[0].message.content, "\n---")
把同样的题目拿到模型官方渠道再跑一遍,对比答案质量与 Token 数。如果要核对费用,每个响应都带有 X-EasyAPI-Request-Id 响应头,可以用它调用 GET /v1/generation 查询这次调用的 Token 数和最终扣费,计算方式见 大模型 API 按量计费是怎么算的。
哪些做法不可靠
- 问「你是什么模型」。 模型并不确切知道自己的版本,回答容易受训练数据和系统提示词影响,答错不代表被偷换,答对也不代表是真的。
- 只看一两次回答。 同一个模型的输出本来就有波动。
- 只凭速度判断。 延迟受网络、排队和负载影响很大,快慢都说明不了模型身份。
- 用过于简单的题目。 不同档位的模型在简单题上表现接近,区分不出来。
还有一种情况不属于偷换,但会造成结果差异:不同渠道的默认参数、系统提示词或思考模式设置可能不同。发现差异时,先确认两边的请求参数完全一致,再下判断。
另外需要了解的是,接入平台通常会在多个上游渠道之间做路由。EasyAPI 的文档说明网关会根据模型、负载、成本与可用性选择上游渠道,并允许在请求中用 provider.sort 指定按价格、延迟或吞吐量的路由偏好。路由是这类平台的正常机制,关键在于最终处理请求的是否为所标注的模型,这正是上述测试要回答的问题。
常见问题
问模型「你是哪个版本」能判断真假吗?
不能。模型对自身名称和版本的回答并不可靠,既可能把真模型说错,也可能被系统提示词引导成任何答案。应当用能力对比测试来判断。
验证一次要花多少钱?
取决于题库大小和模型单价。20 道题、每题重复三次的规模通常只消耗少量 Token,可以在发起请求时加上 usage.include = true,直接从响应里看到每次调用的费用。
发现平台的回答质量比官方差,一定是被偷换了吗?
不一定。先排除参数不一致、思考模式开关不同、提示词被截断等原因,再扩大样本量复测。如果在参数一致的前提下正确率仍然持续偏低,再向平台提交具体样本和请求 ID 要求解释。
多久需要重新验证一次?
建议在接入时、模型版本更新时以及发现线上效果异常时各验证一次。把题库和脚本保留下来,重跑的成本很低。
小结
验证模型没有被降智或偷换,靠的是固定题库的双边对比加上上下文、能力项和账单这些硬指标,而不是询问模型自己。更完整的平台核验方法见 怎么判断一个 AI API 平台是否靠谱,EasyAPI 各模型的规格与价格可在模型广场查看。