新帳號 免費註冊,送 10 次呼叫,最高 $1,免綁卡。

Claude Code 子代理成本:一次 $0.17 執行花在哪裡

透過閘道執行一次 Claude Code,依三個代理分別拆解呼叫成本:各代理的首次呼叫合計占總帳單的 72%,整次執行費用為 0.17 美元。換算後,三次首次呼叫約花費 0.1224 美元,其餘呼叫占 28%,約為 0.0476 美元;閘道設定只需兩個環境變數。

我們的推薦

即時價格
模型 結論 價格
Claude Sonnet 5.5 一次包含兩個子代理、共 11 次呼叫的 Claude Code 執行,在快取未預熱時花費 $0.1728,半分鐘後再次執行則花費 $0.0812。快取寫入占未預熱執行費用的 77%。 示範中的模型 低至 $2/百萬
目錄
  1. 如何讓 Claude Code 透過閘道?
  2. 不做其他設定,閘道能看到什麼?
  3. $0.17 花在哪裡?
  4. 第二次執行要花多少?
  5. Claude Code 自己顯示的費用和帳單一致嗎?
  6. 如何按開發者或儲存庫拆分費用?
  7. 如何跨工作階段查看代理成本?
  8. 這套設定無法提供什麼?
  9. 常見問題
  10. 一個 Claude Code 工作階段要花多少錢?
  11. 如何追蹤團隊的 Claude Code 成本?
  12. Claude Code 子代理會增加成本嗎?
  13. Claude Code 印出的費用準確嗎?
  14. CLAUDE_CODE_GATEWAY_HINT_HEADERS 有什麼作用?
  15. 延伸閱讀

Claude Code 會告訴你一次工作階段花了多少錢,卻不會告訴你錢花在哪個部分。團隊開始使用後,也沒人能說清楚帳單該歸到哪個儲存庫或哪位開發者。讓 Claude Code 透過閘道,也就是位於 Claude Code 與模型供應商之間的代理伺服器,就能回答這兩個問題,不需要外掛或包裝程式。閘道原本就看得到每個請求,而 Claude Code 原本就會在請求中附上工作階段 ID 和代理 ID。本文透過 Synthorai 閘道執行一個小任務,再檢視結果:11 個請求共花了 $0.1728,其中三個代理各自的首次呼叫就占了 72%。

TL;DR

  • 透過閘道,在 Claude Sonnet 5.5 上執行一次包含兩個子代理的 Claude Code 任務,花費 $0.1728;半分鐘後重跑則是 $0.0812。
  • 快取寫入占首次執行成本的 77%,三個代理各自的首次呼叫占 72%。
  • 兩個子代理占工作階段成本的 39%。
  • 兩個環境變數就能讓 Claude Code 透過閘道,第三個則能標示各子代理的類型。

程式碼位於 github.com/synthorai-io/use-cases 的 coding-agent-spend/ 目錄。需要 Python 3.10 以上版本,以及此模型要求的 claude 指令 2.1.280 以上版本。

git clone https://github.com/synthorai-io/use-cases
cd use-cases
cp .env.example .env    # put your API key in it
cd coding-agent-spend
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python run.py --hints --label repo=shipping --label _user=dev_1

腳本會複製一個小型範例儲存庫,其中有一個未通過的測試,再啟動 Claude Code。閘道位址和金鑰只會設在該程序的環境中,並使用空的設定目錄,因此不會讀取或修改你原有的 Claude Code 設定。一次執行約需半分鐘。腳本透過 --max-budget-usd 將單次執行上限設為 $0.60;若再執行一次可能讓累計費用超過 $2,就不會啟動。

主控台中的工作階段:11 次呼叫、$0.1728、212k 個輸入權杖,快取命中率為 74.9%;用戶端顯示為 Claude Code 2.1.296,標籤為 _user dev_1 與 repo shipping;代理表格列出主對話 $0.1053、Explore 子代理 $0.0575,以及自訂子代理 $0.0101

