智能體 AI (Agentic AI) 的 Token 經濟學:如何拯救你的 API 帳單?
原始來源與檔名:2026-05-21T093521+0800-Agentic AI How to Save on Tokens.md
NAPKIN | 餐巾紙
餐巾紙公式
Agent Cost Optimization = Prompt Caching (Static K/V) + Semantic Caching (Dynamic Q&A) + Lazy-loading (Tool Search) + Context Compaction (State Pipeline)
公式說明:Agent 的花費往往會失控(一個未優化的 Agent 每日百次對話可能耗費上千美金)。降低成本不能只靠換便宜模型,必須從架構切入:利用 Prompt Caching 節省固定 System Prompt 成本、用語義快取阻擋重複問題、用 Lazy-loading 推遲工具載入,並建立嚴格的上下文狀態清理機制 (Context Compaction) 來防止對話垃圾堆積。
一句話
別讓你的 AI Agent 變成吃 Token 的怪獸!隨著 System Prompt 越來越龐大、載入的工具越來越多,每次 API 呼叫都在燃燒美金。這篇文章提供了四大實戰架構設計:理解 K/V Prefix Caching 來打九折、引入 Semantic Caching 處理高頻問題、不要一股腦把百個 MCP Tools 塞給模型(改用 Tool Search),以及最困難但也最有效的——設計「狀態管線 (State Pipeline)」定期清理不必要的對話廢氣。
餐巾紙草圖
[ Token Optimization Pipeline ]
1. Prefix Caching (The Quick Win)
[ Static System Rules & Examples ] --> K/V Cache (Pay once, 90% discount)
[ Dynamic User Query ] --> Recomputed
2. Lazy-loading Context
Instead of: Injecting 100 MCP Server definitions
Use: Tool Search (Agent queries BM25 -> loads specific tool schema)
3. Context Compaction (Garbage Collection)
Raw Agent Actions (Grep, logs, errors) --> Archive (Drop)
Synthesized State (Auth flow, bugs) --> Active Context (Keep)
ROUND 1: SKELETON | 骨架掃描
「這篇文章在說什麼」
- 核心問題: Agent 的 System Prompt 與工具定義很容易膨脹到數萬 Tokens(如 Claude Code 高達 2.4 萬),導致每次對話成本與延遲暴增。一個活躍的 Agent 每月 API 帳單可能高達數千美元。
- 核心答案: 降低成本有四大設計原則:1. 盡可能重複使用 Token(Prompt Caching 與 Semantic Caching);2. 延遲載入 (Lazy-loading) 不活躍的工具與 Token;3. 任務路由與降級 (使用便宜的小模型處理簡單任務);4. 保持上下文乾淨 (Context Compaction)。
- 論證結構: 提出成本痛點 -> 講解 K/V Caching 的底層原理與各家 API 規則 -> 解析 Semantic Caching 的陷阱與適用場景 -> 探討如何延遲載入 MCP 工具庫 -> 分析 Model Routing (路由) 與 Cascading (串聯) 的得失 -> 最後強調設計「狀態管線 (State Pipeline)」以清除上下文垃圾的重要性 -> 總結。
章節骨架
- 痛點: Agent 每動一次都要把巨量歷史紀錄丟給模型重新計算,成本驚人。
- 原則一:重複利用 Token (Caching)
- Prompt/Prefix Caching: 利用底層 K/V 向量快取。只要 Prefix 完全一致,API 供應商 (OpenAI/Anthropic) 會給予高達 90% 的折扣。秘訣是:把靜態規則放前面,變動對話放後面。
- Semantic Caching (語義快取): 利用 Embeddings 比對相似問題。適合高頻重複的 Q&A 機器人,但工程實作困難 (需處理 TTL、多輪對話、權限隔離)。
- 原則二:不要預載休眠的 Token (Lazy-loading)
- 不要在 System Prompt 塞入幾百個 Tool schema。
- 使用 Tool Search:讓 LLM 先搜尋需要的工具,才將該工具的 schema 動態注入 Context。
- 原則三:賤物賤用 (Model Routing & Cascading)
- Routing: 用小模型預判問題難度,再決定派給 GPT-4 或小模型。但實務上難以做到完美。
- Cascading: 先讓便宜模型回答,如果不確定 (信心度低),再交給貴的模型。
- Subagents: 將特定工作 (如單純的程式碼搜尋) 委派給專屬的便宜子代理 (如 Claude 的 Explore)。
- 原則四:清理上下文 (Context Compaction)
- 最困難的工程: Agent 會產生大量垃圾 (失敗的 Log、重複的 grep)。
- 建立 State Pipeline,丟棄原始輸出,只保留「提煉後的狀態 (Synthesized State)」。可節省 30-70% 空間,且能提升模型解題成功率。
ROUND 2: DISSECTION | 血肉解剖
「憑什麼這麼說」
論證鏈
LLM 的成本來自於 Token 數與運算次數。在 Agentic 架構中,模型必須反覆讀取越來越長的歷史狀態 (History),導致成本呈指數上升 --> 要打破這個循環,必須在不同層級介入:在「底層基礎設施」依賴 K/V Caching 減少重複運算;在「應用架構層」實作 Semantic Caching 與 Model Routing 阻擋不必要的呼叫;在「Prompt 工程層」實作 Lazy-loading 與 Context Compaction 壓縮 Payload 體積 --> 綜合這四種策略,可以將 Agent 的運營成本從每月千元美金,壓縮到合理的百元以內,並同時改善模型的注意力 (Attention) 與效能。
關鍵證據
- Prompt Caching 的嚴格前綴匹配 (Exact Prefix Match): 作者深入解釋了 K/V Tensors 的底層機制,指出 Cache Hit 的條件是「順序絕對不變」。只要 System Prompt 裡面不小心插了一個動態的時間戳記,整個 Cache 就會失效,這是許多開發者白燒錢的主因。
- Tool Search 的取捨: Anthropic 官方報告指出,當工具定義達到 55K-134K tokens 時,模型會選錯工具。Lazy-loading (先搜尋工具,再提供細節) 雖然會多花一個 Step 的 API 呼叫,但大幅減少了每一步 Payload 的基數,長期算下來還是省錢且更準確。
- Context Compaction 對效能的雙重好處: 根據 SWE-bench 的論文,將上下文壓縮 6 倍,不但減少了 51.8-71.3% 的 Token 預算,反而還提昇了 5.0-9.2% 的 Issue 解決率。這證明了「垃圾進、垃圾出 (GIGO)」的真理:塞太多廢話給模型,不僅費錢,還會讓它變笨。
隱形假設與邊界
- 隱形假設:
- 系統能夠準確地分辨哪些內容是「有用狀態 (Active Context)」,哪些是「垃圾排氣 (Exhaust)」。在 Context Compaction 階段,如果演算法錯誤地刪除了關鍵除錯線索,Agent 就會陷入死胡同。
- 邊界條件:
- Semantic Caching 僅適用於「問題具高度重複性」的場景 (如客服問答)。對於每次都在解決獨特 Bug 的 Coding Agent 來說,Semantic Caching 的命中率趨近於零,建置成本會遠大於節省的 API 費用。
ROUND 3: SOUL | 靈魂提取
「還能怎麼用」
- 知識連接:
- 這篇文章對 Context Compaction 的探討,直接呼應了《UIUC 論文探討 LLM 記憶壓縮導致的效能退化》。那篇論文指出「過度摘要會摧毀細節」,而本文則給出了解方:不要無腦摘要,而是建立「狀態管線 (State Pipeline)」,明確區分並丟棄純粹的廢氣 (如 grep 過程),但精確保留關鍵架構決策與未解決的 Bug,藉此達到無損壓縮。
- Lazy-loading MCP Tools 的觀念,完全契合了目前 Google Antigravity CLI 的動態子代理架構。
- 行動觸發: 立刻檢視你的 Agent System Prompt 架構。將所有的
<Dynamic Data>(如時間、使用者輸入、對話歷史) 嚴格移到 Prompt 的最底部,確保上半部所有的工具定義與核心人設 (Persona) 完全不動,以最大化觸發 API 供應商的 Prompt Caching 折扣!