一個 Token 到底是多少字?AI 計價單位沒有業界標準這件事

主筆 | 2026-09-15 | 商業/科技前沿參考 | 1 minute of reading

本篇摘要

解釋 AI 的 Token 是什麼、業界怎麼計算與計價。核心判讀是 Token 沒有跨廠商標準——詞彙表屬於模型權重的一部分、訓練後不可更改,標準化沒有技術著力點;業界統一的只有計價結構(每百萬 Token、輸入與輸出分開、輸出約為輸入的四到五倍)。內容含 BPE 切字原理、中英文與程式碼的換算經驗法則、中文 Token 效率為何因模型而異、對話成本接近平方成長的機制,以及用 count_tokens 實測而非拿 tiktoken 代算的理由。

  • Token 沒有跨廠商統一定義;詞彙表是模型權重的一部分,訓練完成後不可更改。
  • BPE 詞彙表規模通常在五萬到二十萬條之間。
  • 英文約 1 Token 對應 4 個字元、0.75 個單字;中文約 1 個漢字對應 0.6 到 1.5 Token。
  • UTF-8 一個漢字佔三個位元組,詞彙表未收錄的中文詞會退化成接近按位元組切分。
  • 業界計價單位一律為每百萬 Token,輸入與輸出分開計價,輸出通常貴四到五倍。
  • 2026 年年中 Anthropic 官方 API 參考價:Claude Opus 5 輸入 5 美金、輸出 25 美金;Sonnet 5 為 2 與 10 美金;Haiku 4.5 為 1 與 5 美金(每百萬 Token)。
  • 模型本身沒有記憶,每輪對話需重送全部歷史,因此長對話成本接近平方成長而非線性。
  • prompt caching 的快取讀取價格常約為正常輸入的十分之一;批次處理通常打五折。
  • 拿 OpenAI 的 tiktoken 估算 Claude 用量會低估約百分之十五到二十,中文與程式碼落差更大。
  • Claude 在 Opus 4.7 世代更換過 Tokenizer,同一段文字的 Token 數與前一代不同。
本篇目錄(11 節)
  1. Token 是什麼:它的目標是壓縮,不是語意
  2. 為什麼不可能有統一標準
  3. 經驗法則:估算可以用,報價不能用
  4. 中文為什麼吃虧,而且吃多少不一定
  5. 計價結構:這才是業界共通的部分
  6. 最容易被低估的一件事:成本不是線性的
  7. 要精確數字,只有一個方法
  8. 四種情境,該用哪一種算法
  9. 訂閱更多關於 老喬報 joelin.cc 的消息
  10. 備註與警語
  11. 文章更新日誌

先給結論:Token 沒有業界統一定義。它是每一個模型訓練時就定死的「切字表」,同一段文字丟給不同模型,切出來的數量不一樣,甚至同一家公司的不同世代模型也不一樣。所以「一個 Token 等於幾個字」這個問題,只有經驗法則,沒有固化指標。

真正被業界統一下來的,是計價的結構——每百萬 Token 多少錢、輸入與輸出分開算——而不是 Token 本身。這個差別在你要做成本試算表的時候會變得很致命。

Token 是什麼:它的目標是壓縮,不是語意

Token 是模型把文字切成的最小處理單位。切法來自一類叫 BPE(Byte Pair Encoding)的演算法,三個步驟:

  1. 拿巨量語料統計,把最常一起出現的字元組合反覆合併。
  2. 合併出一本詞彙表,規模通常在五萬到二十萬條之間。
  3. 之後所有輸入都拿這本表去比對切割。

關鍵在於,這套演算法的目標是壓縮,不是理解語意。常見的字串——英文的 the、and,中文的「的」「因為」,程式碼裡的 function——整串算一個 Token;罕見的詞則會被拆碎,人名、專有名詞、打錯的字經常被切成三到五個 Token。

所以 Token 不是「字」,也不是「詞」,它是「這個模型認得的最小組件」。這是理解後面所有成本問題的前提。

為什麼不可能有統一標準

這點我一開始也覺得奇怪:都 2026 年了,這麼基礎的計價單位怎麼會沒有標準?

答案是詞彙表屬於模型權重的一部分,訓練完就不能改。它本質上是模型的一個零件,不是一份外部規格——標準化在技術上根本沒有著力點。你不可能要求兩家公司用同一本詞彙表,那等於要求他們用同一個模型。

延伸出來一個更容易踩到的狀況:同一家公司換代時也會換 Tokenizer。Claude 在 Opus 4.7 那一代就換過,同一段文字的 Token 數與前一代不同。如果你的成本模型是去年建的,換代之後那張表就已經不準了,而且它不會報錯,只會讓你的預估默默偏掉。

經驗法則:估算可以用,報價不能用

