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

Claude 輸入與輸出 token 成本差 5 倍

Claude 的輸出 token 價格是輸入的 5 倍。了解 prefill 與 decoding 的硬體差異,以及這種不對稱如何影響每月 agent 帳單。

為何輸出 token 的成本高於輸入 token

在目前目錄中的每個 Claude model 上,輸出 token 的成本都是輸入 token 的 5 倍。原因在於計算方式不同。讀取 prompt 只需對 model 執行一次處理。產生回覆則必須每個 token 處理一次,而且每次處理都要等待前一次完成。

價格表中的每一列都採用相同比率,因此選擇哪個 model,不會改變帳單中輸出的占比。這取決於工作負載的結構。某個 agent step 讀取 60,000 個 token,並以 800 個 token 回覆時,輸出成本幾乎可忽略。某個 drafting 工作讀取 2,000 個 token,並產生 12,000 個 token 時,輸入成本幾乎可忽略。以下將以 Anthropic 公布的 August 2026 費率,分別計算這兩種情況。

Prefill 執行一次,decoding 每個 token 執行一次

推論伺服器會分兩個階段處理請求,兩者的成本差異很大。Prefill 讀取提示。Decoding 產生回覆。

Prefill 一次處理完整提示。每個提示 token 都會在同一次 forward pass 中進入網路,因此 attention 與 feed-forward 的運算會轉換成少量大型矩陣乘法,每次涵蓋數千個 token。從記憶體讀取一次模型權重,就能處理完整提示。加速器的矩陣運算單元會持續忙碌,因此 prefill 受運算能力限制:瓶頸在於晶片執行矩陣乘法的速度。

Decoding 無法採用相同方式,因為 token 2 取決於 token 1。模型剛產生的 token 會成為下一個步驟的輸入,因此這些步驟無法同時執行。每個輸出 token 都需要獨立的 forward pass,而每次 pass 都會從高頻寬記憶體讀取完整模型權重,只產生一個 token。因此 decoding 受記憶體頻寬限制:瓶頸在於搬移權重的速度,而不是矩陣乘法的速度。Prefill 處理完整提示所需的相同權重流量,在 decoding 階段只能產生一個 token。

服務系統會透過 batching 來降低影響。多個請求會一起進行 decoding,因此讀取一次權重,就能為批次中的每個請求各產生一個 token。這也是 decoding 仍具備可接受成本的原因。瓶頸再次回到記憶體。每個處理中的請求都會保留 KV cache(key/value cache,儲存截至目前每個 token 的 attention 狀態);該快取會隨產生的 token 增加而成長,當它填滿加速器後,批次就無法再擴大。

上述內容無法提供精確數字,也不應將 5x 解讀為實測的硬體比例。這是由 Anthropic 設定的價格,依據的是上述不對稱性。你可以自行確認的是方向,而且大約只需 1 分鐘。

自行測量輸入與輸出的差距

在任何 Ubuntu 主機上安裝工具:

sudo apt update && sudo apt install -y curl jq moreutils

現在串流一個要求長篇回答的簡短提示,並為每一行加上抵達時間。

curl -sN https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":1000,"stream":true,
       "messages":[{"role":"user","content":"Count from 1 to 300, one number per line."}]}' \
  | ts -s '%.s'

ts -s 會在每一行前加上自命令開始後經過的秒數。這段輸出有兩項資訊值得注意。第一個 content_block_delta 行代表第一個 token 的到達時間,所有 prefill 都在這一行內完成。之後的每一行都是一次小幅度的解碼,時間戳會持續增加,直到 message_stop 出現。

現在反轉這個形狀。在提示中放入長篇文件,並將回答限制為少量 token。

curl -sN https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d "$(jq -n --rawfile doc ./long-document.txt \
       '{model:"claude-sonnet-5", max_tokens:16, stream:true,
         messages:[{role:"user", content:("Answer in one word. Is this document about networking?\n\n" + $doc)}]}')" \
  | ts -s '%.s'

