AI 計算 Token 的方式並非單純的「算字數」,而是透過一種稱為 子詞標記 (Subword Tokenization) 的技術,目前最主流的演算法是 BPE (Byte Pair Encoding,字節對編碼)。 不同語系在計算上有顯著差異,主要受到 「語料庫權重」 與 「文字結構」 兩個因素影響:
1. 不同語系的計算差異 •英文 (拉丁語系) : 以空格分詞,常見單字通常就是 1 個 Token。 1000 個字大約 750 個 Token 。•中文 (CJK 語系): 無空格,一個漢字常被拆解成 2~3 個 Token(取決於模型)。 1000 個字 大約 1500~2000 個 Token 。
•程式碼 (Python/JS): 大量重複的語法結構與縮排。 非常高效,因為語法重複性極高。 2. 為什麼中文通常比英文「貴」? 這涉及 AI 訓練時的 「詞表 (Vocabulary)」 分配:
語料庫佔比:大多數主流模型(如 GPT-4)在訓練時,英文語料佔了絕大比例。這導致詞表中收錄了大量的英文單字。
合併機制 (BPE):在英文中,頻繁出現的 the, apple 會直接被歸為一個 Token。在中文中,如果模型詞表對中文收錄不足,一個漢字可能無法直接匹配,必須被拆解成數個「位元組 (Bytes)」,進而變成多個 Token。
新一代模型優化:較新的模型(如 GPT-4o、Llama 3)加大了中文詞表的權重。現在 GPT-4o 處理中文時,一個字大約只需 1.3 個 Token,比起早期的 GPT-3.5(一個字約 2-3 個 Token)效率提升了不少。
3. AI 是如何操作的?(以 BPE 為例) BPE 演算法的運作邏輯如下: 1. 初始拆解:將所有文字拆解成最小單位(通常是位元組或單個字元)。 2. 統計頻率:計算哪些相鄰的單位最常一起出現(例如 i 和 n 常湊成 in)。 3. 迭代合併:將高頻出現的組合「合併」成一個新的 Token,並加入詞表。 4. 重複過程:直到詞表達到設定的大小(例如 10 萬個詞)。
技術筆記: 如果你寫 high-performance,AI 可能會把它切成 high, -, performance 三個 Token。但在中文中,高性能 如果在詞表內,就是 1 個 Token;如果不在,可能會被拆成 高, 性, 能 甚至更多碎片。 4. 實務建議:如何節省 Token?
選對模型:如果你的任務以中文為主,建議選擇針對多語言優化過(詞表較大)的模型(如 Claude 3.5, GPT-4o, 或國產的DeepSeek),它們的中文壓縮比更高。
精簡提示詞:雖然中文表達同樣意思的「字數」較少,但因為 Token 單價計算方式,精簡的 Prompt 依然是省錢的不二法門。
使用工具測試:你可以使用 OpenAI 官方提供的 Tokenizer 工具 即時查看不同語言的切分狀況。















