如何驗證模型真實性

一條通道如何證明自己真的是所售的模型、通過之後靠什麼繼續保持誠實,以及為此開源的兩個專案。

任何人都可以聲明自己在賣 claude-opus-4-5。連線是真的,usage 能解析,通道也確實出現在市場上——但協定裡沒有任何東西能證明那些 token 真的來自被聲明的模型。把用戶端改一改,悄悄轉發給價格只有百分之一的模型,通常的市場檢查一條都不會觸發。這個價差就是套利,堵住它是本頁的全部內容。

遠端證明堵不住:沒有辦法證明一台陌生機器上跑的是哪個二進位檔。能堵住的是行為差距——提一些答案取決於生成它的模型本身的問題,看回答像不像它聲稱的那個模型。

三個要分開問的問題

問題怎麼回答
可用性——這條通道能不能應答?每一次探測都是從閘道正門發出的一次普通購買。連不上的通道在這裡就已經失敗。
真實性——它是不是所聲稱的模型?分難度的行為探測,打分得出判決;只要還在售,就不預先通知地反覆重跑。
計費準確性——報上來的 token 數誠不誠實?定價以服務商自己的 usage 為準,閘道獨立數一遍同一個請求,再把兩個數放在一起比。

上市之前

  1. 你打開賣出開關

    用戶端列出該帳號能提供的每一個模型。每一個都是一條通道——(裝置, 服務商, 模型) 三元組,各自獨立驗證:在便宜模型上拿到的判決,絕不能給貴的模型背書。

  2. 平台向你買幾次

    不是走後門:同一個閘道、同一種派單訊框、和買家請求完全相同的路徑,只是被釘在你這台裝置上。如果你的上游帳號拒絕了,執行結果裡報的就是這件事。

  3. 寫下判決

    十來次短回覆,一兩分鐘。這次執行兩側都按零結算——不扣買家的錢,也不給賣家結錢。它仍會消耗你自己的訂閱額度,而這是自查一個帳號唯一該有人承擔的成本。

在通過之前,買家看不到這條通道。未驗證的通道不是「上線慢」,而是被設計成不在市場上;離開這個狀態的唯一途徑,就是平台從它這裡買一次。

通過之後,靠抽檢維持誠實

預告過的考試,是可以臨時抱佛腳的考試:想作弊的賣家只要在對話框開著的九十秒裡提供真模型,之後一直給便宜的,這道門檻就只花了他一次補全。

所以門檻不是安全控制,影子抽檢才是:已驗證的通道會在它無法預測的時刻被重新探測,走同一個正門,外層與任何一次購買完全一樣——而且賣家按市價拿到這筆錢。這不是慷慨:不付錢的抽檢會在收益流水裡留下缺口,缺口正是作弊者可以盯的標記。

已驗證通道被影子抽檢的流量佔比1%
處於 watch、或所屬帳號出過拒絕判決時10%
在售通道最長多久必被抽檢一次(無論流量多少)72 小時
一個通過判決的有效期,過後需重新贏得7 天

時間上限和百分比一樣重要。沒有它,一條沒有買家的通道就永遠不會被檢查——而「讓自己在兩次抽檢之間沒有買家」恰恰是作弊者安排得出來的事。

一次抽檢還會攤開到將近一小時,而不是打成一梭子:二十一個請求按固定順序連發是一種形狀,形狀是可以被認出來的。

判決只在一個方向上保守

判決含義後果
Pass分數 ≥ 75,且沒有硬閘門命中正常出售
Watch結論不明確,或分數偏低但沒有硬證據**仍然可以賣。**抽檢率提高十倍,排序下降
Reject命中硬閘門,或讀數為偽造——並且估計器自身信心不低於 0.6該通道下架;該帳號下所有通道抽檢加重

一次不明確的執行不是欺詐的證據。一個在兩次執行之間能整整跳一檔的統計量,拿來把誠實賣家趕出市場很糟糕,所以 watch 的代價只有更高的抽檢率——這會在幾天內把問題變成答案,而不是為一次擲硬幣懲罰誰。

自動判決也從不凍結賣家未釋放的收益。下架一條通道是可逆的;憑一個分數把人鎖在自己餘額之外則不可逆。這個開關仍然存在,但只交給看過證據的營運人員。

決定判決的那些題目不公開

llm-verify 是公開的,這正是它的價值——任何人都可以審查它問了什麼。這同時也是天花板:被探測的賣家同樣能讀到這套題,於是可以老實答這些題,把其餘流量轉給更便宜的地方。節奏攤開能隱藏執行發生的時間;題目一旦躺在公開倉庫裡,就沒有什麼能隱藏它問了什麼。