內容類型 大致換算 備註
英文 1 Token 約 4 個字元,約 0.75 個單字 業界最常引用的粗估
中文 1 個漢字約 0.6 到 1.5 Token 區間很寬,原因見下節
程式碼與 JSON 明顯偏高 縮排、大括號、引號都要錢
圖片 依尺寸換算 一張圖常見一千到兩千 Token

這張表的用途只有一個:讓你判斷「這件事值不值得做」。想抓個大概、決定要不要投入,用這個就夠;但只要牽涉到報價、預算或對客戶承諾,這張表就不能用了,因為它的誤差在中文與程式碼上可以到兩倍。

中文為什麼吃虧,而且吃多少不一定

UTF-8 編碼裡一個漢字佔三個位元組。如果那個模型的詞彙表收錄了你用的那個詞,可能兩三個字併成一個 Token;如果沒收錄,就會退化成接近按位元組切,一個字吃掉兩到三個 Token。

所以中文的 Token 效率,完全取決於那個模型的中文語料有多厚。這是一條很少被講清楚的成本線:同樣一段中文,不同廠商的模型成本可能差兩倍以上,而你從單價表上完全看不出來。

這也是為什麼我不太相信「單價比較」這種比法。單價低不等於便宜——一個中文 Token 效率差三成的模型,單價便宜兩成,實際上還是比較貴。

計價結構:這才是業界共通的部分

項目 業界慣例
計價單位 一律是每百萬 Token 多少美金
輸入與輸出 分開計價,輸出通常貴四到五倍
快取(prompt caching) 重複的前綴寫進快取後,讀取常只要正常輸入的十分之一
批次處理 不需即時回應的批次任務通常打五折
思考型 Token 算在輸出,即使你看不到內容也照付

以 2026 年年中的 Anthropic 官方 API 為例,Claude Opus 5 大約是輸入五美金、輸出二十五美金;Sonnet 5 是二美金與十美金;Haiku 4.5 是一美金與五美金。價格會變,我列這幾個數字不是要你拿去報價,是要你看出那個結構——輸出永遠是輸入的四到五倍。

這個結構會直接改變你的設計決策。一個會產出長篇報告的功能,和一個只做分類、輸出三個字的功能,就算輸入量一樣,成本可以差一個數量級。要壓成本,先看的是輸出那一欄。

最容易被低估的一件事:成本不是線性的

這是我認為最值得單獨拉出來講的一點。

模型本身沒有記憶。每一輪對話,都要把前面全部的歷史重新送一次,才能讓它知道你們剛剛在講什麼。所以第二十輪你講的那句「好」,實際計費是把前十九輪的全文再算一次輸入。

用數學的講法,長對話的成本成長接近平方,不是線性。實務上會推出三件事:

  • 長對話的成本集中在後段,不是平均分布。你在第三輪覺得很便宜,第三十輪的單輪成本可能是它的十倍。
  • 系統提示是每一輪都在重複計費的固定成本,不是開頭付一次就沒事。一份寫得很詳盡的角色設定,你每講一句話就付一次。
  • 快取機制就是為了這件事存在的。把不變的前綴固定住,重複的部分用約十分之一的價格讀回來,這是目前對長對話最有效的一招。

如果你在評估自己的用量落在哪個區間,我另外寫過一篇把本地部署與雲端訂閱的成本從頭算一次的文章,裡面有每月 Token 用量對應的決策門檻,可以接著看:本地部署 AI 的完整試算

要精確數字,只有一個方法

用那個模型自己的 Tokenizer 實測。

Anthropic 提供 count_tokens 這個端點,呼叫時必須帶上你實際要用的模型代號,因為不同模型數字不同。OpenAI 那邊對應的是 tiktoken 這個套件。

這裡有一個常見的誤差來源:拿 tiktoken 去估 Claude 的用量,會低估大約百分之十五到二十,中文和程式碼的落差更大。兩家的切字表不同,本來就不該互相代用。我看過不只一份成本試算表是這樣算出來的,結果是實際帳單比預估高出兩成,而且找不出原因。

四種情境,該用哪一種算法

情境 該用的方法
抓個大概,決定要不要做 經驗法則,英文除以四、中文乘以一
要報價、要進預算 用正式上線的那個模型代號跑 count_tokens 實測
已經上線、要控成本 看每次回傳的用量欄位,尤其是快取命中率
跨廠商比價 拿同一份樣本分別用兩家的 Tokenizer 實測,不能只比單價

這四格的差別不在精確度,而在你會拿這個數字做什麼決定。決定「要不要做」的時候估錯兩成沒關係;決定「跟客戶收多少錢」的時候估錯兩成,那兩成是從你的利潤裡出。

最後回到開頭那個問題:一個 Token 是什麼?它是那個模型認得的最小組件,而每個模型認得的東西不一樣。接受這件事,你的成本模型才會建在對的地基上。

本文關鍵字:Token、Tokenizer、BPE、AI 成本、LLM 計價、prompt caching、count_tokens