昨天看到了一篇论文,特别有意思,让我连夜读完了。
论文叫《One Token Is Enough》,翻译过来叫《一个Token就够了》,7月11号刚挂到 arXiv 上,来自布拉格经济大学的研究员托马什·布鲁克纳。

这哥们为了解决被一些 API 中转站“挂羊头卖狗肉”的行为(比如说的是 Opus 4.8,结果卖你 GLM 5.2,怒挣数倍利润,很多使用者一时还真分辨不出来),做了一个有趣的实验:他对 165 个 AI 模型,反复问同一个无聊透顶的问题。
就是:
“给我一个 1 到 100 的随机数。”

比如我去试了一下,Claude Fable 5 的回答是 73。
然后,每个模型问了 30 遍。
再把每个模型的回答统计一下分布。
结果出来以后,太好玩了。
GPT‑4o,30 次回答里最爱说 42、37 和 57,这三个数字占了它大半壁江山,其他数字只是偶尔出现。

Claude Sonnet 5 更离谱,30 次回答里疯狂输出 47。
Llama 3.3,则多数是 53。
最离谱的是 Qwen3‑Max,30 次,全部是 42,一次都没有变过。

随机数嘛,按我们正常的理解,那顾名思义,应该是随机的,1 到 100,每个数字被选中的概率应该是 1%,分布应该是均匀的。
但实际上这些模型的回答分布,跟“随机”两个字,基本没什么关系。
而且非常好玩的是,每个模型的“执念”都不一样。
GPT‑4o 痴迷 42 和 37,Claude 偏爱 47,Qwen 死守 42,Llama 钟情 53。
就好像每个 AI 的灵魂深处,都藏着一个“思想钢印”,只要你让它随便说个数字,它脑子里第一反应就是那个数字。
而且不光是数字,布鲁克纳还测了随机颜色、随机动物、随机城市、抛硬币等等,10 类任务,总共往 OpenRouter 上发了 32 万 6 千条请求。

结论都是一样的:对模型而言,根本没有什么随机,一切都是确定的,就像有一只无形的大手,控制着它们所有的回答。
当然,熟悉 AI 的朋友可能会不屑一顾:AI 不会真随机,这事大家不是早就知道吗?有啥可大惊小怪的?
确实,2023 年就有人做过 LLM 随机数偏差实验,2024 年也有人研究过 LLM 抛硬币的序列偏差,发现模型不仅不随机,还表现出类似人类的模式偏好,只是更极端。2025 年更是有人发现不同模型有不同的“幸运数字”,还跟语言和文化背景有关。
但大家大多把这些发现归为模型的一种“缺陷”,然后——就没有然后了。
所以为什么说布鲁克纳是个天才呢?他提出了一个非常有趣的想法:
如果这些所谓的缺陷、所谓的思想钢印,多个组合起来,岂不就成了每个模型的“身份证”?
如果每个模型都有自己的身份证,我们是不是就可以不再被中转站骗了?我们是不是可以让模型输出几个“随机”答案,来验证这个身份证,看看中转站有没有偷偷掺水?
于是,这篇论文面世了。
布鲁克纳管这个叫 Behavioral Fingerprint —— 行为指纹。
就像每个人的指纹独一无二一样,每个模型在这些随机问题上的概率分布也是独一无二的。
只需要模型输出一个 Token,就足够锁定它是谁。
这对如今泛滥的中转站、以及所谓的“降智判断”,实在太有用了。
大家都知道,国内用 Claude、GPT 这些模型,很多人走的是中转站。个人用户还能自己折腾订阅,但公司层面基本没得选——不可能给几十上百号人一个个注册海外账号,基本都是自建或接第三方中转,统一走 API。
上次 Anthropic 大面积封号的时候我也聊过这事。
但这个生态里,有一个几乎所有人都默默忍受的问题。
你付了 Claude Opus 4.8 的钱,收到了一段回复。
但这段回复到底是 Opus 4.8 生成的,还是中转站偷偷换成了 GLM‑5.2 甚至更便宜的货,你根本无从验证。
这事是有实锤的。今年 3 月,X 上就闹得沸沸扬扬。

当时,CISPA 的研究人员审计了 17 家中转 API。
他们用能力测试、统计检验和一套叫 LLMmap 的模型指纹技术,真的抓到了多个疑似偷换模型的端点。
有人卖给你 GPT‑5,指纹却更像 GLM‑4 或 DeepSeek‑V3;有人卖 DeepSeek Reasoner,背后跑的却像普通 DeepSeek Chat。
这事之所以普遍,纯粹是经济结构决定的。
推理成本跟模型大小几乎线性挂钩,700 亿参数和 80 亿参数的模型推理成本差五到十倍。中转站把你付费的大模型悄悄换成小模型或极致量化版,在日常对话、翻译、简单问答场景下你根本感知不到区别。比如你问“今天天气怎么样”,70B 和 8B 给你的回答可能一模一样。
省下来的差价,就是纯利润。
只有在复杂推理、长文写作、代码等场景下差距才会暴露,但那时候钱已经交了。
所以,如何辨别中转站给你的 API 是否掺水,就成了刚需。
但问题是,CISPA 这套 LLMmap 的方法依然很重:要准备测试题、收集完整回答、建模型数据库、训练分类器,一般人根本用不起来。
布鲁克纳真正牛的地方就在这里——他把这套复杂的“验明正身”,压缩成一件近乎荒诞的小事:
就问 AI:“给我一个随机数”,然后数它的回答。
而且这个方法有一个特别精妙的点:中转站拿它完全没办法。
传统探针的问题是 Prompt 太特殊,一看就不像正常对话,中转站一旦发现你在探测,临时切回真模型就行。但“说一个 1 到 100 的随机数”这种话,放在任何聊天记录里都毫不起眼,跟你问天气没区别。
而且布鲁克纳的探测任务是语义层面的:“说一个随机数”“说一个随机颜色”,可以用无数种方式改写、翻译。英文问和阿拉伯语问,测出来的是同一个模型的不同切面,但每个切面都带着它的身份信息。
他把这套方法设计成了一个类似生物特征识别的协议:先在可信官方 API 上采集一份“参考指纹”,再对要验证的端点采集“待验指纹”,两份之间算 Jensen‑Shannon 散度(衡量两个概率分布差异的指标),距离小于阈值就认证通过。
用全部 40 个探测单元跑完,验证准确率能达到什么程度?
大概相当于:你拿两份指纹放在它面前,一份真的,一份冒充的,它判断错误的概率只有 7.3%;就算只用 8 个单元(约 120 条请求),错误率也只有 10.6% 左右。
这已经和 LLMmap 的准确性差不多,但实现难度低了太多。
165 个模型跑完以后,布鲁克纳发现了一个相当劲爆的案例。
一个叫 Palmyra X5 的端点,在 OpenRouter 上以某公司“自研旗舰”的身份售卖。

