SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-13

Claude token 是什麼?Claude Code 為何耗用 80,000

Claude token 約等於 3.5 個字元。了解 Claude Code 一次互動為何計費 80,000 個 token,以及閒置 5 分鐘後下一次互動為何可能變成 5 倍。

Claude 中的 token 是什麼?

token 是 Claude 讀取與產生文字時使用的單位:它可以是單字的一部分,約相當於 3.5 個英文字元。這個數字來自 Anthropic 自己的詞彙表;將空格與標點符號計入後,每個單字通常會對應超過 1 個 token,因此 1,000 個英文單字的散文通常明顯超過 1,300 個 token。程式碼每行所需的 token 更多:大括號、運算子、底線與縮排會讓每個字元拆成比英文更多的 token,而數百行的原始碼檔案通常會包含數千個 token。若代理程式決定讀取 2,000 行的檔案,在尚未寫入任何新程式碼前,就可能先消耗五位數的 token。

tokenizer 有兩個容易造成誤解的地方。第一,tokenizer 會依模型而異。截至 2026 年 7 月,Opus 4.7 及更新版本、Sonnet 5 與 Fable 5 使用較新的 tokenizer;相同文字產生的 token 約比早期 Claude 模型多 30%(實際增幅會依內容而異)。因此,即使每個 token 的價格沒有隨之上調,所有以 token 為基礎的預算仍會受到影響。第二,tiktoken 是各篇部落格文章都會使用的函式庫,但它是 OpenAI 的 tokenizer;對一般文字而言,它低估 Claude 的 token 數量約 15–20%,對程式碼的低估幅度更高。唯一可信的計數方式是 count_tokens endpoint,以下將說明其用法。

為什麼你的程式撰寫工作階段會產生這樣的費用

每筆 Claude 帳單,無論是 API 發票或訂閱方案的用量上限,最後都取決於同一個計量方式:輸入 token 與輸出 token。定價頁面看起來很簡單:每 1 百萬個輸入 token 收取多少美元,每 1 百萬個輸出 token 收取多少美元。但定價頁面沒有說明,在代理式程式撰寫工作階段中,輸入端的計量速度會比直覺預期快得多,因為每次互動都會重新傳送完整對話內容。我銷售採計量基礎設施已有 15 年,而 token 是我見過的第一種計量項目:大多數客戶確實說不出究竟是什麼在持續增加用量。以下說明如何讀取這個計量器:代理式工作階段中的輸入與輸出如何計算、重新傳送迴圈為何如此昂貴、prompt caching 如何改寫計算方式,以及哪些調整確實能改變數值。

一切都是輸入:計費器實際計算的內容

人們以為自己支付的是 Claude 撰寫的程式碼。在代理工作階段中,那只是小額項目。輸入 token 採用較低的費率,但數量大幅增加,內容包括:

  • 系統提示。 Claude Code 自身的 harness 指示,以及您的 CLAUDE.md 和記憶體檔案。這些內容會在工作階段開始時載入,之後的每個請求都會保留在其中。
  • 工具定義。 代理程式可能呼叫的每個工具 schema。您連線的每個 MCP 伺服器 都會增加這項固定負擔。不過,Claude Code 現在預設會延後載入完整的 MCP 工具定義,因此在首次使用工具前,context 中只會保留工具名稱。這能降低成本,但無法完全消除。
  • 代理程式讀取的每個檔案。 讀取來源檔案的 Read 會將整個檔案放入 context,而且之後仍會保留。
  • 每個工具結果。 測試執行結果、grep 輸出、終端機大量輸出、建置日誌,全部都會以輸入 token 計算。一套失敗的測試若輸出 8,000 行,就等於為一本小型書籍支付費用。
  • 截至目前的完整對話,每一回合都會重新傳送。 這項內容值得另立一節說明。

重送造成的無形費用

Claude API 是無狀態的。它不會在請求之間記住工作階段,實際上沒有任何記憶。因此在第 2 回合,client 會傳送第 1 回合的內容、模型回應,以及你的新訊息。在第 50 回合,client 會重新傳送第 1 至第 49 回合的內容、每個讀取的檔案、每項工具結果、每個 diff,以及第 50 回合的內容。模型每次都會重新讀取完整對話記錄,而這些重新讀取的 token 都會以 input 計費。