第一個時間差比使用簡短提示時更長,因為 prefill 必須讀取多得多的文字。第一個時間差出現後,回答幾乎立即結束,因為只剩少量 token 需要解碼。輸入了數萬個 token,但時鐘幾乎沒有變化。輸出了幾百個 token,時鐘卻持續運作。

每個非串流回應結尾都會列出計費依據的數值。

{
  "usage": {
    "input_tokens": 41283,
    "output_tokens": 6,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

記錄每次請求的全部 4 個欄位。output_tokens 包含 extended thinking,因此模型在回答前進行思考時,這些思考內容會按照輸出速率計費。若要在傳送提示前估算費用,POST /v1/messages/count_tokens 可接受相同的請求本文,並在不執行模型的情況下回傳 {"input_tokens": N},而且不收費。這不是 API 中唯一免費的部分;在編列第一個專案的預算前,值得確認 Claude API 中哪些部分不會向你收費。

Claude 截至 2026 年 8 月每 1 百萬個 token 的收費

ChartClaude API list rates, US dollars per million tokens, August 2026
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_usd": 1,
    "output_usd": 5,
    "output_multiple": 5
  },
  {
    "label": "Sonnet 5 (to 31 Aug)",
    "input_usd": 2,
    "output_usd": 10,
    "output_multiple": 5
  },
  {
    "label": "Sonnet 5 (from 1 Sep)",
    "input_usd": 3,
    "output_usd": 15,
    "output_multiple": 5
  },
  {
    "label": "Opus 5",
    "input_usd": 5,
    "output_usd": 25,
    "output_multiple": 5
  },
  {
    "label": "Fable 5",
    "input_usd": 10,
    "output_usd": 50,
    "output_multiple": 5
  }
]

最後一欄是輸出除以輸入,每一列都顯示 5。Haiku 4.5 的輸入費用為 $1,輸出費用為 $5。Opus 5 的輸入費用為 $5,輸出費用為 $25。最昂貴的 Fable 5,輸入費用為 $10,輸出費用為 $50;在否定最上方那一列前,值得先閱讀Fable 5 的這些費率能帶來什麼。沿著費率範圍往上移動時,輸入與輸出費用會以相同倍數增加。因此總費用會改變,但輸入與輸出的比例維持不變。

Sonnet 5 出現兩次,因為其優惠費率會到期。到 2026 年 8 月 31 日為止,輸入費用為 $2,輸出費用為 $10。自 2026 年 9 月 1 日起,適用輸入費用 $3 與輸出費用 $15 的標準費率,兩者都高出 50%。以下所有計算範例都使用 8 月費率。

費率會變動,因此不應在本頁查詢最新價格。claude.com/pricing 才是最準確的來源。價格變動後仍然適用的是計算方法。

價格表不會顯示一項注意事項。Anthropic 的文件指出,Claude 4.7 及更新版本的模型使用較新的 tokenizer。與 Sonnet 4.6 及更早版本使用的 tokenizer 相比,處理相同文字時,產生的 token 約多 30%。單看每 1 百萬個 token 的價格,會讓較新的模型看起來更划算,因為同一份文件在該模型上會產生更多 token。請比較完成實際工作所需的成本,並以實際打算使用的模型計算真實提示。不同服務提供者之間也有相同問題,而且它們的 tokenizer 差異甚至大於上述幅度。因此,在 Claude 和 ChatGPT 上分別計算實際工作的成本,比把兩張費率表並列比較更有參考價值。1 百萬個 Claude token 在實際文字中代表多少內容說明了這個數量在實務上的規模。

何時輸出會開始主導費用?

當輸出的計價是輸入的 5 倍時,很容易在心中算出損益平衡點。將輸入 token 設為 I,輸出 token 設為 O。輸入成本是 I。輸出成本是 5 倍的 O。當 5 倍的 O 大於 I 時,輸出成本會超過總支出的一半,token 比例就是輸入 5、輸出 1。

