跳至主要內容
技術

Token 經濟學進階:當 Agent 一天燒掉 $50,你怎麼控制成本

Token 經濟學進階:當 Agent 一天燒掉 $50,你怎麼控制成本
Agentic Engineering 實戰手冊 第 11 / 14 篇

這是「Agentic Engineering 實戰手冊」系列的第十一篇。上一篇:Multi-Agent 編排實戰

上個月帳單 $287,這個月 $148

上個月我的 AI coding 總帳單是 $287。嚇了一跳。

不是用太多,工作量其實差不多,問題出在使用方式:超長的 session 導致 context window 持續膨脹、探索性的 codebase 搜尋吃掉大量 token、該用便宜 model 的地方用了貴的。

花了一個週末分析之後,這個月在相同工作量下壓到了 $148。差距來自三個改變:context pruning、model routing,還有更有紀律的 session management。

重點不是「少用」,是「聰明用」。如果你也有 token 燒光的焦慮,這篇從工程面給你具體的解法。

Token 成本解剖學

要省錢,先搞懂錢花在哪。

三種 Token,三種價格

Token 類型什麼時候產生你能控制嗎
Input tokens你給 model 的一切:system prompt、CLAUDE.md、conversation history、code context是——context engineering 直接影響
Output tokensModel 回給你的一切:code、解釋、tool calls部分——精準的 spec 讓 agent 少寫廢話
Thinking tokens模型推理時的內部 token(extended thinking)部分——簡單任務關閉 extended thinking

真正隱藏的成本殺手是 input tokens

大部分人以為成本主要來自 output(agent 寫的 code),其實不是。在一個典型的 agentic session 裡,input tokens 通常是 output 的 3-5 倍。因為每一輪對話,整個 conversation history + system prompt + context 都會被重新送一次。

一個 session 跑了 50 輪對話,最後幾輪每次都要送入幾十萬 token 的 history——光是這些重複的 input 就占了帳單的大頭。

一次「幫我修這個 bug」的 Token 分解

一個看似簡單的 bug fix request:

System prompt + CLAUDE.md:     ~5,000 tokens
Conversation history (20 輪):  ~40,000 tokens
Agent 讀的 code files:         ~15,000 tokens
Agent 的 tool calls:            ~8,000 tokens
Agent 的 output (code + 說明):  ~3,000 tokens
Extended thinking:              ~5,000 tokens
─────────────────────────────────────────────
Total:                         ~76,000 tokens

Agent 最後寫出來的 code(3,000 tokens)只佔總消耗的 4%,而 conversation history(40,000 tokens)佔了 53%。最大的省錢機會不在「少寫 code」,在「管理 conversation history」。

每種任務的成本對照

根據我三個月的追蹤數據(approximation based on usage patterns):

任務類型平均 Token 消耗大約成本備註
Simple bug fix50K-100K$0.20-0.50通常 1-3 輪對話
New feature (small)150K-300K$0.50-1.505-10 輪,含 review
New feature (medium)500K-1M$2-5多輪 iteration
Refactor800K-2M$3-10大量 codebase 探索
Code review100K-200K$0.30-1.00讀多寫少
Codebase exploration300K-800K$1-4Token 黑洞
Documentation200K-400K$0.50-2.00Output-heavy

Token 黑洞排行

  1. Refactor——agent 需要讀很多檔案,理解整體架構,然後做大量修改
  2. Codebase exploration——「幫我搞懂這個系統怎麼運作」類型的任務,agent 會讀幾十個檔案
  3. Long debugging sessions——一來一回的 debug loop,conversation history 指數增長

優化策略一:Context Pruning

回到 Context Engineering 的核心觀念:context 不是越多越好,剛好夠就行。

精簡 CLAUDE.md

每多一行 CLAUDE.md,就多花幾個 token 在每一輪對話裡。乘以 session 裡的對話輪數,成本累積驚人。

Before:400 行的 CLAUDE.md,每輪 ~4000 tokens × 30 輪 = 120,000 tokens 浪費在重複載入上

After:100 行的 CLAUDE.md,每輪 ~1000 tokens × 30 輪 = 30,000 tokens

光這一項就省了 90K tokens(約 $0.30/session)。看起來不多,但每天做 10 個 session,一個月就是 $90。

Session 管理紀律

黃金法則就一句:一個 session 做一件事。

一個 session 跑太久,conversation history 會指數膨脹。第 50 輪的對話要送入前面 49 輪的 history,那可能是 200K+ 的 input tokens。

改善做法

  • 一個 task 一個 session。task 做完就關,開新 session 做下一個。
  • 如果 task 需要多輪 iteration,中途做 checkpoint(更新 plan/TODO),然後開新 session 繼續。
  • 利用 Claude Code 的 context compaction,當 context 太大時它會自動壓縮舊的對話。但與其依賴自動壓縮,不如主動控制 session 長度。

Sub-Agent 模式

探索性的任務(「幫我搞懂這個模組的架構」)特別燒 token。解法是用 sub-agent:

主 agent: 「研究 auth 模組的架構」
  → 派出 sub-agent(cheap model、獨立 context)
  → sub-agent 讀 20 個檔案,消耗 200K tokens
  → 回報 2000 token 的摘要給主 agent

主 agent 的 context 只增加了 2000 tokens,而不是 200K。

優化策略二:Model Routing

