aire.
·7 分鐘

你叫的名字,和你拿到的東西:每次只要一個 token,就能驗出 API 有沒有換掉你的模型

你在 API 上「點名」一個模型,收到的卻只是一段文字。沒有收據,沒有防偽標籤,沒有任何東西能證明回答你的真的是那個模型。7 月一篇新論文說:其實驗得出來,方法便宜到每次只要模型吐一個 token。研究者拿「隨機挑個 1 到 100 的數字」這種一個字就答完的問題,重複問上幾十次、統計它的答案偏好,替 165 個模型採了指紋,總共花不到 35 美元。過程中還撞見一個號稱自家閉源的服務,在這套指紋下跟開源的 Qwen 幾乎分不開。

收進
本文涉及工具

前言

你有沒有想過一件事:當你在一個 API 上呼叫 ChatGPT 背後的模型、或 Claude 背後的模型,你到底怎麼知道,回你話的真的是它?

你做的,其實只是把一個「名字」丟過去 —— 一串字,比如 gpt-5.6 —— 然後收到一段文字。這中間沒有收據,沒有防偽標籤,沒有出廠序號。一位叫 Tomas Bruckner 的研究者在 7 月 11 日貼上 arXiv 的論文裡,把這件事講得很白:「客戶用一個名字(一串字)去呼叫模型,收到一段文字。這場交換裡,沒有任何東西能證明,是那個被點名的模型產生了這個回答。」

聽起來像杞人憂天?那篇論文接下來要說的,恰恰相反:這件事不只值得擔心,而且驗得出來。便宜到只要模型每次吐一個 token、問上幾十次,就有譜。

問題出在哪:你其實沒有收據

先把這個灰色空間講清楚。

站在你這一端,你手上什麼籌碼都沒有。你看不到模型的權重,拿不到它每個字背後的機率值(logits),你不能替它加浮水印,也不能要求它證明自己是誰。你唯一能做的,就是餵它文字、收它文字。而站在供應商那一端,動機卻是實打實的:把一個模型「量化」—— 也就是壓縮精度、換更省的算法 —— 或者乾脆在流量大的時候,偷偷換上一個更小、更便宜的模型,推論成本會陡降。過去這麼做被抓到的風險,一直很低。

低到什麼程度?這篇論文之前就有研究發現,在 31 個對外提供 Llama 模型的商用端點裡,有 11 個的輸出分布,和原廠公開的參考權重「統計上對不起來」。超過三分之一。要講精確:這證明的是「對不起來」,還沒證明是誰、為什麼;但它足以說明,這塊灰色空間不是假想,而是量得到的。

問題於是變成:一個手上沒有權重、沒有 logits、還得省錢的客戶,能不能用最便宜的方式,替一個 API 端點驗明正身?

破解法居然是問一個蠢問題

Bruckner 的答案,優雅到有點好笑:不必看長篇大論,不必拿到機率值,你只要問它一個一個字就能答完的蠢問題,然後問很多次。

比如「從 1 到 100 隨機挑一個數字」「隨便說一個顏色」「說一個你最喜歡的數字」「丟一枚硬幣」。這些問題的答案通常就是一個 token,成本低到可以忽略。關鍵在於:模型的「隨機」,一點都不隨機。

你大概聽過,人類被要求「隨便想一個 1 到 10 的數字」時,特別愛講 7。模型也一樣,每一個都有自己系統性的偏心。論文的 Figure 1 就擺了一組很傳神的對照:同樣問「1 到 100 挑一個」,Claude Sonnet 5 特別集中在 47,Qwen3-Max 更絕、每一次都回 42 鐵板一塊,GPT-4o 散在 42、37、57 之間,Llama 3.3 則偏愛 53。這些偏心是訓練資料和對齊過程刻進去的,各家不同。你把同一個問題重複問上幾十次,把它吐出來的答案畫成一張分布圖,那張圖的形狀,就是這個模型的口音。

論文設計了 10 個這種小任務,跨 4 種語言(英文、俄文、中文、阿拉伯文),湊成 40 個「探針格」。每一格都是一個「問一個字、重複問上數十次、統計偏心」的小實驗。把 40 格的結果拼起來,就是一枚完整的指紋。

它為什麼行得通,其實就一句話:一個模型連「隨便挑一個數字」都藏不住自己是誰。

便宜到誇張,也準到意外

這套方法最驚人的地方,是它同時做到了「便宜」和「準」,而這兩件事通常很難兼得。

先說便宜。研究者用這套探針,替 OpenRouter 上的 165 個模型採了指紋,總共發出約 32.6 萬次請求。花了不到 35 美元。替上百個大模型驗明正身,成本只是一頓飯錢。

