同樣的程式碼,Claude竟比GPT多算73%的token!token自測教學來了

模型的帳單價格標的是"每百萬token多少錢",但沒人告訴你,同一段程式碼在不同模型上會被切成不同數量的token。這件事直接決定了你實際付了多少錢,而且大部分人從來沒測過。

Playcode本月發佈的一份測評給出了具體數字:同一份2888字元的TypeScript檔案,GPT用o200k分詞器切出681個token,Claude最新的分詞器切出1178個,多了73%。掛牌單價沒有變化,實際花費已經變了。

這篇文章分兩部分:先說清楚這個差距從那來,再給出你自己動手測的步驟。

一、差距是怎麼來的

模型不會直接處理文字,而是先把文字切成token,再按token數量計價。切法由分詞器決定,每家的分詞器不是同一套邏輯,同一段內容切出的token數量自然不一樣。

Playcode用16種真實內容(英文散文、HTML、JavaScript、Python、TypeScript、Rust、JSON工具schema、中文文字等)分別過了各家的官方計數介面,包括Anthropic的count_tokens、OpenAI的tiktoken(o200k_base編碼器)、Gemini和Grok各自的計數介面,還用真實付費請求核對過預測值和帳單是否一致。

幾個具體數字:

  • Anthropic的新分詞器(Sonnet 5、Opus 4.8、Fable 5用的這一版)比舊分詞器平均多切出約32%的token,掛牌價沒變
  • 以GPT的o200k為基準,Claude新分詞器在TypeScript上是1.73倍,Rust是1.58倍,JavaScript是1.52倍,Python是1.50倍,英文散文是1.40倍
  • 中文文字上,Claude新舊兩版分詞器都比GPT多切約1.45-1.55倍——這是長期存在的現象,不是新分詞器造成的
  • Gemini 3 Flash的分詞器比GPT略重(1.09倍),但掛牌單價低很多,綜合仍是最便宜的選項之一

Anthropic新舊分詞器對比:

中文這一行幾乎沒變化,漲幅主要集中在英文和程式碼上。

跨廠商對比:

為什麼程式碼上的差距比文字更大,尤其是TypeScript最明顯:o200k對TypeScript的壓縮效率特別高,平均4.24個字元對應1個token,這大機率是因為訓練資料裡有大量網路JavaScript/TypeScript程式碼,camelCase命名、JSX語法這些模式經常被壓縮成一個token。Claude的分詞器在程式碼和文字上的壓縮效率比較接近,沒有針對程式碼單獨最佳化,所以差距在程式碼場景被放大,而編碼任務恰好是agent最常處理的內容類型。

換算成實際價格,具體如下(掛牌單價為每百萬token,輸入/輸出):

幾個值得注意的行:Opus 4.6和4.8掛牌價一樣,實際有效單價卻差了約32%;GPT-5.5和GPT-5.6 Sol共用同一套分詞器,掛牌價相同、實際單價也確實相同;Gemini 3 Flash雖然分詞器比GPT略重,但掛牌價低出很多,仍是綜合最便宜的選項之一。

需要說明的是,這只是輸入端的分詞差異。模型回覆的囉嗦程度、思考token、快取讀寫頻率、工具呼叫次數,這些變數疊加起來,實際任務總花費的差距可能遠超過73%這個數字有人反映實際用下來差2到4倍,也是合理的,只是這已經是另一層變數了。

二、自己動手測一遍

不用等別人測,各家的計數介面大多免費,五分鐘能測完你自己的程式碼。

測Claude(Anthropic)

Anthropic提供了官方的count_tokens介面,傳入文字直接返回token數,不需要真的呼叫模型生成內容,也不產生模型呼叫的費用。

POST https://api.anthropic.com/v1/messages/count_tokens

傳入你要測試的文字內容,返回結果裡的欄位就是這段內容會被計的token數。

測GPT(OpenAI)

OpenAI的o200k_base編碼器是公開的,本地裝一個開源庫tiktoken就能直接算,完全不需要聯網呼叫API,也不花錢。

import tiktokenenc = tiktoken.get_encoding("o200k_base")tokens = enc.encode(你的文字)print(len(tokens))

測Gemini / Grok

Google和xAI也各自提供了token計數介面,用法和上面類似,傳文字進去返回數字。

怎麼用這幾個數字

拿你自己常用的一段程式碼或prompt,分別丟進上面幾個介面,對比返回的token數,算出比例。如果你主要寫TypeScript或JavaScript,大機率會看到Claude的數字明顯更高;如果內容以中文為主,差距會縮小,甚至反過來。

三、一個判斷方法,比記住某個百分比更有用

73%這個數字會隨模型迭代很快過時,但背後的判斷方法不會:

  • 廠商換分詞器,等同於變相調價,帳單上不會寫明這一條,需要自己核實
  • 掛牌單價不能跨廠商直接比較,尤其是程式碼類工作負載
  • 真正該比的是"完成同一個任務花了多少錢",而不是"每token多少錢"——這個數字需要把分詞、回覆長度、快取命中率都算進去,模型返回的usage欄位能提供真實依據

模型選型不該只看掛牌價,用自己的真實內容測一遍,比記住任何單一數字都可靠。 (Datawhale)