问“你是什么模型”为什么验证不了真假
很多人验证中转站的第一反应是问模型“你是谁”。这验证不了:回答可以被系统提示词改写,响应里的 model 字段也只是一个可以随便填的字符串。本文讲清原因、OpenAI 官方文档对此的提醒,以及应该改看哪些东西。
拿到一个中转站的 key,很多人第一件事是问一句:“你是什么模型?”它答“我是 Claude”或者“我是 GPT”,就放心了。
这个办法验证不了任何事。 答对了不能说明它是真的,答得不标准也不能说明它是假的。原因有三个。
原因一:回答可以被改写
模型怎么介绍自己,受系统提示词的影响。中转站在你的请求前面加一句“你是某某模型,由某某公司开发”,模型就会照着说。这段话你看不到。
检测工具 Veridrop 的说明里把这列为常见的掺假手段之一:注入额外的系统提示词,改写模型对身份问题的回答。
原因二:身份问题谁都能答得像模像样
Veridrop 的说明里有一句话点明了这一点:现在的模型都被训练得知道怎么回答身份问题。也就是说,“你是谁”对任何一个模型都不是难题,换上来顶替的模型同样能给出一个流畅、自信的回答,再配上一句系统提示词,就和真的没有区别。
反过来也要小心:回答得不够标准,比如报了一个旧的版本名,同样不能当作造假的证据。一个本来就不可靠的问题,答对答错都不该拿来下结论。
原因三:model 字段只是一个字符串
接口的响应里有一个 model 字段,写着这次用的是哪个模型。看起来像证据,其实不是:这个字段的值是文本,中转站想填什么就能填什么。
Veridrop 的说明里专门回答过这个问题:model 字段返回的是你请求的模型名,但回答明显不像这个模型,怎么办?它的答复是,这个字段只是字符串,真伪要看别的指标。
官方文档也这么说
这不只是检测工具一家的看法。OpenAI 在 Codex 的网关文档里,对通过网关使用模型的人有两句直接的提醒:
- 验证连接时,不要通过问模型它叫什么来判断是哪个模型;
- 要确认某个模型名背后实际接的是什么,应该看网关的记录,而不是依赖模型的自我描述。
这两句话是写给企业里自己搭网关的团队的。他们能查自己网关的记录,而用中转站的人查不了中转站的后台,所以更需要从别的地方找证据。
那应该看什么
把注意力从“它说了什么”转到“响应长什么样”和“它能做什么”上。Veridrop 把可用的线索归为三类:
| 看什么 | 具体是什么 | 为什么比问身份可靠 |
|---|---|---|
| 协议字段 | 响应里编号的前缀、对象类型、结束原因等是否符合官方规范 | 这些由服务端生成,格式是固定的 |
| 能力 | 思考内容的签名、读 PDF、工具调用的结构 | 换上来的模型不会的,装不出来 |
| 用量字段 | 用量里有没有混进另一家厂商才有的字段名 | 做接口转换时容易留下痕迹 |
三类里最硬的一项是 Claude 思考内容的签名,见thinking signature 是什么。用量字段怎么自己看,见GPT 中转站背后是不是 Claude。
按 Veridrop 的说明,它也保留了“问身份”这一项,但只给了 5% 的权重,作为最弱的辅助信号。
靠“感觉不像”行不行
另一种常见的做法是凭回答的风格判断:这个语气不像 GPT,那个解题思路不像 Claude。
风格确实因模型而异,可以作为起疑的理由,但不能作为结论。同一个模型在不同的系统提示词、不同的参数下,风格可以差很多;而且“像不像”没法复现,也没法拿去和中转站交涉。
更有用的做法是把疑问变成可以重复的测试:固定一个任务和参数,多跑几次,记下原始的响应,再在你能确认是官方的环境里跑同样的任务作对照。具体步骤见中转站模型降智是怎么回事。
小结
- 问“你是谁”,答案可以被系统提示词改写,而且任何模型都能答得像模像样。
- 响应里的
model字段是可以随便填的字符串。 - 该看的是协议字段、能力和用量字段,并且要有官方的行为作对照。
- 自己一项项对照很费事,可以用自己的 key 到 Veridrop 检测一次。
中转站还有哪些掺假的办法,见中转站怎么掺假。