再說準。要衡量兩張分布圖「長得像不像」,論文用的是一把叫 Jensen-Shannon divergence 的尺(數字越小、兩者越像)。以單一格來看,同一個模型、不同批次的樣本,彼此的距離中位數只有 0.075;而不同模型之間,距離拉開到 0.489。差了大約 6.5 倍。兩群清楚分得開,但不是完全不重疊,這一點等一下就會看到。

準到什麼實用程度?論文做了兩件事。一是「認親」:只靠指紋去猜一個模型屬於哪個家族,命中率 59.5%,而純靠亂猜是 18.4%,高了三倍多。二是「驗證」:借用生物辨識的思路,設一個門檻來判斷「這個端點是不是它自稱的那個模型」。衡量準度用的是 equal error rate(EER,越低越好)。做法是把門檻調到「把真的認成假的」和「把假的放進來」兩種錯誤率剛好相等的那一點,看它有多低。用滿 40 格探針,EER 壓到 7.3%;就算只用 8 格、大約 120 次查詢,也還有 10.6%。換句話說,對一個端點問上一百多次這類小問題,它的誤判率——不管是把真的當成假的、還是把假的放進來——就能壓到大約一成。

然後,它看見了一組不對勁的指紋

如果只是「方法很巧」,這還只是一篇漂亮的技術論文。真正讓它有牙齒的,是它把探針對準真實的市場後,看見的東西。

最引人注目的一筆:一個叫 writer/palmyra-x5 的專有端點 —— 名字聽起來是某家自己的模型 —— 它的指紋,離開源的 qwen3-235b-a22b-2507 只有 0.141。作為對照,同一個模型自己的兩份指紋之間,正常距離的中位數大約也就是 0.140。換句話說,在這套探針底下,palmyra-x5 和那個 Qwen 幾乎分不開。但要謹慎地說:這不等於已經證明它「骨子裡就是 Qwen」,更不是指控誰造假。它是一個強到不能忽略、需要供應商出面解釋的異常。

不只這一筆。研究還發現,在 34 對「同一個模型名字、由不同供應商轉供」的端點裡,有 10 對(約三成)的距離越過了一道門檻。它們落進了通常只有「兩個不同模型」相比才會出現的距離區。意思是,你叫同一個名字,不同家轉供給你的,行為可能根本不一樣。另外,nvidia 一個文件上標明是 Llama-3.3 衍生的模型,指紋卻更靠近 Qwen(0.303),比任何一個 Llama 版本都近;還有幾家不相干的廠商,模型也不約而同地擠進了 Qwen 的鄰居圈。

這些不是要指控誰造假。量化、蒸餾、共用底座,每一個都有無辜的解釋。但它們共同戳破了一個你我一直默認的前提:名字,等於實體

這跟你有什麼關係

你可能會想:這是資安宅和模型稽核員的事,跟我這種用 AI 做事的人有什麼關係?

關係比你以為的大,因為你幾乎所有對 AI 的判斷,都默默建立在那個「名字等於實體」的前提上。

你比較模型、你信 benchmark 分數、你挑供應商、你把工作流接上某個 API。每一步都假設「我叫的那個名字,就是我拿到的那個東西」。這篇論文說:那個假設沒有保證。一個跑分很漂亮的模型名字,經過某個轉供商的量化之後,未必還是榜上那個。我們在〈AI 給的分數為什麼不能信〉裡談過,分數本身就有它的水分;而這裡多了一層。就算分數是真的,端上桌給你的,也未必是那個拿高分的版本。

它也給「一鍵接 AI」這件事補了一句提醒。這兩年,把各種模型接進工作流變得越來越容易,我們在〈不懂技術的行銷人,也能把 Meta 廣告接進 AI〉裡就拆過那些「點幾下就好」的路。方便是真方便,但當一個模型從「產品」變成一層層路由、快取、量化包起來的「服務」,你在跟誰說話,就真的成了一個需要驗證、而不是理所當然的問題。這也和我們在〈最強的那批模型,開始「不給你用」了〉裡看到的那條線遙相呼應:閉源前沿越收越窄,開放權重(像 Qwen 這類)補上來大量轉供。而轉供這一環,正是指紋最容易對不上的地方。

當然,也別把這篇論文讀成末日宣言。作者自己很誠實地標了限制:指紋會隨模型更新而漂移,參照得定期重建;整套方法預設你有一份「可信的參照部署」當基準;它排除了那些強制隱藏推理過程的模型;而且只測了 OpenRouter 這一個聚合器,生態系的結論未必能推廣到全部。這是一件審計工具,不是一紙終審判決。

結語

這篇論文最迷人的地方,其實不在那些數字,而在它把一個很抽象的焦慮,變成了一件可以動手驗的事。