因此,如果提示的長度超過回覆的 5 倍,輸入就是較大的費用項目。低於這個比例時,則是輸出。

ChartShare of spend by input to output token ratio, at 5x output pricing
The data behind this chart
[
  {
    "label": "100:1",
    "input_share_pct": 95.2,
    "output_share_pct": 4.8
  },
  {
    "label": "75:1",
    "input_share_pct": 93.75,
    "output_share_pct": 6.25
  },
  {
    "label": "20:1",
    "input_share_pct": 80,
    "output_share_pct": 20
  },
  {
    "label": "10:1",
    "input_share_pct": 66.7,
    "output_share_pct": 33.3
  },
  {
    "label": "5:1",
    "input_share_pct": 50,
    "output_share_pct": 50
  },
  {
    "label": "1:1",
    "input_share_pct": 16.7,
    "output_share_pct": 83.3
  },
  {
    "label": "1:6",
    "input_share_pct": 3.2,
    "output_share_pct": 96.8
  }
]

在 100 比 1 時,輸出占支出的 4.8%,此時只有縮短提示值得投入。在 5 比 1 時,兩者費用相同。在 1 比 6 時,輸出占 96.8%,提示成本則可視為四捨五入誤差。多數人都會錯估自己的比例,因此在進行任何最佳化之前,先從日誌中取得實際數據。

代理程式工作負載:輸入長內容,輸出短答案

執行一次檢索代理程式步驟:輸入 60,000 個檢索文件與對話記錄 token,輸出 800 個 token 的答案。這是 75 比 1。對於任何先讀取再寫入的工作負載,這都很常見。

ChartOne agent step, 60,000 input and 800 output tokens, US dollars per call
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_cost": 0.06,
    "output_cost": 0.004,
    "total_cost": 0.064
  },
  {
    "label": "Sonnet 5 (Aug)",
    "input_cost": 0.12,
    "output_cost": 0.008,
    "total_cost": 0.128
  },
  {
    "label": "Opus 5",
    "input_cost": 0.3,
    "output_cost": 0.02,
    "total_cost": 0.32
  },
  {
    "label": "Fable 5",
    "input_cost": 0.6,
    "output_cost": 0.04,
    "total_cost": 0.64
  }
]

在所有模型中,輸出量都占該次呼叫的 6.25%,因為整份價格表的比例固定。依序計算,該次呼叫在 Opus 5 的費用為 $0.32,在 8 月費率下使用 Sonnet 5 的費用為 $0.128,使用 Haiku 4.5 的費用為 $0.064。每天在 Opus 5 上執行 200 次這類步驟,每天的費用為 $64。

了解輸入與輸出的比例後,節省成本的著力點就很明顯。將答案從 800 個 token 縮短至 400 個,只能節省約 3% 的呼叫費用。從提示中移除 20,000 個過時的上下文 token,則可節省約三分之一。對於讀取量高的代理程式,限制輸出長度幾乎是白費力氣。深入了解程式撰寫代理程式的 token 實際用在何處說明了提示內容的主要來源。

生成工作負載:短提示、長草稿

現在反過來看。2,000 個 token 的簡述、12,000 個 token 的草稿,比例為 1 比 6。

ChartOne draft, 2,000 input and 12,000 output tokens, US dollars per draft
The data behind this chart
[
  {
    "label": "Haiku 4.5",
    "input_cost": 0.002,
    "output_cost": 0.06,
    "total_cost": 0.062,
    "batch_total_cost": 0.031
  },
  {
    "label": "Sonnet 5 (Aug)",
    "input_cost": 0.004,
    "output_cost": 0.12,
    "total_cost": 0.124,
    "batch_total_cost": 0.062
  },
  {
    "label": "Opus 5",
    "input_cost": 0.01,
    "output_cost": 0.3,
    "total_cost": 0.31,
    "batch_total_cost": 0.155
  },
  {
    "label": "Fable 5",
    "input_cost": 0.02,
    "output_cost": 0.6,
    "total_cost": 0.62,
    "batch_total_cost": 0.31
  }
]

