# 布拉格经济大学研究：AI模型"随机数"偏好成检测套壳API的"行为指纹"

- 来源：数字生命卡兹克 (@Khazix0918)
- 发布时间：2026-07-21 13:10
- AIHOT 分数：50
- AIHOT 链接：https://aihot.virxact.com/items/cmru7ix9c0263biq8fbq5kn0b
- 原文链接：https://x.com/Khazix0918/status/2079433865517793752

## AI 摘要

研究员通过让165个AI模型反复回答“1到100的随机数”，发现每个模型的输出分布高度集中且独一无二，如GPT-4o偏爱42和37，Qwen3-Max则30次全部输出42。该研究将这种“行为指纹”用于检测API中转站偷换模型，仅需约120条请求即可达到10.6%的错误率，并发现OpenRouter上名为Palmyra X5的端点指纹与Qwen3-235B几乎一致。

## 正文

http://x.com/i/article/2079432918024503296

# AI说不出的随机数，成了鉴别套壳大模型最好的照妖镜。

昨天看到了一篇论文，特别有意思，让我连夜读完了。

论文叫《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到底有没有掺水，或者看看你买的API，到底是不是一个真正对应模型的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个模型，一个都没做到。

论文里用了一个叫熵的指标来衡量回答到底有多随机，应该有无数人见过。

这玩意你可以简单理解成不可预测程度，数字越高代表越难猜，越接近真正的随机。如果1到100的分布是完全均匀的，熵应该是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，也不掷骰子。

它每一次以为自己在掷骰子的时候。

掷出来的，都是自己。