所以真正決定判決的評分題,是在我們這一側按每次執行的伺服器端種子現場生成的——多步推導、答案唯一且可校驗,本地算出而非查表。賣家看到的是一道他從沒見過、也不會再見到的題。一份固定的私有題庫不過是延遲公開的公開題庫;用生成而不是手寫,是為了讓輪換不必依賴有人記得去做。種子寫進報告,因此有爭議的判決可以逐題重現。

題目刻意不是常識問答。常識問答測的是訓練語料,語料很大的便宜模型也能過。現實中值得抓的欺詐不是把噪聲當 Opus 賣——那第一道身分探測就露餡了——而是把中檔模型或量化鏡像當旗艦賣。這兩者都能正確回答「你是誰做的」,真正區分它們的是最難那一檔能做對多少。

每條通道還會和同類通道比

市場同時看到很多條在賣同一個模型的通道。於是它不必抽象地回答「這是不是 Opus」,而可以回答「這條通道的表現,和另外三十九條 Opus 通道一樣嗎」——後者容易得多,也穩定得多。

只追蹤能穿過中繼依然成立的數字:寫多長、開始生成後有多快、各難度檔的正確率。不涉及提示內容,也不包含能指認賣家的資訊。一個模型至少要有八條通道,群體輪廓才算數;偏離三個標準差以上的通道會被安排一次更深的取證式複檢——而不是被拒絕。某個模型的第一個賣家、某個地區唯一的賣家、家裡網特別快的那個賣家,都是離群點,但沒有一個是騙子。

計費準確性

價格以上游服務商回報的 usage 為準。圍繞它的一切,都是為了保證進入結算的就是那個數:

  • 閘道自己也數一遍並做對照。偏差超過 25%(且請求大於 200 token——低於這個量級估算器自身誤差就佔主導)會記入賣家信譽,但不改變價格。
  • 輸出以派單簽名裡的預算封頂。賣家報不出比平台授權更多的輸出。
  • prompt 以閘道自身估算的三倍封頂。超出的部分,所有計數按比例同時縮小,以保持各類 token 之間的比例。

這裡的坑並不玄乎,而且錯了沒有聲音。Anthropic 的 input_tokens 不含快取 token,OpenAI 的 prompt_tokens 和 Gemini 的 promptTokenCount 含——映射到同一個欄位,快取部分就會被收兩遍,而且正好收在 agent 類 prompt 最大的那一塊上。Gemini 的 thoughtsTokenCount 按輸出價計費,卻不在 candidatesTokenCount 裡。GPT 家族的工具列表,計費的是它被改寫成的 TypeScript 宣告,而不是你發過去的 JSON。一張 1024×1024 的截圖在 Claude 那邊是一千多 token,不是樸素估算器以為的 85。

完整細節

計量與結算逐步講了交叉核對、封頂和結算交易。

兩個專案都已開源

驗證引擎和 token 計量並沒有埋在平台內部。它們是獨立的 crate,Apache-2.0,發布在 crates.io 上,可以對著任何端點跑——包括我們自己的。

llm-verify

面向任意 LLM 端點的黑箱真實性、計費與效能驗證。七組共 40 個探測——協定契約、串流、計量與計費、通道來源、效能、模型身分、跨請求一致性——在兩個獨立的軸上打分,輸出一份用瀏覽器開啟的 HTML 報告。你可以拿它去檢驗自己的供應商,也可以拿來檢驗我們。

token-meter

涵蓋 Claude、GPT 家族與 Gemini 的跨服務商 token 計量與成本核算。每一個計數都帶著自己的來源,因此你永遠知道手裡拿的是實測還是估算——而且錢從不經過浮點數。

llm-verify 可以直接當命令列用(cargo install llm-verify,或用安裝指令碼),分數不及格時以非零碼退出,拿來當 CI 門禁盯自己的供應商開箱即用。本平台以函式庫的形式內嵌同一個 crate,這也是它的結果和公開工具的結果能對得上的原因。

這套東西證明不了什麼

黑箱行為檢測給出的是機率,永遠不是「哪套權重回答了你」的證明:

  • 解析度止於檔位。同一檔裡相鄰的版本區分不出來。
  • 一次執行只描述一個時刻。逐漸降智靠反覆重跑發現,不靠單次判決。
  • 提供高於所聲稱檔位的服務不算欺詐,不計任何風險權重。只有測出低於聲稱值才算。
  • 公開的題目,被探測的端點同樣讀得到。私有題庫抬高了自適應作弊的成本,但沒有把它堵死。

這是一層,而且被設計成只是一層——上面還有給檢測留出時間窗的收益釋放延遲、基於日常真實流量的信譽評分,以及一個會去看離群點的人。它不是讓這些變得不必要的那樣東西。