結果是:每回合的成本會隨工作階段長度大致線性增加,而整個工作階段的總成本則大致呈二次方增加。同一個單行問題,在第 3 回合可能只需半美分,但到了第 60 回合,成本可能變成 20 倍,因為它同時攜帶了 60 回合的資料。這是大多數「為什麼帳單這麼高」問題的主要原因。這也不是 Claude 特有的問題;所有使用起來像有狀態的 LLM 產品,底層都是無狀態 API,並透過重送迴圈維持這種效果。

輸出:你看到的內容,以及未顯示的思考

輸出 token 的費用較高。在目前的產品系列中,輸入與輸出的費率相差 5 倍(截至 2026 年 7 月,Opus 4.8 為 $5/$25、Sonnet 5 為 $3/$15、Haiku 4.5 為 $1/$5)。輸出包括 Claude 產生的文字與程式碼,以及思考 token:模型在回答前執行的內部推理。這裡有兩點需要注意。思考 token 按輸出費率計費,並計入 max_tokens。如果 API 回應因 stop_reason: "max_tokens" 結束,而回答遭到截斷,通常表示思考 token 在完成回答前就已耗盡預算。此外,目前的模型可能完全不顯示推理摘要;Opus 4.8、Sonnet 5 和 Fable 5 預設不顯示摘要,但思考仍然執行,也仍然會計費。未顯示不代表免費。

Claude Code 預設啟用 extended thinking,因為這項功能能明顯改善多步驟工作,而預設預算在每次請求中可能達到數萬個 token。對於較簡單的工作,可以降低使用量:使用 /effort 或在 /model 中降低 effort level,或在 /config 中調整 thinking 設定。這是實際有效的成本控制方式,不是迷信。

Prompt caching 會改寫成本計算

Prompt caching 是 resend loop 不會讓所有人破產的原因。API 可以快取 prompt、system prompt、tool definitions 及對話歷程中的穩定前綴,並在下一次請求以一小部分的價格提供。截至 2026 年 7 月,倍率如下:cache write 的費用是基本 input rate 的 1.25 倍(1-hour variant 則為 2 倍),cache read 的費用是 0.1 倍。寫入需要支付額外費用;讀取則可享有 90% 折扣。只要讀取一次,節省的費用就已超過 5-minute write premium。

Claude Code 會代為管理 caching。在正常的 session 中,這次大型 resend 幾乎全部都會從 cache 提供。但預設 cache 的存留時間是自上次使用起 five minutes。如果離開去喝咖啡,時間拖得比較久,回來後再傳送訊息,cache 已經過期,整個累積的前綴就會以 1.25 倍的價格重新寫入,而不是以 0.1 倍的價格讀取。在 150K-token session 中,這次 cold turn 的成本可能超過十多次 warm turn。這是值得記住的反直覺結果:先閒置再恢復工作的節奏,成本可能高於持續工作,因為每次閒置時間超過 TTL,都會把下一次 turn 從低成本讀取變成高成本重新寫入。請分段工作;不要每十​​分鐘傳送一則訊息,慢慢餵入一個龐大的 session。

如果你是從 自己的 VPS 應用程式呼叫 API,這些功能不會自動提供,最常見的自我造成問題,是將 timestamp 或 request ID 插入 system prompt。這會讓每次請求的前綴位元組都不同,並在沒有明顯提示的情況下停用 caching。判斷方式是:對外觀相同的呼叫,usage.cache_read_input_tokens 持續維持在零。

公式與計算範例

不要理會宣稱「每個工作階段固定收費 $X」的人。工作階段的成本可能相差兩個數量級。真正適用的是以下公式:

turn cost = (uncached input      x base input price)
          + (cache writes        x 1.25 x base input price)
          + (cache reads         x 0.10 x base input price)
          + (output incl. thinking x output price)

session cost = sum over all turns

以下以 Claude Opus 4.8 為例。截至 July 2026,其輸入費用為每百萬個 token $5,輸出費用為每百萬個 token $25。某次工作階段中段的一輪請求包含累積的 80,000 個 token:其中 75,000 個從快取讀取、3,000 個新寫入、2,000 個未快取的新輸入,以及包含 thinking 在內的 1,500 個輸出 token。

  • 快取讀取:75,000 × $0.50/M = $0.0375
  • 快取寫入:3,000 × $6.25/M = $0.019
  • 未快取輸入:2,000 × $5/M = $0.010
  • 輸出:1,500 × $25/M = $0.0375