輸出內容占這筆費用的 96.8%。Opus 5 每份草稿的費用為 $0.31,Haiku 4.5 則為 $0.062。這個 5 倍差距幾乎完全來自輸出端,而這正是較便宜的模型最能節省費用的地方。

最後一欄是透過 Batch API 執行相同工作,輸入與輸出費用都可減少 50%。Opus 5 每份草稿的費用降至 $0.155。Batch 會在 24 小時內回傳結果,而不是立即回傳,因此適合夜間報告產生與大量分類。不適合需要人員等待結果的工作。

模型路由在這裡很有價值,但在代理步驟中不會有同樣效果。如果工作的冗長部分是機械性處理,例如重新格式化文字或擴充已核准的大綱,較便宜的模型可用五分之一的價格產生這些 token。選擇 Opus、Sonnet 與 Haiku 說明品質界線實際位於何處。

快取只折抵輸入,且僅限輸入

Prompt caching 會將 prompt 的前綴儲存在伺服器上,之後再次讀取時,輸入費率只收取其中一部分。截至 August 2026,費率倍數為:寫入 5 minute 快取時收取基本輸入費率的 1.25x,寫入 1 hour 快取時收取 2x,命中快取並讀取時收取 0.1x。

輸出不包含在這項優惠中。不存在快取輸出。模型每次產生的每個 token 都會按照完整輸出費率計費,無論 prompt 有多少內容命中快取,規則都相同。

以 Opus 5 執行相同的 agent 步驟,其中 60,000 個輸入 token 有 55,000 個由 warm cache 提供。

ChartThe same Opus 5 agent step, with and without a warm 55,000 token cache, US dollars
The data behind this chart
[
  {
    "label": "No cache",
    "input_cost": 0.3,
    "output_cost": 0.02,
    "total_cost": 0.32
  },
  {
    "label": "55k prefix cache read",
    "input_cost": 0.0525,
    "output_cost": 0.02,
    "total_cost": 0.0725
  }
]

這次呼叫的費用從 $0.32 降至 $0.0725。輸出費用沒有變動:原本為 $0.02,現在仍為 $0.02。快取會降低帳單金額,也會改變費用結構。輸出原本占這次呼叫的 6.25%。現在已超過四分之一,因此下一步應優先調整的項目也會不同。

第一次呼叫需要支付寫入費用。寫入 5 minute 快取的費用是基本輸入費率的 1.25x,因此命中一次後即可回本。寫入 1 hour 快取的費用是 2x,因此需要命中兩次。寫入與讀取倍數,以及快取何時不再划算會詳細說明這項計算。

你能控制的 4 個槓桿

  1. 將 max_tokens 設定為輸出長度的 p95,而不是模型上限。
  2. 將冗長步驟路由至較便宜的模型。
  3. 將沒有人等待的工作批次處理。
  4. 刪除會讓回覆變長的指示。

max_tokens 是硬性上限。單獨提高這項設定不會增加費用,因為計費依產生的 token 計算,不會依上限計費。寬鬆的上限只會移除對異常回覆的限制。從日誌中取出 output_tokens 分布,將上限設在第 95 百分位稍上方,並在程式碼中處理 stop_reason: "max_tokens",例如繼續產生回覆或重試。你偵測到的截斷,成本低於支付後丟棄一段 4,000 token 的冗長內容。Extended thinking 也會計入 output_tokens,因此應根據相同的資料設定該預算。