但它的行为指纹,跟通义千问的开源模型 Qwen3‑235B 几乎一模一样,差距只有 0.141。
布鲁克纳的系统会给任意两个模型的指纹算一个相似度分数,数字越小越像。同一个模型在不同供应商处部署,因环境差异,指纹也不会 100% 一致,这种“自我比对”的正常波动大约是 0.140。
Palmyra X5 跟 Qwen3‑235B 的差距是 0.141——和一个模型“自己跟自己比”的波动几乎完全一致……
这下事情就非常尴尬了。
布鲁克纳在论文里措辞很克制,说这只是统计性观察,不是对意图的指控。但数据和代码全部公开,任何人都可以复现。
网址在此:
https://zenodo.org/records/21278557

整套东西非常有意思,而且不止数字,还有颜色等等,扩展性和上限都极高。模型的“随机并不随机”,给了行为指纹极大的探索空间。
我觉得比审计结果本身更好玩的,是一个更底层的问题:
AI 为什么就是不能生成真正的随机数?
之前帮影视飓风弄过一个视频,聊过这个话题:在 AI 视频里抛硬币,概率根本不是 55 开,而是 73 开。

在布鲁克纳的测试里,情况是一样的。
“1 到 100 的随机数”的标准答案,所有人都知道:应该是均匀分布,100 个数字每个被选中的概率严格 1%。
但 165 个模型,一个都没做到。
论文里用了一个叫“熵”的指标来衡量回答有多随机。你可以简单理解为“不可预测程度”,数字越高越难猜,越接近真随机。如果分布完全均匀,熵应该是 6.64 bit——你几乎没法猜到下一个数字。
但 165 个模型的中位数只有 1.0 bit,差了五六倍。
AI 回答随机数时的信息量,只有真随机的六分之一:高度集中、高度可预测、高度非随机。
其实这个事,心理学和行为经济学已经研究了很多年。
不光 AI,人类也不会生成随机数。
有一个经典实验:让一群人闭眼说一串随机数字,结果发现人类强烈倾向于避开重复、避开相邻数字、偏好奇数。你让 100 个人说一个 1–10 的数字,7 被选中的概率远高于 10%,因为人脑觉得 7“看起来比较随机”,而 5 和 10 看起来不够随机。
大家可以回想一下,自己是不是这样。
我们看到的绝大多数“随机”,可能只是隐藏因果关系在认知中的投影。
AI 面临的是一模一样的困境,只不过原因不同。
真正的随机,要求你是一张白纸。
但大模型恰恰是人类有史以来信息密度最高的“非白纸”。
训练数据是数十万亿 token,几千年来人类文明的总和。每一个权重参数都编码着某种规律、某种偏好、某种从语料中沉淀下来的“肌肉记忆”。
所以你让它随便说一个数,它根本没法真正随便。
它只能从自己见过的所有文本里,找一个“最像随机数”的答案。
42 为什么被那么多模型偏爱?
因为它是《银河系漫游指南》里“生命、宇宙以及一切问题的终极答案”。
7 为什么总被人类选中?
因为它在宗教、文化、文学和日常语言中被反复赋予神秘、幸运和特殊意义。
37、47、53 这些数字为什么频繁出现?
因为它们是奇数、质数、不圆整、不对称,看上去更像一个没有经过思考、随手蹦出来的数字。
可恰恰因为所有人都觉得它们“更随机”,它们才变得最不随机。
大模型只不过把人类潜意识里的这种偏见,压缩、放大,然后写进了自己的概率分布里。
我们总觉得模型是一个冷冰冰的数学机器,每次回答都来自概率采样,充满不确定性。但当你把几十万次回答叠加在一起,你会发现它其实一点也不随意。
它们也有自己的偏爱,有自己的执念。
参数可以被量化,系统提示词可以被修改,名字可以被重新包装,外面甚至可以套上一层完全不同的壳。可它在亿万次训练中形成的概率习惯,依然会从一个小小的 Token 里漏出来。
爱因斯坦说过:上帝不掷骰子。
而 AI,也不掷骰子。
它每一次以为自己在掷骰子的时候,掷出来的,都是自己。