不是所有任務都需要最貴的模型。

我的 Model 選擇框架

任務類型推薦 Model原因
簡單問答、分類Haiku快、便宜、準確度足夠
日常 coding、bug fixSonnet性價比最高
複雜架構決策Opus需要深度推理
Code reviewSonnet理解力夠、比 Opus 快
Commit messageSonnet/Haiku不需要 Opus 的推理能力
長篇寫作Opus需要一致性和深度
Codebase explorationSonnet + sub-agents用便宜的 model 做大量探索

實際省下多少?

以一天的典型工作量為例:

Before(全部用 Opus)

  • 10 個 tasks × 平均 300K tokens × Opus 價格 ≈ $15/天

After(model routing)

  • 2 個 complex tasks → Opus:600K tokens ≈ $4
  • 6 個 standard tasks → Sonnet:1.2M tokens ≈ $4
  • 2 個 simple tasks → Haiku:200K tokens ≈ $0.10
  • Total ≈ $8/天

同樣的工作量,成本掉了 47%,品質幾乎沒差。Sonnet 在日常 coding 任務上的表現跟 Opus 非常接近。

怎麼切換

在 Claude Code 裡,隨時可以用 /model sonnet/model opus 切換。我的 commit skill 裡就有提醒:做 git commit 用 Sonnet 就好,不需要 Opus。

優化策略三:Prompt Caching & Batching

Prompt Caching

Anthropic 的 prompt caching 機制讓相同的 system prompt 只需要在第一次完整傳送,後續的 request 可以使用 cache,大幅降低 input token 成本。

怎麼提高 cache hit rate

  • CLAUDE.md 保持穩定——頻繁修改 CLAUDE.md 會導致 cache miss
  • System prompt 放在 context 的最前面(cache 是 prefix-based 的)
  • 避免在 system-level context 裡放動態內容(timestamp、random ID 等)

Batching 策略

把相似的小任務合成一個 request:

Before(5 個獨立 request):

1. "修正 Button component 的 hover color"
2. "修正 Card component 的 border radius"
3. "修正 Input component 的 focus style"
4. "修正 Modal component 的 backdrop color"
5. "修正 Toast component 的 animation"

5 次 system prompt 載入 + 5 次 CLAUDE.md 載入 = 大量重複的 input tokens。

After(1 個 batch request):

修正以下 5 個 component 的 CSS 問題:
1. Button: hover color
2. Card: border radius
3. Input: focus style
4. Modal: backdrop color
5. Toast: animation

1 次 system prompt 載入 + 1 次 CLAUDE.md 載入。Token 節省 ~60%。

月度預算框架

Agentic engineering 合理的月成本是多少?取決於你的使用強度:

使用級別月成本誰適合
Light ($20-50)Pro 訂閱 + 少量 API兼職使用、學習階段
Medium ($50-150)Pro + 日常 API 使用全職 agent-first 開發
Heavy ($150-300)大量 API + multi-agent多專案、multi-agent 架構
Enterprise ($300+)Team 帳號 + 自建工具團隊級別使用

ROI 計算

$150/月的 agent 成本值不值得?算一下:

假設 agentic workflow 讓你每天省 2 小時(保守估計,根據 Post 7 的 4x 效率提升)。

  • 一個月工作 22 天 × 2 小時 = 44 小時
  • 以台灣軟體工程師平均時薪 $25 USD 計算:44 × $25 = $1,100
  • ROI:$1,100 / $150 = 7.3x

即使你用最貴的 Opus model 跑所有事情,只要它讓你省下的時間值超過 $300/月,就是值得的。

大部分 agent-first 工程師的 sweet spot 在 $100-200/月。這個範圍可以覆蓋每天 8-10 小時的 agent-first 工作方式,如果你做好 model routing 和 context management。

我具體做了什麼把帳單從 $287 降到 $148

  1. Session 拆分:從平均 45 分鐘/session 降到 20 分鐘/session。對話輪數從 30 降到 12。
  2. Model routing:70% 任務改用 Sonnet(之前 90% 用 Opus)。
  3. Sub-agent 探索:codebase exploration 任務全部丟給 sub-agent,主 context 不膨脹。
  4. CLAUDE.md 瘦身:從 400 行精簡到 100 行。任務特定的指令移到 rules files 和 skills。
  5. Batch 處理:小任務合併。一天 15 個 request 降到 8 個。

每一項單獨看都不是巨大的改變。但加在一起,就是 48% 的成本降低。

Takeaway

  1. Token 成本的最大殺手是不必要的 context 膨脹,不是使用量。Conversation history 佔了帳單的一半以上。控制 session 長度、精簡 CLAUDE.md、善用 sub-agent,這三招就能省 30-40%。

  2. Model routing 可以在不犧牲品質的前提下省 40-50% 成本。日常 coding 用 Sonnet,只有複雜架構決策才需要 Opus。Commit、simple Q&A 用 Haiku 就夠了。

  3. $100-200/月是大部分 agent-first 工程師的 sweet spot。這個成本對應的 ROI 通常在 5-10x。不要為了省 $50 犧牲工作流的效率,但也不要因為「反正有用」就不管成本地亂燒。


上一篇:Multi-Agent 編排實戰 下一篇:Agent 安全網設計

留言討論

esc
輸入關鍵字搜尋文章...
查看收藏 →