當步驟的昂貴部分是內容量而非判斷時,路由才有效。讓強大的模型負責決策,再把文字產生交給較便宜的模型。先在自己的評估資料集上測量路由版本,因為需要嘗試兩次的便宜模型,成本可能高於一次昂貴的嘗試。

批次處理是唯一能折抵輸出費用的槓桿。雙方費用均可折抵 50%,結果會在 24 小時內提供,任何有排程的工作都符合條件。

最後一個槓桿常被忽略。「be thorough」和「explain your reasoning」這類片語,會增加你往後每次呼叫的輸出長度。改成直接指定所需格式,例如「Answer in at most three sentences」,或「Return only the JSON object, with no preamble」。每次回覆增加 300 token 的 system prompt,其成本是相同 300 token 輸出成本的 5 倍。將持續執行的 agent 成本控制在範圍內涵蓋監控部分;在你花一週調整每個 token 的支出前,也值得先確認依你的使用模式判斷 API 或固定訂閱哪個較便宜,因為訂閱可能已涵蓋這些費用。對單一開發者而言,這主要取決於Claude Pro 每月 $20 的費用及其使用量限制是否足以支應原本需要按量計費的工作。如果你已在工作階段中途達到這些限制,應先確認你正在等待哪個使用量視窗;接著的解決方式可能是改用較小的模型、減少 context、購買額外使用量額度,或將工作移至按量計費的 API。如果按量計費的 API 最終成為較適合該工作的方案,降級至較小的方案或取消訂閱不會影響已支付的當月期間,因此切換時不會產生額外損失。如果你拿來與 Pro 比較的是 ChatGPT 方案,而不是按量計費的 API,將兩種訂閱層級並列比較價格可顯示哪一種對程式開發工作較便宜。如果這個問題是為團隊而非單一開發者提出,請注意Claude Enterprise 將每席位費用與依相同 API 費率計算的 token 費用結合;因此,本頁的每個槓桿仍適用於該帳單中按量計費的部分。

FAQ

為什麼輸出 token 的費用高於輸入 token?

因為每個 token 的生成需要更多加速器處理時間。提示會在一次前向傳播中完整處理,因此單次讀取模型權重就能涵蓋數千個 token,硬體瓶頸在乘法運算吞吐量。回覆則一次生成一個 token,每個 token 都需要重新執行一次前向傳播,並再次讀取完整模型權重,因此硬體瓶頸改為記憶體頻寬。Anthropic 目前整個產品目錄的輸出價格都是輸入價格的 5 倍,涵蓋 Haiku 4.5 到 Fable 5。

提示快取會讓輸出 token 變便宜嗎?

不會。提示快取只套用於輸入。截至 August 2026,快取讀取費用是基本輸入費率的 0.1 倍;快取寫入費用在 5 minute 期間是 1.25 倍,在 1 hour 期間是 2 倍。無論快取的狀態為何,每次呼叫都會按完整費率計算輸出費用。因此,快取不只會改變帳單金額,也會改變費用結構:當輸入端的費用大幅降低後,輸出就會成為最值得優化的部分。

如果回覆很短,較高的 max_tokens 會增加費用嗎?

不會。系統會依模型實際產生的 token 計費,因此 max_tokens 是上限,不是預先保留的額度。它仍然重要,因為這是限制失控回覆的唯一硬性上限。請將它設定在觀察到的 output_tokens 第 95 百分位數略高的位置,並在程式碼中處理 stop_reason: "max_tokens",不要直接送出遭到無聲截斷的答案。

如何找出自己的輸入與輸出 token 比率?

請從每個回應的 usage 物件記錄 input_tokens、output_tokens、cache_read_input_tokens 和 cache_creation_input_tokens,然後計算一週內的總和比率。若輸入與輸出的比率高於 5 比 1,主要費用來自提示,因此應快取穩定部分並精簡其餘內容。若低於此比率,主要費用來自回覆,因此應限制回覆長度,並將產生最多輸出的步驟移至較便宜的模型或 Batch API。