這一輪約為 $0.10;若進行 50 輪,約為 $5。現在看同一輪請求在快取過期後的情況:完整的 80,000 個 token 以 $6.25/M 重新寫入,在計入輸出前就要 $0.50,約為整個快取有效工作階段的 5 倍,但執行的是完全相同的工作。這個差距就是快取效益的完整說明。

如果你想了解的是計費單位本身,而不是單獨一輪請求,了解一百萬個 token 可換算成多少頁面、檔案與費用會將相同的計算提高一個層級。這些數字適合用於校準,不適合用於預測:截至 July 2026,Anthropic 公布的企業 Claude Code 部署數據顯示,每位開發者每個活躍日平均約 $13,每月 $150–250,且 90% 的使用者每日費用低於 $30。實際費用取決於模型選擇、工作階段管理方式與程式碼庫大小,因此以下這些控制因素才重要。

查看自身用量

在 Claude Code 中,指令是 /usage/cost 仍可使用,這是別名)。頂端的 Session 區塊會顯示目前工作階段的 token 統計資料與本機計算的成本估算;訂閱方案的同一畫面也會顯示方案用量上限進度條,並將近期用量分別歸因於 skills、subagents、plugins 及個別 MCP servers。對於 API 帳戶,Claude Console 中的用量頁面才是正式計費依據,CLI 顯示的數值僅為估算值。/context 會以彩色網格顯示 哪些內容正在佔用 context window,包括 system prompt、tools、MCP definitions、files 及 history。這是找出膨脹的 CLAUDE.md 或訊息過多的 MCP server 的最快方式;傳入 all 可展開完整的逐項明細。

透過 API 時,每個回應都會精確說明發生的情況:

response = client.messages.create(model="claude-sonnet-5", max_tokens=2048,
                                  messages=messages)
u = response.usage
total_prompt = u.input_tokens + u.cache_creation_input_tokens + u.cache_read_input_tokens
print(f"uncached={u.input_tokens} written={u.cache_creation_input_tokens} "
      f"read={u.cache_read_input_tokens} output={u.output_tokens}")

請注意,input_tokens 僅代表未快取的剩餘部分;實際的 prompt 大小是 3 個輸入欄位的總和。執行 1 小時的 agent 即使顯示 input_tokens: 4000,也不代表成本低;其餘 200,000 個 token 是由快取提供。若要在送出請求前估算用量,請使用 token-counting endpoint。此 endpoint 可免費呼叫,使用獨立的 rate limit,並以你指定之模型的 tokenizer 計算(結果只能視為接近值;實際計費以真實請求為準):

count = client.messages.count_tokens(model="claude-sonnet-5",
                                     messages=[{"role": "user", "content": big_file}])
print(count.input_tokens)

基於上述原因,請勿 tiktoken

訂閱方案與隨用隨付

本指南中的操作方式在各種方案都相同,差別只在計費方式。使用 API key 時,Anthropic 會依公布的費率按 token 隨用隨付;上文的每個數字都代表實際費用。這個計費表會比多數人預期更早開始計算,因為沒有可供使用的免費方案,只有註冊時提供的小額額度,以及少數不收費的 endpoint。這就是新 API 帳戶在綁定信用卡前實際可取得的內容。使用 Claude 訂閱方案(Pro、Max、Team、Enterprise)時,Claude Code 的用量會改從方案內含的額度扣除;截至 July 2026,額度包含滾動計算的五小時工作階段視窗與每週視窗,並由各模型及 claude.ai chat 共用,而 /usage 的美元數字僅供參考,不代表帳單金額。用完某個視窗後,畫面會顯示 "You've hit your session limit""You've hit your weekly limit",並提供重設時間。使用 /model 切換模型也不會恢復存取權,因為這些視窗由各模型共用。這些視窗是隨帳戶計算,而不是隨你當下使用的 client 計算。如果你仍在確認哪些功能可在 Linux 原生執行,以及各個介面由哪個方案涵蓋,這點尤其重要。你實際用完的是哪一個視窗,會決定需要等待多久,以及等待期間適合採取哪些措施。因此,最好先了解在工作進行中達到限制時可採取的選項。方案也可選擇啟用使用額度,透過 /usage-credits 管理,以購買超過上限的用量。我不會刻意列出方案額度,因為這是整個主題中變動最頻繁的數字;請改查 claude.com/pricing 及你自己的 /usage 進度條。即使使用訂閱方案,token 的運作方式仍然重要;浪費用量的工作階段會消耗你的視窗,情況與消耗美元相同。訂閱方案方面,請參閱哪個 Claude 方案符合你的用量