本文數據來自 2026 年 10 月 10 日的執行結果,使用 Claude Code 2.1.296 和 Claude Sonnet 5.5。

如何讓 Claude Code 透過閘道?

設定兩個環境變數即可。Claude Code 使用 Anthropic 的 Messages API,閘道則在自己的位址提供相同的 API:

export ANTHROPIC_BASE_URL="https://synthorai.io"   # no /v1: Claude Code adds /v1/messages itself
export ANTHROPIC_API_KEY="<your gateway key>"

其他設定都不用改。詳細資訊請見 Claude Code 整合頁面。之後,每個工作階段的所有模型呼叫都會出現在閘道的請求日誌中,主控台也會將它們分組。

不做其他設定,閘道能看到什麼?

閘道能看到工作階段、其中的追蹤、用戶端,以及每個子代理。Claude Code 在每個請求中都會傳送自己的工作階段 ID,因此執行一次 claude,主控台就會出現一個工作階段,頁面上的用戶端名稱為「Claude Code 2.1.296」。請求在主控台中也會顯示追蹤 ID,因此工作階段會列出所屬追蹤:這次執行有兩個,分別包含 6 次和 5 次呼叫。在「此工作階段的代理」表格中,呼叫也已經分成主對話和各子代理,每個子代理各占一列。

子代理是 Claude Code 為了處理部分任務而啟動的另一個代理,有自己的指令和上下文。示範任務要求使用兩個子代理:內建的 Explore 子代理負責找出規則所在位置,自訂的 test-runner 子代理負責執行測試。

預設情況下,子代理會以 a05e467acd14b25e6 這類 ID 顯示。你能知道有兩個子代理,卻不知道哪個是哪個。再加一個變數就能解決:

export CLAUDE_CODE_GATEWAY_HINT_HEADERS=1
預設設定提示變數後
工作階段、追蹤、用戶端與成本有有
依 ID 分列子代理有有
子代理類型(Explore、custom)無有
每次呼叫的種類,以及呼叫前執行的工具無有

設定後,表格會按類型標示各子代理。在 Logs 中開啟一筆呼叫,也能看到呼叫種類(subagent:Explore),以及「本次呼叫前的工具」清單,列出各工具的名稱和執行時間,例如 Read 7 ms。閘道保留的是代理類型,不是你替它取的名稱,因此 test-runner 會顯示為 custom。工具名稱和執行時間會保留,工具讀寫的內容則不會。

$0.17 花在哪裡?

費用分布在三個代理上,主要花在各代理的首次呼叫。

代理呼叫次數輸入權杖快取命中率成本
主對話6159k78.9%$0.1053
Explore 子代理347.5k64.7%$0.0575
custom 子代理(test-runner)25,32348.1%$0.0101
工作階段11212k74.9%$0.1728

兩個子代理共花了 $0.0676,占工作階段的 39%,處理的卻是任務中最小的兩件事:在只有三個原始碼檔案的函式庫裡找出一條規則,以及執行五個測試。實際修正只改了一個字元,把 > 改成 >=。

原因可以從 Claude Code 在執行結束時印出的權杖數看出來:

claude-sonnet-5-5                20 in   158612 cache read   53058 cache write   2425 out  $0.1728

依此模型的價格計算,每百萬輸入權杖為 $2、輸出為 $10、快取讀取為 $0.10、快取寫入為 $2.50,這四個數字換算如下:

權杖類型權杖數成本占比
快取寫入53,058$0.132677%
輸出2,425$0.024314%
快取讀取158,612$0.01599%
未快取的輸入20$0.00000%

快取寫入占帳單的 77%。首次傳送提示前綴時會寫入快取,費用是輸入價格的 1.25 倍;後續請求在此模型上讀取快取,只需輸入價格的二十分之一。程式開發代理的提示包含系統提示和每個工具的定義,所以你還沒輸入任何內容,提示就已經很長。這也讓代理的首次呼叫成為最昂貴的一次。

