Tokenization:中文為甚麼比英文「佔位」多
用快遞標準包裝箱的比喻說明 token 是甚麼,以及中文為何消耗更多 token、對上下文長度與字數控制的實際影響。
Read in English小四中文科任在課室示範:「『學而時習之,不亦說乎』有幾多個字?」AI 答「九個」。她自己在白板數:不計標點八個、計標點十個。學生哄堂大笑,科任卻多問一句:「如果連『字』都數唔準,點信佢改作文?」——這個追問比笑聲更有用。
上一課說模型逐 token 接龍;本課是模組一第三課,解釋「token 究竟是甚麼」以及「為甚麼同一份中文教材往往比英文版佔更多額度」。搞懂這一課,後面談上下文長度、RAG 與成本才有共同語言。
快遞公司的標準包裝箱
模型讀寫文字,第一步不是認字,而是把文字裝進固定尺寸的包裝箱。這些箱子叫 token,全部編號後放進一本約十萬格的字彙表。常見英文詞(如 "the"、"ing")往往整包一箱;罕見串符可能被拆成兩三箱才装完。
箱子尺寸怎樣訂?訓練者拿海量文本統計,把最常一起出現的字符組合合併成一格,算法叫 BPE(byte pair encoding)。重點是:這套尺寸主要是按英文文本統計出來的——好比一間總部設在倫敦的快遞公司,標準箱按 A4 信紙和英文單字長度設計;寄中文書籍時,往往要多用幾箱才装得下同一條信息。
所以 token 不是「字」,也不是「詞」,而是廠商預先決定的包裝單位。模型從頭到尾只跟這些格子打交道。
中文為甚麼較「費位」
OpenAI 的英文粗估是:大約四個英文字母一個 token,一百個 token 約等於七十五個英文單字。
中文沒有空格分詞、字元集又大,在同一套字彙表裡,常用字往往一字一格,但人名、地名、冷僻字和部分標點常要兩至三格。實務數字大致如下:
- 一段 300 字的英文短文,約 380 至 420 token。
- 意思相同的 300 字中文短文,約 350 至 600 token,視乎用字。
- 一份三十頁的中文校本課程文件,很容易去到三至五萬 token。
還有一點常被忽略:輸出也算 token,且輸出單價通常是輸入的數倍。叫 AI 用中文寫兩千字教案,帳面消耗往往比預期大。最直觀的驗證方式,是把你的教材貼進 OpenAI Tokenizer 工具,親眼看切割位置。
計費看的是「用了幾多箱」,不是「写了幾多字」——中文同一意思,往往要多装幾箱。
上下文視窗與校本文件
上下文視窗是模型一次能拿在手上的 token 總量。現時主流旗艦模型約一百萬 token 上下文,聽似巨大,但單位是 token 不是字。
對學校而言,一百萬 token 理論上可塞入一整年中文教材,但不代表應該這樣做。原因有二:部分供應商對超長請求另有加價;把大量無關段落塞進去,模型反而容易漏掉中間重點——Chunking 與重排序 會細講。正確做法是 RAG 只取相關段落,每次送進去的箱數少,準確度反而升。
中三通識科的試錯
一位中三通識科主任想把全科校本筆記、三年評估卷與評分準則全部貼進 AI,讓同事問「粵港澳大灣區單元的評分要求是甚麼」時即時作答。
他最初每次對話都貼全文。結果:等候時間長、有時引用錯單元、同一份中文文件譯成英文後 token 少約三成——他一度想將筆記全改英文,當然不可行,學生讀的是中文。
後來改為切段建索引,每次只送最相關的三至五段,並要求答案註明引用來源。token 由每次約五萬降到約三千,答題準確度反而提高。這不是語言問題,是取用方式問題。
為甚麼數字數、藏頭詩會失手
你叫 AI「逐個字列出再數」,等於要求它做字元級操作;但它內部只有包裝箱,沒有逐字通道。箱縫可能切在字中間,也可能把兩個標點合在一箱——所以第一次數八、第二次數九,並不表示模型「壞了」,而是任務與內部表示法不匹配。
同理,藏頭詩要求「每句首字固定」,模型仍是逐 token 接龍,首 token 未必對齊你心目中的「首字」。這類工作交給 Word 字數統計、試算表或你自己改,比叫 AI 數可靠。
容易走歪的地方
-
走歪:以為「一個中文字 = 一個 token」,用字數直接當 token 報價。 自查:拿一段 200 字校本文字貼入 Tokenizer,實際 token 是否接近字數的 1.2–1.8 倍?若差距大,報價公式要改。
-
走歪:為慳 token 把香港課程脈絡改寫成英文指令,但要求繁體中文輸出。 自查:輸出部分 token 有沒有減少?若沒有,省下的只是幾行指令,卻可能令年級、科目用語走樣。
-
走歪:每次對話貼入整份 PDF,抱怨「AI 記性不好」。 自查:單次請求 token 是否超過一萬?若是,先問能否改成「只檢索相關三段」——這是 RAG 要解決的事,不是換更大模型。
動手做一次
時間:約 15 分鐘。材料:任何 AI 工具;可選 OpenAI Tokenizer 網頁。
做甚麼:貼入以下提示:
以下這句話有幾多個中文字(不計標點)?請逐個字列出來,再數一次確認。
「香港特別行政區政府教育局課程發展處」
另外,估計這句話大約佔用幾多個 token,並解釋為甚麼你數字數時容易出錯。
若你有 Tokenizer 工具,把同一句貼進去,記下實際 token 數。
交出甚麼:三行紀錄——AI 的字數答案、你的手工答案、Tokenizer 的 token 數(或 AI 的估算)。
怎樣算做對:你能向同事解釋:AI 字數錯誤是因為它操作的是包裝箱而非字元;並說出「中文約字數 × 1.5」作粗略 token 估算已足夠規劃是否塞得進上下文。
下一課:參數究竟儲存了甚麼。上一課:Transformer 白話版。
這一課的重點
- 解釋 token 不等於字、也不等於詞,而是模型字彙表裡的一格包裝單位。
- 估算一份中文教材大概會用掉幾多 token,並判斷是否超出上下文長度。
- 解釋為甚麼叫 AI 數中文字數、數句子或做藏頭詩經常出錯。
- 在採購或報價討論中,分辨「每百萬 token 價錢」與「學校實際支出」的分別。
幾條常被問到的問題
不一定。常見中文字通常約一個 token,較罕見的字、專有名詞與部分標點可能被切成兩個或更多。粗略估算可用「一個中文字約一至兩個 token」,英文則大約四個字母一個 token。
純指令部分用英文確實較省;但若要求輸出繁體中文,輸出 token 不會減少,而且用英文描述香港課程脈絡容易失真。實務上寫你最能寫得精準的語言,不要為慳 token 而犧牲清晰度。
因為它看到的不是逐個字,而是預先切好的包裝單位,邊界與字邊界不一致。字數、句數、藏頭詩交給 Word 或試算表,比叫模型自己數可靠得多。
- · 文中的價格、功能與規格以上列官方文檔為準。供應商隨時會改,採購之前請自行覆核一次。
- · 文中提及的產品名稱與商標屬各自擁有者所有。Edor.ai 與該等公司沒有合作、代理或贊助關係。
- · 這是為教育用途做的獨立整理,不是採購建議,也不是法律意見。
- · 凡涉及學生個人資料的用法,請先按學校政策與《個人資料(私隱)條例》(PDPO)評估,然後才在校內推行。