真正有效的調整方式

  • 限定 agent 讀取的範圍。「修正 auth.py 中的驗證錯誤」只會讀取一個檔案;「改善這個程式碼庫」則會讀取 40 個檔案。保持 CLAUDE.md 精簡,因為它會載入到每個工作階段,只保留必要內容,並將工作流程專用的指示移到需要時才載入的 skills。
  • 清楚且精簡。 在不相關的工作之間使用 /clear,過時的內容會在後續每則訊息中重新傳送並再次計費。在單一長時間工作中,/compact Focus on the failing tests and the diff 會壓縮歷史內容,避免進入二次成長的成本曲線。
  • 選擇適當大小的模型。 Sonnet 可處理大多數程式設計工作;截至 July 2026,入門定價為每 1 million tokens $2/$10(牌價為 $3/$15;Opus 則為 $5/$25),而 Haiku 為 $1/$5,適合日誌分類等機械式的 subagent 工作。Fable 5 位於另一端,價格為 $10/$50,輸入與輸出兩側都是 Opus 的 2 倍。因此,在將它選用於例行工作前,應先確認 哪些工作確實值得這個費率/model 可在工作階段中途切換模型。
  • 預先篩選冗長輸出。 在 Claude 看到測試結果前,先以 hook 將測試執行結果篩選為只包含失敗項目,可將 20,000 tokens 的工具結果縮減為 300;該回合日後每次重新傳送時,都能持續節省相同成本。
  • 批次處理非互動工作。 對於自有 API pipeline、分類、批次審查及 nightly jobs,Batches API 可在非同步交付的條件下,以 50% 折扣使用相同模型。
  • 留意快取時效。 以連續時段工作。在 VPS 上透過 tmux 執行的分離 Claude Code 工作階段閒置時不會產生成本;只有執行回合時才會消耗 tokens。但閒置期間失去的是暖快取,下一個回合必須重新支付重寫內容的成本。

FAQ

Claude Code 的一個程式撰寫工作階段會使用多少 token?

沒有固定數量。單次工作階段中,隨著檔案與歷程累積,一個回合通常會包含數萬個 prompt token;完整工作階段則可能達到數百萬個 token,其中大多數會由快取提供,費率約為基本費率的十分之一。作為估算參考,Anthropic 截至 2026 年 7 月公布的企業數據顯示,每位開發人員每個活躍日平均約 $13,90% 的使用者低於 $30。請在自己的工作階段執行 /usage;實際觀察五分鐘,比任何已公布的平均值都更有參考價值。

即使我看不到 thinking token,也會產生費用嗎?

會。thinking token 會按照 output token 計費,適用較高的費率,並計入 max_tokens。目前的模型即使介面未顯示 reasoning summary,仍會對這些 token 計費。如果回應在可見答案完成前以 stop_reason: "max_tokens" 截斷,通常表示 thinking 已耗用可用額度。在 Claude Code 中,對不需要深度推理的工作,可使用 /effort 降低 effort level。

為什麼 Claude Code 的長時間工作階段,每則訊息的費用會越來越高?

因為 API 不保留狀態。每個回合都會重新傳送完整對話、每個讀取的檔案、工具結果及先前的交換內容,並按 input 計費。因此,第 50 個回合會攜帶第 1 到第 49 個回合的內容。Prompt caching 會以約基本 input 價格十分之一的費率提供重複的前綴,但前綴本身會持續變長;若閒置時間超過 cache TTL,下一個回合就會將整個內容重新以全額計費。/compact 可縮短歷程;/clear 可重設歷程。

如何查看 Claude 的 token 用量與費用?

在 Claude Code 中,/usage 會顯示工作階段 token 統計、當地費用估算,以及訂閱方案的額度限制列(/cost 是其別名);/context 會顯示哪些內容正在佔用 window。若要查看具權威性的 API 計費資料,請使用 Claude Console 中的 usage page。在自己的程式中,讀取 response.usage;將 input_tokenscache_creation_input_tokenscache_read_input_tokens 相加,即可取得實際的 prompt 大小。若要事先估算,請使用 count_tokens endpoint,不要使用 tiktoken