每個代理都有自己的起始提示,因此各自都要付一次首次呼叫的費用:

首次呼叫所屬代理輸入權杖快取命中率成本
主對話30.0k0%$0.0772
Explore 子代理14.9k0%$0.0391
custom 子代理2,5620%$0.0077

這三次呼叫共花了 $0.1240,占整次執行的 72%。之後的呼叫都很便宜:Explore 子代理的第二次和第三次呼叫有 94% 的輸入來自快取,分別只花 $0.0052 和 $0.0132。

如果子代理能把大量閱讀內容留在主對話的上下文之外,冷啟動成本就值得。這正是 Explore 在真實程式碼庫中的用途。若工作只需一兩次呼叫,直接在主對話中完成,就能省下一次快取寫入。這裡只測了一個小型儲存庫,調整工作方式前,先看看你自己工作階段的成本分布。

第二次執行要花多少?

若在快取仍有效時開始,費用約為一半。我們在半分鐘後重跑相同任務,同樣產生 11 次呼叫,輸入的快取讀取比例從首次的 74.9% 提高到 93.1%,成本則從 $0.1728 降至 $0.0812。三個代理的首次呼叫分別有 82%、81% 和 71% 的輸入來自快取,因為前一次執行已經快取了它們的起始提示。

Anthropic 的快取項目預設保留五分鐘,每次讀取都會重新計時。開發者持續在同一個儲存庫中工作,大多支付的是快取已暖機的價格。每小時執行一次的排程工作,則每次都要支付冷快取的價格。

Claude Code 自己顯示的費用和帳單一致嗎?

在 2.1.296 版中一致,精確到小數點後第四位:冷快取時兩邊都是 $0.1728,暖快取時都是 $0.0812。不過,這取決於版本。Claude Code 依自己的價目表計算成本。2.1.278 版在 10 月 8 日仍能執行此模型,當時使用的每百萬輸入與輸出權杖價格是 $5 和 $25,實際帳單卻是 $2 和 $10,因此印出的費用約為實際收費的 2.7 倍。每次執行時,兩邊的權杖數都完全一致。

這會影響一項設定:當 Claude Code 自己計算的金額達到上限時,--max-budget-usd 就會停止執行。舊版曾在自身計算達 $0.60 時停止,但實際收費約只有三分之一。升級後,先到工作階段頁面核對一次金額;真正用來控制支出的上限,應設在計算帳單的地方,也就是 API 金鑰的支出上限。

如何按開發者或儲存庫拆分費用?

在每個請求上加標籤即可。Claude Code 已支援透過環境變數傳送自訂標頭:

export ANTHROPIC_CUSTOM_HEADERS='X-Synthorai-Metadata: {"repo":"shipping","_user":"dev_1"}'

X-Synthorai-Metadata 是閘道用來接收標籤的標頭,內容是最多包含 10 個短字串的扁平 JSON 物件,其中 _user 用來標示請求是為哪位使用者發出的。示範中的 --label 旗標設定的就是這個標頭,上方的工作階段頁面也會將兩個標籤顯示為標記。

在各開發者的 shell 設定檔中設定個人標籤,再透過專案載入環境變數的機制設定儲存庫標籤,就能使用兩種檢視:

  • 在 Traces 中,搜尋框接受 metadata.repo = shipping,可列出該儲存庫的工作階段。
  • 在 Analytics 的 Breakdown 分頁中,Cost by metadata 卡片會依某個鍵的各個值,彙總請求數和成本。因此 repo 可顯示各儲存庫的帳單,_user 則可顯示各開發者的帳單。

共用一把金鑰也能這樣做。每位開發者使用獨立金鑰,同樣能拆分帳單,還能各自設定支出上限,代價是要管理更多金鑰。

如何跨工作階段查看代理成本?

使用 Analytics 的 Breakdown 分頁中的 Cost by agent 卡片。工作階段頁面只拆分單一工作階段,這張卡片則會按代理類型,彙總所選時間範圍內的所有工作階段:

