方法与已知局限
这个工具的结论有明确的适用范围。把边界写清楚,比把结论说得漂亮更重要。
原理
每家模型的分词器都是各自训练的,同一段文本会被切成不同数量的 token。 而 API 返回的用量字段正好把这个数量告诉了我们。
所以我们发几段特意挑选的文本(生僻汉字、长数字串、格鲁吉亚文等), 记下各自的 token 数,就得到一串只反映词表行为的数字。 拿它和已知模型家族比对,就能看出这个端点背后用的是谁的词表。
为什么用冷门文字:常用英文和汉字各家切得都差不多,看不出区别。 而生僻字和少数民族文字在各家词表里的覆盖差得很远,token 数能差好几倍 —— 这才有区分度。
怎么避免说错
最接近的那一家,不等于就是它。所以我们只在差距足够明显时才给结论: 如果有两三家都对得上,就直接告诉你「分不出来」,而不是挑一个最像的报给你。
测量本身也会核查 —— 同样的内容重复发几次,token 数不稳定就说明这个端点在动态改写内容, 此时任何结论都不可信,我们会重测或直接放弃。
什么时候别太当真
只能看出「哪一家」,看不出具体是哪个模型
同一家的多代模型常共用一套词表。GPT-4o、o1、GPT-5 在我们眼里完全一样,DeepSeek 从 V2 到 V4 也没换过表。所以我们只说家族,不说版本。
故意用别人的词表就能骗过它
如果某家直接采用了别人的开源分词器(这很常见),我们就会把它认成那一家。这是方法本身的上限,修不掉。
端点不返回用量就完全测不了
少数网关会去掉用量字段。这种情况我们只会说「测不了」—— 测不了和有问题是两件事,这类记录也不计入任何统计。
固定加的提示词不一定查得出来
每次都在变的提示词我们能发现;但如果每次加的都一样,在我们还没有该家族干净基准值的情况下就查不出来。这时界面只会说「查不出来」,不会说「干净」。
聚合网关每次可能换上游,结果会飘
实测同一个模型名打同一个网关,几次请求会落到不同的上游服务商,各家计数口径不同,token 数整体差一截。表现就是同一端点多测几次结果不一样。所以看到整体偏移时我们只说可能,不下判断。
失败也可能是我们的问题
请求是我们的服务器代发的。如果我们的出口被某个上游限制,你看到的失败其实来自我们这边,跟端点有没有掺水无关。同一时段多位用户在同一端点遇到同类失败时,界面会提示这种可能。
关于你的 API Key
key 只作为函数参数存在于处理这次请求的内存中,随请求结束一起消失。
它不写日志、不进数据库、不出现在返回结果里,
我们也不提供公用 key —— 既避免额度互相挤占,也不想持有任何人的凭据。
全部代码开源,可自行核对;也建议你用临时 key 或设了额度上限的 key。
结论措辞
基于以上局限,我们始终只说「更可能是哪一家」, 不说「就是某个模型」。社区记录里也只呈现测量计数和一致率, 不给任何服务打分或贴风险标签 —— 数据摆在这里,判断交给你。