前言:電腦看不懂「中文」,它只看得懂「數字」
當你打開 ChatGPT 輸入「請幫我寫一份期末報告大綱」,然後看著螢幕上游標閃爍,一行行流暢的中文像流水一樣湧出來時,你是否曾經好奇過:這個 AI 到底是用什麼單位在閱讀和思考的?
是「字」嗎?像是「期」、「末」、「報」、「告」?
還是「詞」?像是「期末」、「報告」?
或者是整句「句子」?
如果你的答案是以上皆是,那只答對了一半。在我們的眼中,語言是由字、詞、句組成的;但大語言模型把語言粉碎成一種更小且更抽象的單位,稱之為 Token。將語言轉換成這些單位的過程,就叫做 Tokenization。

把文字 Token 化的技術決定一款 AI 聰不聰明、反應快不快,甚至決定你使用 AI 時要付多少錢。今天,我們就把這個 AI 領域的「原子論」拆解開來,用你熟悉的日常情境,搞懂這個支撐起生成式 AI 浪潮的基石。
第一章:Token 是 AI 世界的樂高積木
在大語言模型眼中,Token 是處理文字的最小單位。它不一定是一個完整的單字,也不一定是一個字母。它更像是一個「有意義的碎片」。AI 就是靠著堆疊這些 Token 積木,蓋出「期末報告」這座城堡的。
Token 的切分方式在不同語言下差異巨大,這也是大家最容易搞混的地方。
英文世界
- 通常一個英文單字(Word)會對應到 1 個 Token,例如:”apple” ≈ 1 Token
- 複雜的長單字會被切開,例如:”Tokenization” 可能會被切成 “Token” + “ization”(2 個 Tokens)
中文世界
- 早期模型(如 GPT-3)中,一個中文字通常對應 2 到 3 個 Tokens(因為編碼比較複雜)
- 近期模型(如 GPT-4),一個常用中文字(如「你」、「我」、「愛」)通常就是 1 個 Token。如果是生僻字或成語,可能還是會佔用多個 Tokens
簡單的換算公式(粗略估計):
- 英文: 1,000 Tokens $\approx$ 750 個單字
- 中文: 1,000 Tokens $\approx$ 400 ~ 700 個中文字(視模型而定)
第二章:Tokenization
了解 Token 是積木,那 Tokenization 是什麼?簡單說,就是「把人類寫的文字,切碎並轉換成電腦看得懂的數字 ID」的過程。電腦是看不懂 Hello 這個字的,它只認識 0 和 1。所以,我們需要一個翻譯官。
1. 運作流程三部曲
Token 化過程可以簡化為三個步驟
步驟一、切分 (Splitting)
輸入句子:「I love AI」
Tokenization 切分後變成:[“I”, ” love”, ” AI”](注意:空格通常也會被包含在 Token 裡)。
步驟二、查表 (Mapping / Lookup)
模型有一本巨大的字典,列出所有它認識的 Token 以及對應 ID,舉例
- “I” 代表 ID: 40
- ” love” 代表 ID: 3021
- ” AI” 代表 ID: 15890
步驟三、輸入模型
最後,送進 AI 大腦的不是文字,而是這串數字:[40, 3021, 15890]。
第三章:切分技術的演進,為什麼不是切字母就好
你可能會問:「為什麼不乾脆把每個字母(a, b, c…)都當成一個 Token?這樣字典只要 26 個字,豈不是超省空間?」這牽涉到 Tokenization 技術的三種流派演進,讓我們看看為什麼現在的 LLM 選擇了「折衷方案」。
流派一:Character-level
把 “Apple” 切成 [‘A’, ‘p’, ‘p’, ‘l’, ‘e’]。
- 優點:字典超小,絕對不會有不認識的字
- 缺點:沒有意義,’p’ 本身沒有意義,要拼在一起才有,但是拼湊起來的序列會變得超級長。讓 AI 讀一本書,如果每個字母都是一個 Token,它的記憶體瞬間就會爆掉
- 比喻: 就像讀書時,必須把每個單字拼出來唸:A-P-P-L-E,效率極低
流派二:Word-level
把 “Apple” 切成 [‘Apple’]。
- 優點:每個 Token 都有完整語意,AI 很好理解
- 缺點:字典會大到爆炸,英文有幾十萬個單字,還有各種變形(walk, walking, walked, walks)。如果遇到字典裡沒有的字,AI 就會顯示 [UNK](Unknown),直接當機或變笨
- 比喻:就像你背了一本厚厚的英漢字典,但只要考試出了一個字典沒收錄的潮語(例如「普信男」),你就完全看不懂了
流派三:Subword-level
這是目前 LLM的主流技術,它的核心精神是:「常見的字不切,少見的字切開」,這是一種叫做 BPE (Byte Pair Encoding) 的演算法。它保留常見單字的完整性(效率高),又保留把生字拆解成字根字首的能力(靈活性高,不會有不認識的字)。如果遇到超級生僻的字(例如亂碼),它大不了就退化成 Character-level,一個字母一個字母切,保證讀得懂。
第四章:Token 與成本,中文使用者比較吃虧
這是一個身為台灣使用者必須知道的殘酷現實:Token 是 AI 的計價貨幣。當你使用 OpenAI 的 API,或是某些付費 AI 服務時,計費標準通常是「每消耗 1,000 Tokens 多少錢」。
1. 編碼效率的不平等
目前 BPE 演算法大多是根據大量英文內容訓練而成的,所以 Tokenizer 對英文特別「友善」。
- The quick brown fox > 4 個單字 > 4 Tokens
- 這隻敏捷的棕色狐狸 > 9 個字 > 可能高達 6~8 Tokens
這意味著,表達同樣的意思,中文往往需要消耗更多 Tokens。這導致
- 使用中文的成本比較高:處理同樣的任務,中文使用者的 API 帳單可能會比英文使用者貴一倍
- 比較慢:生成 1000 個 Tokens 比生成 500 個 Tokens 花更多時間,所以你會覺得 AI 講中文稍微慢一點
- 比較佔記憶體:同樣長度的上下文視窗,英文可以塞比較多內容,中文能塞的內容較少
好消息是新一代的模型正在優化這一點,讓中文字的 Token 壓縮率越來越好。
第五章:AI 的短期記憶體 Context Window
了解 Token 後,我們就能解釋另一個關鍵參數:Context Window(上下文視窗)。你會看到模型規格寫著:Context Window = 8k, 32k, 128k Tokens。
1. 什麼是 Context Window
這是 AI 在「這一次對話中」能記住的 Token 總量上限,它包含(你現在輸入的 Prompt)+(AI 剛剛生成的回答)+(前面幾輪的對話歷史)
2. 生活情境:考前衝刺的腦容量
想像你是一個要考期末考的學生,你的大腦容量有限,只能同時記住 4,000 個字。
- 如果課本只有 1,000 字: 沒問題,你可以全部記住,考試對答如流
- 如果課本有 10,000 字: 慘了,你記了後面,前面的就忘記了。這就是為什麼當你跟 ChatGPT 聊太久,它會忘記你一開始設定的規則,因為那個設定已經被擠出 Context Window 之外了
現在最新的模型支援 128k 甚至 1M Tokens,就像是從金魚腦進化成過目不忘的天才,可以直接把整本《哈利波特》丟進去讓它讀,它都不會忘記
第六章:AI 如何思考
最後,我們要回到 LLM 的運作核心。了解 Token 之後,你就會明白為什麼 AI 有時候會一本正經地胡說八道(幻覺)。
1. 也是一種接龍遊戲
大語言模型的本質,就是一個預測下一個 Token 機率的機器。當你輸入 [“今”, “天”, “天”, “氣”] 這些 Tokens 給模型,模型內部會進行龐大的矩陣運算,最後輸出一組機率表,預測下一個 Token 是什麼:
- Token ID 56 (真):機率 70%
- Token ID 88 (很):機率 20%
- Token ID 99 (不):機率 10%
如果 AI 選擇了「真」(ID 56),它會把這個 Token 加回句子裡,變成 [“今”, “天”, “天”, “氣”, “真”],然後再預測下一個字(可能是「好」),這就是所謂的 Autoregressive(自回歸) 生成。
2. 為什麼會有幻覺
因為 AI 並不是在「查資料庫」,它是在「玩拼圖」。它是根據看過的海量內容計算哪個 Token 接在後面最合理。如果你問它一個沒看過的冷門知識,它的機率計算可能會出錯,拼出一個「看起來很通順,但內容完全錯誤」的句子。因為對 Token 來說,文法通順的機率很高,但事實正確的機率它無法驗證。
結語:掌握 Token,就是掌握 AI 的語言
總結來說,Token 是 AI 時代的基礎貨幣與原子單位。
- 它是積木:透過 Tokenization,人類語言被拆解成機器可讀的結構
- 它是成本:決定了 API 的費用和運算速度
- 它是記憶:決定了模型能讀多長的文章
- 它是思考:AI 的生成本質就是不斷預測下一個 Token
對於大學生來說,理解 Token 不只是為了考試或技術,而是為了更好地使用這個工具。當你知道中文 Token 比較貴、比較佔記憶體時,你就會知道在寫 Prompt(提示詞)時要精簡;當你知道 Context Window 的限制時,你就會知道為什麼要定期開新的對話視窗;當你知道它是透過 Token 預測來生成時,你就會對它的胡說八道保持警惕。
在這個 AI 普及的時代,看懂 Token,你就不再只是被動的使用者,而是懂原本理的駕駛員。現在,去試試看算算你的 Prompt 到底花了多少 Tokens 吧!