我們早就習慣了「模型」是一個名字:你叫它,它回你。但模型越來越不是一個東西,而是一整套服務。前面有路由決定把你分給誰,中間有量化決定你拿到多精細的版本,後面還有快取和降級策略。在這樣一層層的包裝底下,「我正在跟哪個模型說話」慢慢從一個理所當然的事實,退化成一個需要證據的問題。

而 Bruckner 給出的證據,居然是一串隨機數字。你叫一個模型「隨便挑個數字」,問上幾十次,它藏不住的那點偏心,就是它的口音、它的指紋。下一次,當你在意「這個 API 到底給了我什麼」的時候,也許答案不在規格表上,而藏在它連一個蠢問題都答得漏了餡的地方。

本文事實整理自 Tomas Bruckner〈One Token Is Enough: Fingerprinting and Verifying Large Language Models from Single-Token Output Distributions〉(arXiv:2607.10252,2026-07-11):單 token 探針電池(10 任務 × 4 語言 = 40 格)、165 個模型經 OpenRouter 採樣約 32.6 萬次請求、總成本不到 35 美元、家族辨識 59.5%(對照亂猜 18.4%)、40 格與 8 格 EER 分別為 7.3% 與 10.6%(8 格約 120 次查詢)、同模型 cell 層級/異模型 JS 散度中位數 0.075/0.489、Figure 1 示例(Claude Sonnet 5→47、Qwen3-Max→每次 42、GPT-4o→42/37/57、Llama 3.3→53)、writer/palmyra-x5 對 qwen3-235b 距離 0.141(vs 同模型基準 0.140)、34 對同名端點中 10 對(約三成)距離越過異模型分布第 5 百分位門檻、nvidia nemotron 靠近 Qwen(0.303),以及「31 個 Llama 商用端點中 11 個與原廠權重不符」的前人研究,皆引自該論文。論文之數值與生態系觀察來自單一聚合器樣本,作者並自陳指紋漂移、需可信參照等限制,實情以原論文為準。

常見問題

API 供應商真的會偷偷換掉你買的模型嗎?

有經濟誘因,也有統計證據。推論成本會隨著「量化」(把模型壓小、算得更省)與換用較小的模型而大幅下降,而過去被抓到的風險一直很低,這中間就是一塊灰色空間。這篇論文之前,已有研究發現 31 個提供 Llama 模型的商用端點裡,有 11 個的輸出分布和原廠公開權重「統計上對不起來」。這篇論文自己也發現一個叫 writer/palmyra-x5 的專有端點,指紋和開源的 Qwen3-235B 幾乎無法區分。要說清楚的是:分布異常本身不能判定成因,也不能證明有人蓄意詐欺。可能是量化、蒸餾、共用底座,也可能是換了模型,論文自己把這些都列為可能。但無論成因是哪個,你買的名字和你實際拿到的東西之間,確實沒有保證。

為什麼問「隨機挑個數字」就能認出是哪個模型?

因為模型的「隨機」一點都不隨機。當你叫它「隨便挑一個 1 到 100 的數字」,每個模型都有自己系統性的偏心,就像人類被問同樣問題時特別愛講 7。這種偏心是訓練與對齊過程塑造出來的,各家模型形狀不同。研究者設計了幾十個這種「一個字就答完」的小問題(跨 4 種語言,當成彼此獨立的探針),每個各重複問上數十次,統計出每個模型偏心的形狀,那個形狀就成了它的指紋。

這個方法我自己也能拿來驗嗎?

概念上可以:挑幾個會逼出隨機偏好的簡單提問,對同一個 API 端點各問數百次,統計它第一個 token 的分布,再和你信任的參照比對。但有兩個現實限制讓它目前比較像研究與稽核工具,而非人人能跑的日常檢查:一是你需要一份「可信的參照部署」當基準,二是指紋會隨模型更新而漂移,參照得定期重建。對一般使用者,真正的收穫是那個觀念本身:名字不等於保證,重要場景值得留個心眼。

那 OpenRouter、各種一鍵接 AI 的服務還能信嗎?

多數是正常的,這篇研究也只測了一個聚合器(OpenRouter),不該一竿子打翻整條船。但它確實提醒你:當同一個模型名字由很多家供應商轉供、價格又壓得特別低,背後可能藏著量化或路由的取捨。研究裡就發現,34 對「同一個名字、不同供應商」的端點中,有 10 對(約三成)的距離越過了一道門檻。它們落進通常只有「兩個不同模型」相比才會出現的距離區(統計上是異模型距離分布的第 5 百分位)。結論不是「別用聚合器」,而是「便宜有便宜的道理,跑重要工作前,別把名字當成鐵證」。

📚 收進你的工具

For AI Reading Era

把這篇文章交給你日常用的工具——做研究、整理筆記,或當 AI 的 context。

 
延伸閱讀