跳至主要内容

01|什麼是 Token?AI 計費與長度限制的最小單位

"什麼是 Token?AI 計費與長度限制的最小單位"

🪙 一句話:Token 是 AI 模型「看見」與「計費」的最小單位——理解它,才看得懂 AI 帳單、Context Window 限制、和為什麼中文比英文貴。


一、Token 不是「字」,是「子詞片段

電腦不認識字,只認識數字。為了把人類語言交給 AI 處理,我們需要先把文字切成小片段、每個片段對應一個編號——這個片段就叫 Token

文字Token 切法(示意)
unbelievableun + believ + able
pre-processingpre + - + processing
你好世界你好 + 世界(中文常 1 token = 1-2 字)
Hello worldHello + world(英文常 1 token ≈ 1 word)

每個 Token 對應一個整數 ID(叫 token id),AI 模型實際看的是這串整數。


二、Token 的由來:BPE 分詞演算法

現代 AI 的分詞器多半基於 BPE(Byte Pair Encoding)

  1. 把全部文字拆成 byte(最細粒度)
  2. 統計「最常一起出現的兩個 byte 組合」
  3. 把這對組合合併成新 token
  4. 重複,直到 vocabulary(字典)達到目標大小(通常 5-20 萬)

結果

  • 英文常見字(如 theandhello)→ 各佔 1 token
  • 罕見字、外語、表情符號 → 切成多個 token
  • 中文字(3 byte UTF-8)→ 常被切成 2-3 個 token

🔬 這也是為什麼中文 token 數約英文 1.5-3 倍(俗稱 language tax)。


三、怎麼計算 Token 數

線上工具

程式

# OpenAI 系:tiktoken
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
tokens = enc.encode("你好世界")
print(len(tokens), tokens)
# 6 [57668, 53901, 38184, 244, 33503, 250]

# 對照英文
print(len(enc.encode("Hello world")))
# 2
# Anthropic 系:messages.count_tokens API
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $API_KEY" \
-d '{"model":"claude-opus-4-7","messages":[{"role":"user","content":"你好世界"}]}'

四、實用倍率對照

語言1 token 約 =vs 英文倍率
英文4 字元 / 0.75 word1×(基準)
中文0.5-1 字1.5-3×
日文 / 韓文1 字2-2.5×
阿拉伯文 / 印地文多 byte2-4×

不同 tokenizer 表現差異:

Tokenizer中文壓縮率
GPT-4 (cl100k_base)差,約 2.5× 英文
GPT-4o (o200k_base)顯著改善,約 1.7×
Claude 3.x/4.x約 1.5-2×
中文母語訓練的開源模型約 1.0-1.3×(最佳)

五、為什麼 Token 數這麼重要

① API 成本

LLM 多半按 input/output token 數計費。中文應用實際成本比英文版本貴 1.5-3 倍。

② Context Window 限制

模型「一次能看見多少 token」是有限的(詳見 Context Window)。中文寫應用要打 1.5 倍折扣。

③ 輸出延遲

模型一個 token 一個 token 生成。輸出愈長,等愈久。中文長文章感覺特別慢就是這原因。


六、常見誤解

❌ 誤解✅ 正解
「一個字 = 一個 token」中英文都不等於——英文常 1 word = 1 token,中文常 1 字 = 1-2 token
「Token 數 = 字數」完全不同的計量單位
「換大型號就比較便宜」沒這回事,計費仍按 token,模型只是更貴
「中英混寫就省 token」反而可能增加,因為混寫降低分詞器效率

七、實戰建議

  1. 算錢時用 token 不用字數——估算 ChatGPT/Claude 成本前,先 tokenize 過樣本
  2. 中文應用先考慮分詞器——同樣 task,DeepSeek/Qwen 比 GPT/Claude 省 30-60% token(但 安全龍蝦 場景可能不能用)
  3. 長文件先 chunk——切成多個 token-aware 段落
  4. 試試 system prompt 加「用英文 reasoning,繁中輸出」——複雜推理任務可省 30-50% 的 thinking token

延伸閱讀