跳到內容

入門★★★★5 分鐘閱讀

LLM 講的 token 是什麼?跟你的帳單為什麼有關

Token 是 LLM 真正看到的單位。它不是字、不是字元 — 而是每個 API 計費的依據。

登入以收藏

每個 LLM API 都按 token 計費,每個 context window 都用 token 算大小,每次「為什麼帳單這麼貴」的 debug 最後都會回到 token。但大多數人每天用 LLM,從來沒看過一個 token 長什麼樣。這篇講清楚。

Token 大致等於一個字的片段

LLM 讀文字的時候,第一件事就是用 tokenizer 把文字切成 token。Tokenizer 是一個固定的查找表 — 通常有 5 萬到 20 萬個項目 — 模型訓練時就建好,之後永遠用同一個。

英文的話,一個 token 通常是:

  • 一個常見的字(”the”、”computer”、”running”)— 一個字一個 token
  • 一個常見的子詞片段(”-ing”、”un-”、”ization”)— 一個 token
  • 罕見字或不在詞表裡的字,會被拆成單字元

粗略換算:1 token ≈ 0.75 個英文字。所以 1,000 tokens 大約 750 字,差不多兩頁英文文章。

中文(以及日文、韓文)不一樣。現代主流的 tokenizer(Claude、GPT、Gemini)大多把一個中文字算成 1 到 2 個 token。也就是說 1,000 個中文字 ≈ 1,500 到 2,000 tokens。中文每個字比英文每個字貴。

程式碼的 token 比較小,一行 Python 大概 5-15 個 token。

你可以看到實際的切法

想真的看一下,有 tokenizer 試玩工具:

  • OpenAI:tiktokenizer.vercel.app 或 platform.openai.com/tokenizer
  • Anthropic:count_tokens API
  • Hugging Face:任何 tokenizer 都能用 AutoTokenizer.from_pretrained(...) 載入

貼一段你的文字,直接看模型實際看到哪些 chunk。常常嚇到人:

  • “strawberry” 在 GPT 的詞表是一個 token。所以 GPT 以前常數錯字母 r。
  • 數字切法很怪 — “1234” 可能是一個 token,但 “12345” 可能拆成 “123” + “45”。
  • 結尾的空格有差。”hello” 跟 ” hello”(前面有空格)是不同 token。
  • 程式碼結構前後的空白({}, 等)常常自己佔一個 token,這就是為什麼程式碼的 token 數比字元數推估的還多。

對成本的影響

API 計價以「每百萬 tokens」為單位,輸入跟輸出分開:

  • Input token 是你送進去的所有東西:system prompt + 對話歷史 + 這次訊息。比較便宜。
  • Output token 是模型吐出來的。比較貴(通常貴 3-5 倍)。

2026 年常見價格(每百萬 tokens):

  • Claude Sonnet:約 $3 input,$15 output
  • GPT-5:差不多,看 tier 而定
  • Gemini 2.5 Pro:便宜些,約 $1-3 input
  • DeepSeek V3:超便宜,通常 input 不到 $1
  • 自架的 Llama 70B:按 GPU-hour 算,不按 token

這代表 prompt 長度就是你的帳單。每次都送 50K tokens 的 system prompt,單位經濟學會直接爛。

緩解方式:prompt caching(重複 prefix 便宜 5-10 倍)、縮短 system prompt、用 RAG 取代整個知識庫塞進去、簡單問題改用便宜模型(也就是 LLM routing)。

對 context window 的影響

模型有 200K context window,這個上限是 token,不是頁數。所以:

  • 100 頁英文文件(約 5 萬字 ≈ 65K tokens)輕鬆塞得下
  • 100 頁中文文件(約 5 萬字 ≈ 75K-100K tokens)勉強塞得下
  • 100 頁的 Python 專案,看密度差很多

設計 app 時請估 token 預算。不要想「這份文件 5MB」 — 算 token。

對輸出速度的影響

模型一個一個 token 生出來。速度的單位是 tokens per second(tps)

  • 前沿 API(像 Claude Sonnet)輸出大約 50-80 tps
  • 小模型(Haiku、Flash)能到 100-300 tps
  • 自架 + vLLM / TensorRT-LLM,7B 模型可以推到 500+ tps

如果使用者想要 1,000 tokens 的回答,模型 50 tps 的話,實際牆鐘時間是 20 秒。Chat UI 為什麼一定要 stream — 就是這個原因,不要等整段生完再顯示。

估算速查表

背一下:

  • 1 頁英文 ≈ 500 字 ≈ 650 tokens
  • 1 頁中文 ≈ 500 字 ≈ 750-1000 tokens
  • 1 個一般使用者訊息 ≈ 50-200 tokens
  • 1 個正式 app 的 system prompt ≈ 500-3000 tokens
  • 1 次 RAG(5 個 ~300 tokens 片段)≈ 1500 tokens
  • 1 份長 PDF 報告 ≈ 10K-50K tokens

乘以你的月請求量,你就有一個粗估的月成本 — 在你 ship 任何嚴肅產品前先算一下。

什麼時候不需要太計較 token

如果你只是用 chat 產品(ChatGPT、Claude.ai)的月費版,你不是按 token 付錢 — 一個月 $20,公平使用。在這個情境裡執著於 token 只是浪費時間。

隨意聊天時,你花在優化 prompt 長度的時間,比省下來的 token 錢還貴。

延伸閱讀

  • 什麼是 LLM
  • 什麼是 context window
  • Tokens vs 字數:LLM 計價怎麼算
  • 為什麼 input token 比 output token 便宜
  • LLM routing:把簡單問題丟給便宜模型

最後更新: 2026-04-29

We use cookies

Anonymous analytics help us improve the site. You can opt out anytime. Learn more

LLM 講的 token 是什麼?跟你的帳單為什麼有關 · BuilderWorld