Cost by agent 卡片有兩列:Explore 共 2 個,包含 6 個請求、95.1k 個輸入權杖,成本為 $0.0871;custom 共 2 個,包含 4 個請求、10.9k 個輸入權杖,成本為 $0.0170

Explore × 2 和 custom × 2 就是上面冷快取與暖快取的兩次執行,依代理類型跨兩個工作階段加總。Share 欄位顯示每列占該時間範圍總支出的比例,範圍內也包含其他工作階段。若沒有設定提示變數,執行中的子代理就不會回報類型,而會合併到名為「子代理」的一列。如果你自己寫的程式中有代理自行設定 X-Agent-Id,例如追蹤 LLM 代理中的做法,就會以它傳送的名稱顯示一列。

查看團隊一週的工作階段,就能用這個檢視判斷子代理占帳單的比例高不高,以及主要是哪種類型。

這套設定無法提供什麼?

它不會提供 span ID、自訂代理名稱、簡便的隔離方式,也看不到實際工作內容。

  • 沒有 span ID。Claude Code 2.1.296 的請求會顯示工作階段 ID 和追蹤 ID,但沒有 span ID,因此呼叫的 span 欄位會顯示「未傳送」。可用來分析的單位是工作階段、所屬追蹤和代理。
  • 沒有自訂代理名稱。所有自訂子代理都顯示為 custom。如果你執行多種類型,且需要區分它們,唯一可用的識別資訊是工作階段頁面上的代理 ID。
  • 沒有簡便的隔離方式。--bare 看起來可以讓 Claude Code 不載入你自己的外掛和設定,但它也會停用子代理,讓工作階段只剩一個代理,無法拆分。示範改用空的 CLAUDE_CONFIG_DIR 來隔離執行環境。
  • 看不到實際工作內容。閘道會記錄模型呼叫、工具名稱和執行時間,不會記錄檔案內容、差異或指令輸出。

常見問題

一個 Claude Code 工作階段要花多少錢?

取決於模型、儲存庫大小、參與的代理數,以及快取是否已暖機。本文使用 Claude Sonnet 5.5,由兩個子代理協助修正一個字元的錯誤,共發出 11 個請求。冷快取時花費 $0.1728,半分鐘後重跑則是 $0.0812。

如何追蹤團隊的 Claude Code 成本?

透過 ANTHROPIC_BASE_URL 將每位開發者的 Claude Code 指向閘道,再透過 ANTHROPIC_CUSTOM_HEADERS 加上開發者和儲存庫標籤。閘道就能按工作階段、標籤值和代理類型彙總成本,不必在 Claude Code 中安裝任何東西。

Claude Code 子代理會增加成本嗎?

每個子代理都有自己的起始提示,也要各自支付快取寫入費用。在使用 Claude Sonnet 5.5 的示範中,Explore 子代理首次呼叫花了 $0.0391,後兩次分別是 $0.0052 和 $0.0132;兩個子代理合計占工作階段的 39%。這筆費用換來獨立的上下文,對大範圍探索有價值,對只需一次呼叫的工作則不划算。

Claude Code 印出的費用準確嗎?

每個版本都應核對一次。Claude Code 2.1.296 印出的 $0.1728 與實際帳單相同。Claude Code 2.1.278 對 Claude Sonnet 5.5 採用的每百萬權杖價格是 $5 和 $25,實際帳單則是 $2 和 $10,因此印出的費用約為帳單的 2.7 倍。兩個版本的權杖數都與帳單一致。

CLAUDE_CODE_GATEWAY_HINT_HEADERS 有什麼作用?

它會讓 Claude Code 在每個請求中多傳送三項資訊:代理類型、呼叫種類,以及呼叫前執行的工具名稱和執行時間。即使沒有設定,閘道仍看得到工作階段和各子代理,但只能透過 ID 識別。

延伸閱讀

← 應用情境