01浪費的解剖學:九大來源
談優化之前要先分類浪費。這九項可歸為三個層次:輸入面(送了不該送的)、 表達面(同樣資訊用太多字)、決策面(架構與配置本身就在燒錢)。
A. 輸入面 — 送了不該送的
對話歷史的二次成長
LLM API 無狀態,每一輪都要重送完整歷史。第 1 則訊息只算 prompt(~250 tokens),第 30 則要算 prompt + 前 29 輪,約 232,000 tokens —— 處理成本約為第一則的 928 倍。這是所有浪費裡最容易被忽略、也最容易解決的一項。
Cockroach Labs:重送 context 可占 agent 推論帳單 62%工具/MCP schema 膨脹
Agent 每一個 turn 都要重送全部工具定義。GitHub 官方 MCP server 光 schema 就 42,000 tokens;疊 4–5 個 server 輕鬆破 60,000。在大型工具目錄下,schema 可占用 context window 的 40–50% —— 而且是在 agent 做任何有用的事之前就付掉。
40-tool MCP server ≈ 每 turn 10–15 KB schema檢索雜訊
未收斂的搜尋會把整份檔案、大段註解、共用關鍵字但語意無關的 log 一起拖進 context。模型不只付了錢,還因為雜訊而降低準確度(「LLM confusion」)。
OpenProvence:可剔除約 99% 離題句子B. 表達面 — 同樣資訊用太多字
未壓縮的工具輸出
Coding agent 最大的單一輸入來源:test
log、build output、git diff、shell
stdout。這些內容資訊密度極低但體積極大,且幾乎沒人過濾就直接灌進
context。
序列化格式冗長
JSON 對均勻物件陣列而言重複性極高(每列重送一次所有 key)。OpenAPI schema 為人類可讀而生,充滿空白與敘述。改用 TOON 這類 token 導向編碼可省 30–60%,高重複結構資料甚至 90–98%。同理,瀏覽器自動化用 accessibility tree 而非 raw HTML,可小 10–50 倍。
TOON vs JSON:30–60% ↓;a11y tree vs HTML:10–50× ↓贅語與過度推理
輸入端的鋪陳、避責語、常識複述;輸出端沒有長度約束的 CoT。研究顯示每個任務有其「內在最小 token 數」(Token Complexity),超出的部分是純浪費。
Chain of Draft:僅用 CoT 的 7.6% tokens;Concise CoT:縮短 48.7%C. 決策面 — 架構與配置本身在燒錢
沒開(或打壞)prompt cache
Cache read 只要 0.1× 基礎價。沒啟用等於白付 10 倍;更常見的是「以為開了但一直 miss」—— 把時間戳、隨機 ID 放在 prefix 就會全域失效。
ProjectDiscovery:cache hit rate 從 7% 拉到 84%(98 億 tokens)模型錯配
約
60–80%
的呼叫不需要旗艦模型:分類、抽取、格式轉換、簡單摘要用小模型幾乎無損。用
Opus 做
JSON.parse
等級的事是最貴的浪費。
Context rot(付更多錢買更差品質)
Transformer 的 n² 注意力使 context 愈長、注意力預算愈稀薄。Chroma 測試 18 個模型證實:在到達宣稱上限之前,準確度就開始下降;Databricks 觀察到 32K–64K 後明顯退化。塞滿 context 是雙輸。
Lost in the Middle;Context Rot;Context Length Alone Hurts
2026 特別注意 — tokenizer 換代:Claude Opus
4.7+、Sonnet 5、Fable 5 採用新 tokenizer,
相同文字會產生約 30% 更多 tokens。即使每 token 單價不變,實際帳單仍會上升。
做跨模型成本比較時務必用實際 token 計數(Anthropic
提供免費的
count_tokens 端點),而非字元數估算。
02技術總覽:Quick Wins 與分層地圖
| 策略 | 節省幅度 | 投入成本 | 適用層 |
|---|---|---|---|
| Prompt caching | 輸入 −90% | 加 cache header/重排 prompt | API/Agent |
| Token-efficient tool use | 輸出 −70% | 開一個 flag | Agent |
| Tool Search(工具按需載入) | 工具區 −85% | 改用 tool search 模式 | Agent |
| Batch API | −50% | 把非即時工作排隊 | API |
| Model routing | −60~95% | 依複雜度分流 | 全層 |
| Response caching | 重複命中 −100% | 加一層 cache | 全層 |
| Prompt compression | 5–20× | 導入 LLMLingua 類工具 | API/RAG |
疊加效應:估計 cache prefix(90%)+ 路由到便宜模型(60–95%)+ 批次(50%) + prompt 壓縮(5–20×)+ response cache(重複 100%),相對 naive baseline 可達 95–99% 總成本下降。但注意這些是乘法關係且互相重疊,不能單純相加 —— 見 §11 試算器。
依「離模型多遠」分層
Prompt/對話設計
指定輸出長度、bullet 取代段落、少樣本精簡、避免無謂 CoT。零基礎設施成本,人人可做。
Context engineering
Just-in-time 檢索、compaction、外部筆記、observation masking、分塊與重排。決定「什麼進得了 context」。
Tool/MCP 介面設計
Schema 瘦身、按需載入、server 端過濾與計算、分頁、programmatic tool calling。agentic 系統的最大槓桿。
Gateway/Router/Proxy
LiteLLM、Portkey、Bifrost、Helicone Gateway。集中做路由、快取、壓縮、預算攔截 —— 對組織與企業層是唯一能強制執行的位置。
KV cache/serving
vLLM PagedAttention、SGLang RadixAttention、LMCache、KVzip、speculative decoding。自架推論才碰得到,但影響單位成本最深。
03快取:最大也最便宜的槓桿
壓縮把 100 個 token 變成 40 個並損失資訊;快取把 100 個 token 變成 10 個等價成本且零損失。 優先序上,永遠先把快取做對,再談壓縮。
各家規格對照(2026-07)
| 供應商 | 折扣 | 最小可快取 | TTL | 備註 |
|---|---|---|---|---|
| Anthropic |
read 0.1× write 1.25× / 2× |
512(Opus 5/Fable 5) 1,024(Sonnet 5/Opus 4.8) 4,096(Opus 4.5/4.6) |
5m(預設) 1h(write 2×) |
最多 4 個 breakpoint;回看 20 blocks |
| OpenAI | 50%(GPT-5.6+ write 1.25×) | 1,024(自動) |
30m 起 舊模型 5–10m/可延長 24h |
GPT-5.6+ 支援顯式 breakpoint 與
prompt_cache_key
|
| Google Gemini | 90% | — | 隱式/顯式 | 可與 Batch 疊加 |
| DeepSeek | ~98% | 64-token 粒度 | 磁碟 KV cache | V4 Flash 命中 $0.0028/M vs 基礎 $0.14/M |
做對快取的四條規則
R1靜態在前、變動在後
快取是前綴精確比對。系統指令、工具定義、少樣本、長文件放最前面;使用者輸入、時間戳、session ID 放最後。順序錯了等於完全沒開。
R2認識失效的串聯
Anthropic 的階層是
tools → system → messages,變動向下串聯:
改一個工具定義 →
全部失效。所以工具目錄應該穩定,不要每次動態組裝。
R3用 1h TTL 換 agent 迴圈
寫入成本 2× 但存活 1 小時。長時間 agent session、批次評分、客服長對話都划算 —— 只要在 TTL 內命中 2 次以上就回本。
R4量測而非假設
檢查回應中的
cache_read_input_tokens /
cache_creation_input_tokens。
ProjectDiscovery 正是靠量測把命中率從 7% 拉到
84%。「以為有開」是最貴的假設。
批次評分範式:把 system prompt + 使用者檔案設計成前綴約 2,000 tokens。 要評 50 個項目時 = 1 次完整呼叫 + 49 次以 10% 成本執行 → 總節省約 88%。 再疊上 Batch API 的 50%,就是 repo 所說「cache + batch = 95% 節省」。
04Agentic 核心:工具層才是主戰場
2026 年 token 成本的重心已經從「prompt 怎麼寫」轉移到「工具介面怎麼設計」。 原因很單純:工具定義是常駐成本,每一個 turn 付一次;而工具輸出是變動成本,且體積不可控。
4.1 問題規模
| 症狀 | 量級 | 說明 |
|---|---|---|
| 單一 MCP server schema | 42,000 tokens | GitHub 官方 MCP server 的工具定義總量 |
| 疊加多個 server | 60,000+ tokens | 4–5 個 server 並存,多數工具當次任務根本用不到 |
| 占 context 比例 | 40–50% | 大型工具目錄下 schema 吃掉的 context window |
| 每 turn schema 體積 | 10–15 KB | 40-tool MCP server 在 agent 動作之前的固定開銷 |
附帶傷害不只錢:工具過載會讓模型的選擇準確度下降(MCP Tool Overload: Why More Tools Make Your Agent Worse)。 Anthropic 的判準很好用 —— 「如果人類工程師無法明確說出該用哪個工具,agent 更不可能做對」。
4.2 官方層級的解法
85% ↓Tool Search
不再前載全部工具定義,改為 agent 按需搜尋、按需載入。Anthropic 內測在 MCP 評測上保留 191,300 tokens 的 context,等於 85% 縮減。
70% ↓Token-Efficient Tool Use
精簡工具呼叫的輸出編碼,輸出 token 減少約 70%。repo 標註為「flip a flag」等級的投入 —— 投報比最高的一項。
38% ↓Programmatic Tool Calling
讓模型寫 Python 在容器內直接呼叫工具、先過濾再回傳,取代每次呼叫都繞經模型。75-tool 專案管理 agent 基準上計費輸入 token 降約 38%且準確度不變。
4.3 自建 MCP server 的十條準則
| # | 做法 | 效果 |
|---|---|---|
| 1 | Server 端就過濾欄位,只回 agent 真正需要的 | payload −80~90% |
| 2 | 排序/篩選/彙總在 server 端算完再回傳 | 計算 0 token |
| 3 | 壓縮工具描述、縮短參數名、拿掉冗餘選填欄位 | 每 request −30~60% |
| 4 |
預設小分頁(10–20 筆)+
has_more 旗標
|
按需再取 |
| 5 | session 內快取工具結果,用引用取代重新注入 | 避免重複灌入 |
| 6 | 結構化資料改用 TOON 等 token 導向編碼 | 高重複資料 −90~98% |
| 7 | 大回應先摘要(200 tokens)+ 提供 on-demand 全文 | 4,000 → 200 |
| 8 |
批次工具呼叫(get_users([ids]))
|
減少往返與推理步數 |
| 9 | 依 agent 步驟選擇性注入、剪除過期資料 | 15,000 → 3,000~5,000 |
| 10 | 去重複呼叫模式、正規化查詢 | 不需改動 server 架構 |
實務觀察:只要做到其中 3–4 項,通常就能砍掉 50–70% token 用量。
4.4 工具輸出壓縮:coding agent 的最大輸入源
在 Prompt Compression 區塊裡,有一整群工具是專為 agent 的 shell/工具輸出而生 —— 它們插在 agent 與 context 之間,攔截並壓縮後才放行:
| 工具 | 形態 | 效果 | 相容 |
|---|---|---|---|
| Headroom | library / proxy / MCP server | 60–95% ↓ | 工具輸出、log、檔案、RAG chunk |
| RTK | Rust 單一執行檔 CLI proxy | 60–90% ↓ | Claude Code、Cursor、Copilot、Gemini CLI |
| lean-ctx | Rust binary + 76-tool MCP server | 60–90% ↓ | shell 輸出壓縮 + 10 種快取讀取模式 |
| llmtrim | 品質閘控 proxy / MCP server |
輸入 −31% 輸出 −74% |
112 組 A/B 實測 |
| mcp-compressor | MCP proxy | schema 區大幅 ↓ | 先給壓縮後工具表,按需取完整 schema |
4.5 瀏覽器工具:同一件事,20 倍價差
repo 專闢一節做這個對照,是「工具選擇 = 成本決策」最直觀的例子:
| 方案 | 單頁輸出 | 效率 | 10 頁流程總量 |
|---|---|---|---|
| Anthropic WebFetch | ~1.5 KB(AI 摘要) | 20× 更好 | ~15 KB |
| Lightpanda | ~16 KB(raw markdown) | 2× 更好 | ~160 KB |
| Playwright MCP | ~10–33 KB(a11y tree) | baseline | ~330 KB |
| Agent Browser | ~28 KB(a11y tree) | 已停止維護 2026-05 | ~280 KB |
為什麼 accessibility tree 有效:它剝除視覺樣式,只留語意結構(name / role / state / value), 比 raw HTML 小 10–50 倍。但若任務只需要「頁面在講什麼」,AI 摘要式的 WebFetch 又再小一個數量級。 準則:先問需要語意還是需要互動 —— 需要點擊才用 Playwright,只是讀內容就用 WebFetch。
05Agentic 核心:Skills 與漸進揭露
Agent Skills 值得單獨一節,因為它本身就是一個 token 優化架構模式, 而不只是一個功能:把知識放在 context 之外,context 內只留索引。
三層漸進揭露(Progressive Disclosure)
Metadata — 永遠常駐 · ~100 tokens/skill
只有 name(≤64 字元)與
description(≤1,024 字元)進入
system prompt。
目的只是讓模型知道「什麼時候該去拿」,而不是「內容是什麼」。
SKILL.md 本文 — 觸發時載入 · 最高 ~5,000 tokens
模型判定此 skill 與當前任務相關時,才把完整指令載入 context。
Resources — 用到才讀 · 無上限
腳本、範本、參考文件。只有在 agent 執行到需要它的那一步,才進入 context。
量化效果:一個有 8 個 skills、10,000 行領域文件的專案, 啟動時只載入 500 tokens 而非 70,000 —— 140 倍的效率差。 核心心法是:agent 只為它真正用到的知識付費。
把這個模式一般化
漸進揭露不是 Anthropic 專屬設計,它是可移植到任何 agent 架構的通則:
-
索引 vs 內容:context
內只放輕量識別碼,執行期再取實體 —— 這正是 Anthropic
所說的 just-in-time retrieval。Claude Code 用
grep/bash查大型資料而不整包載入,是同一個模式。 - 對映到工具層:Tool Search 就是工具版的漸進揭露;mcp-compressor 是 proxy 版的漸進揭露。
- 對映到 RAG:先回摘要與 chunk id,需要細節再取全文(見 §4.3 第 7 條)。
- 反模式:把所有規範塞進 CLAUDE.md/AGENTS.md 常駐區。這些檔案每一輪都會重讀 —— 該放的是穩定、必要、精簡的規則,其餘應下放到 skills 或按需檔案。
Skills 的隱藏成本:metadata 是常駐且乘以數量的。裝 50 個 skills ≈ 5,000 tokens 永久占用, 且會稀釋模型的選擇準確度 —— 與 MCP tool overload 是同一個病。 定期審核已安裝但從未觸發的 skills 與 MCP server(token-optimizer 就把「結構性膨脹稽核」列為九大浪費面之一)。
06Agentic 核心:多 agent 的 context 增長
單 agent 的浪費是加法,多 agent 的浪費是乘法。這是目前最容易在無意間把帳單放大一個數量級的地方。
基準倍率
1×一般 chat
單輪問答,context 線性成長。
~4×單 agent
Anthropic 實測:agent 約用 chat 的 4 倍 tokens(工具往返、觀察結果、重試)。
~15×多 agent
Anthropic 的 Research 多 agent 系統約用 chat 的 15 倍 tokens。
倍率從哪裡來
- Context 複製:lead agent 要把任務描述、背景、約束複製給每一個 subagent。3–5 個 subagent 就是 3–5 份前綴。
- 結果回收:subagent 的產出要回灌 orchestrator,orchestrator 的 context 隨 subagent 數量單調成長。
- 協調輪次:規劃 → 派工 → 綜合 → 引用檢查,每一階段都是完整的 context 重送。
- 失控放大:subagent 遞迴 spawn 更多 subagent,或某個工具回傳超大結果 —— 可在 15× 之上再乘 10× 以上。
關鍵設計原則:Anthropic 的建議是 subagent 應「以乾淨 context 做聚焦探索,只回傳 1,000–2,000 tokens 的濃縮摘要」。 subagent 的價值不在於平行處理速度,而在於它燒掉的大量 context 不會污染主 agent —— 探索的成本被隔離在一次性的子上下文裡。違反這條(讓 subagent 回傳原始輸出)會讓多 agent 架構同時付出兩份代價。
控制多 agent 成本的五個手段
1 · 摘要契約
明訂 subagent 的回傳格式與 token 上限(1,000–2,000)。這是唯一能阻止乘法效應的硬約束。
2 · 遞迴深度上限
禁止或限制 subagent 再 spawn subagent。無界遞迴是 10× 意外帳單的頭號成因。
3 · Session-aware 路由
vLLM Semantic Router v0.3「Themis」的 session-aware 選擇讓模型切換減少 79%; SAAR 論文估計多 agent 部署成本降 78.7% —— 因為每次換模型都會打壞 KV/prefix cache。
4 · 分層模型配置
Orchestrator 用強模型,subagent 用小模型。多數 subagent 做的是檢索與抽取,不需要旗艦推理。 MTRouter 的多輪成本感知路由實測降 58.7%。
5 · 只在高價值場景用
15× 的乘數需要有東西吸收。適合法務盡調、競品情報、生醫文獻回顧; 不適合一般 Q&A —— 消費級場景撐不起這個倍率。
6 · Compaction 與外部筆記
長流程用 compaction(摘要歷史後重啟 context)+
結構化筆記(如
NOTES.md)承載跨重置的狀態, 避免
orchestrator context 無限膨脹。
07壓縮與 context 管理
Prompt 壓縮
| 工具/方法 | 壓縮率 | 特性 |
|---|---|---|
| LLMLingua | 最高 20× | 由粗到細迭代法;整合 LangChain/LlamaIndex |
| LLMLingua-2 | 3–6× 更快 | BERT 蒸餾(ACL 2024) |
| LongLLMLingua | 長 context 少 4× tokens | 針對長文件場景 |
| Selective Context | −50% | self-information 剪枝 |
| LongCodeZip | 最高 5.6× | 程式碼感知兩階段,無效能損失(ASE 2025) |
| TOON 編碼 | −30~60% | 均勻物件陣列上取代 JSON |
無損壓縮原則(可手動套用,零工具成本)
- 剔除:轉折語、避責語、修辭、常識複述
- 保留:數字、實體、決策、約束、風險
- 改寫:冗長段落 → 密集 bullet;以分號串接子句
- 切分:3,000–5,000 token 的自足段落
壓縮不是愈多愈好:2026 年的生產環境 RCT 顯示,中度壓縮帶來 −27.9% 成本, 而過度壓縮會反噬(品質下降導致重試,總成本反而上升)。 另一份大規模生產研究(30K queries)也指向同一結論。壓縮必須配品質閘控 —— 這正是 llmtrim 的設計動機。
Context 管理的研究底線
Context Rot
Chroma 測試 18 個模型:在達到宣稱上限之前召回準確度就開始下滑。「context window 有多大」不等於「能用多大」。
RAG vs Long Context
對許多查詢類型,RAG 比長 context 便宜 1,250 倍。兩者是互補而非取代(Self-Route 混合式路由)。
32K–64K 分水嶺
Databricks 觀察到超過此區間後品質明顯退化。這應該是實務上的 context 預算上限,而非模型規格上的數字。
Lost in the Middle
模型對 context 中段資訊的取用最弱 → 重要內容放頭尾,Anthropic 另建議文件置頂並用 XML tag 標記。
08路由與批次
Model Routing
約 80% 的呼叫不需要最貴的模型;AI agent 場景下約 60–70% 適合小模型。
| 框架 | 定位 | 效果/規模 |
|---|---|---|
| LiteLLM | SDK + proxy,100+ LLM | cost/latency/least-busy 路由 |
| Portkey Gateway | 開源 AI gateway | 1,600+ 模型 · guardrails · 快取 |
| Bifrost | 高效能 gateway | 宣稱比 LiteLLM 快 50× |
| vLLM Semantic Router | 語意訊號路由 | v0.3 模型切換 −79% |
| RouteLLM | LMSYS 偏好資料訓練 | 2×+ 成本下降 |
| LLMRouter | 16+ 路由策略 | 單輪/多輪/agentic/個人化 |
路由的反直覺發現:2026 的賽局理論分析(Routing, Cascades & User Choice)指出 最優路由通常是靜態的 —— 複雜的動態路由未必勝過一套設計良好的固定規則。 先用「任務類型 → 模型」的靜態表打底,量測之後再考慮上動態路由。
Batch API 與 Flex
- Anthropic:50% 折扣,單批最多 10,000 requests,24 小時內完成
- OpenAI:50% 折扣,單檔 50K requests;另有 Flex Processing —— 以較慢回應與偶發資源不可用換取更低價,適合模型評測、資料擴充等非生產工作
- Gemini:50% 折扣,且可與 context caching 疊加
OpenAI 官方 Cost Optimization 指南的五條主軸:減少請求數、降低 token 數、選用較小模型、Batch API、Flex Processing —— 與本報告的分層完全一致。
09網頁端/桌面版實戰技巧
沒有 API 存取權的使用者,能動的是「對話管理」與「工具選擇」—— 而這兩項的槓桿其實非常大。
通則:對話長度就是成本
如 §1 所述,第 30 則訊息的處理量約是第 1 則的 928 倍。所有網頁端技巧的本質都是同一件事: 不要讓無關的歷史繼續被重送。
Claude(網頁/桌面)
- 編輯而非追問:不滿意時改寫原訊息重送,而非再加一則 —— 避免把錯誤嘗試永久留在歷史裡
-
每 15–20 則開新對話,或用
/compact壓縮歷史 -
切換不相關任務時
/clear - 用 Projects 放重複檔案,不要每次重新附加
-
/model降級:例行任務用 Sonnet/Haiku - 避開尖峰:2026-03-26 起平日 5:00–11:00 PT 消耗 session 額度較快
ChatGPT(網頁/桌面)
- 長討論分主題開新 chat,不要一路累積
- 用 Custom Instructions 放穩定偏好,取代每次重述
- Memory 的行為與 Claude Projects 不同、範圍更受限 —— 重複檔案仍需明確管理
- 重度分析型任務評估是否值得改走 API(可用 Batch + caching)
Codex CLI
-
AGENTS.md放專案慣例與安全規則 —— 每輪重讀且能在 compaction 後存活,但也因此要精簡 -
model_auto_compact_token_limit:提早觸發自動壓縮,避免在品質已退化的區間硬撐 -
tool_output_token_limit = 12000:限制單次工具輸出存入的 token 上限,讀 log/大檔時特別有效 - 搭配 RTK 之類的 proxy 過濾 shell 輸出(社群已有整合提案)
輸出端控制(三平台通用)
- 明確指定長度是砍輸出 token 最快的一招(「三個 bullet 內」「不超過 200 字」)
- Bullet 式 prompt 比段落式更省,且模型理解更好
- 簡單任務明講「不需要逐步推理」—— 呼應 Chain of Draft 只用 7.6% CoT tokens 的發現
- 要程式碼就說「只給 diff/只給該函式」,別讓它重印整檔
Coding agent 的可觀測性:ccusage(14+ agents,離線不上傳) 與 agenttrace(本地 TUI,讀 Claude Code/Codex/Gemini/Aider/Cursor session) 可直接看到 tokens、成本、快取使用、重試次數。先量測再優化 —— 多數人對自己的浪費點的直覺是錯的。
10個人 · 組織 · 企業三層
同樣的技術,在不同層級的槓桿點與失敗模式完全不同。核心差異是:能不能強制執行。
L1個人
槓桿:習慣
- 對話衛生:勤開新 chat、編輯取代追問
- 指定輸出長度、bullet 式 prompt
- 裝 ccusage 看自己的實際用量
- 審核已裝的 MCP server/skills,砍掉沒用的
- 例行任務主動降級模型
失敗模式:用最強模型做所有事;一個對話開三個月。
L2團隊/組織
槓桿:共用基礎設施
- 統一走 gateway(LiteLLM/Portkey)—— 集中做路由、快取、量測
- 共用 prompt 模板庫,把靜態前綴標準化以最大化 cache 命中
- MCP server 內部規範(§4.3 十條)與 code review 檢查項
- 可觀測性:Langfuse/OpenLLMetry,按專案與 key 拆分
- Showback:讓各團隊看到自己的花費
失敗模式:每個團隊各自接 API,無法統一量測,也無法談判用量。
L3企業
槓桿:治理與強制
- Gateway 是唯一能在請求送出前攔截的位置 —— 可見性工具只能事後告訴你花超了
- Token budget 強制執行:per-team/per-key 上限與熔斷
- Chargeback(實際入帳)而非只有 showback
- 自架推論時的 KV cache 層優化(vLLM/SGLang/LMCache)
- FinOps 例行審查:月度 AI business review
- 供應商多元化 + 路由,降低單一定價風險
失敗模式:只有 dashboard 沒有 enforcement;成本歸在共用帳戶,沒人負責。
治理的核心區分:可見性工具告訴你花費上升了;強制工具讓它一開始就不會超過上限。 開源 gateway(LiteLLM、Portkey 開源版)適合作為量測與快速見效的起點; 商用平台補的是政策強制、合規追溯、資料血緣與歸因圖。 Showback 是多數組織的起點,chargeback 需要財務整合與內部計價協議。
企業級成效實例
| 組織/來源 | 做法 | 成效 |
|---|---|---|
| ProjectDiscovery | 系統性提升 cache 命中率(98 億 cached tokens) | 7% → 84% |
| GitHub |
剪除未用的 MCP 工具 schema、以
gh CLI 取代部分工具呼叫
|
agentic CI 支出 −43~62% |
| Cockroach Labs | 針對重送 context(占帳單 62%)做緩解 | 結構性成本重分配 |
| Redis | 語意快取 | −73% |
| Together AI | 壓縮 KV 佈局 | 單節點 1.2M → 3.7M tokens |
| token-optimizer(個人實測) | 684 sessions/30 天;壓縮 + 模型路由 + compaction 存活 |
計量節省 ~$313/月 整體 ~18% 降幅 |
11成本試算器
把 §02 的技術疊加成一個可調模型。注意:這些技術作用在不同的成本分量上, 所以是乘法疊加而非相加 —— 直接把「90% + 50% + 60%」加起來會得到荒謬的 200%。
官方數據 標記者為供應商文件或官方 benchmark 的數值,故固定;其餘皆為情境假設,請依自身 workload 調整。
各優化作用在不同的成本分量上,故以乘法逐層套用而非相加。完整推導見原始碼的
computeCost();預設值採本報告引用的保守端數值。
為什麼算不出 99%:repo 引用的 95–99% 是相對於「完全沒優化的 naive baseline」, 且假設各項技術的適用比例都在理想值。真實系統中,快取與壓縮爭奪同一批輸入 token(壓縮過的內容變短,快取的絕對節省也變小), 路由與批次則受限於任務性質。把 60–80% 當作務實目標比較健康。
12工具地圖
可觀測性與成本追蹤
| 工具 | 用途 | 狀態 |
|---|---|---|
| Langfuse | 開源 LLM 可觀測性 + 成本追蹤 | ClickHouse 收購(2026-01),MIT,持續開發 |
| ccusage | 14+ coding agent 的本地 token/成本 CLI | 離線,不上傳 |
| agenttrace | 本地 TUI,讀 agent session 看 tokens/cache/重試 | local-first |
| OpenLLMetry | OpenTelemetry 式 GenAI 遙測 | 標準化整合 |
| LiteLLM Spend Tracking | per-key/per-team 花費與預算路由 | — |
| tokencost | 400+ LLM 的 USD 成本估算 | — |
| Anthropic Token Counter | 免費 pre-flight token 計數端點 | 官方 |
| Helicone | LLM 可觀測性,300+ 模型,SOC 2 | ⚠ Mintlify 收購(2026-03),僅維護模式 |
Coding agent 專用
| 工具 | 做什麼 | 效果 |
|---|---|---|
| token-optimizer | Claude Code plugin:hook 攔截檔案讀取與 bash 輸出,壓縮後入 context,原文歸檔到磁碟;雙 SQLite 記錄;compaction 前 checkpoint、之後還原 |
pytest 輸出 564→115 tokens 整體 ~18% |
| RTK | Rust CLI proxy 過濾 dev 指令輸出 | 60–90% ↓ |
| lean-ctx | context 智慧層 + 76-tool MCP server | 60–90% ↓ |
| Headroom | 壓縮工具輸出/log/檔案/RAG chunk | 60–95% ↓ |
| mcp-compressor | MCP proxy:先給壓縮工具表,按需取完整 schema | schema 區大幅 ↓ |
token-optimizer 的方法論值得借鏡:它把節省拆成兩層公開 —— 「計量節省」(逐事件量測、有收據,約 $313/月)與 「大局估算」(相對凍結 baseline 的反事實模型,約 $1,877/月)。 並明確把無法觀測的項目(如「精簡輸出提示」估 10–15%)排除在計量之外。 做內部 ROI 報告時建議照抄這個分層 —— 混用兩者是 AI 成本報告最常見的可信度殺手。
13學術研究精選
從 Wei 的論文清單中,挑出對工程決策最有指導性的幾組。
Prompt 壓縮
| 論文 | 年份 | 關鍵發現 |
|---|---|---|
| LLMLingua | 2023 | 由粗到細迭代壓縮,最高 20×(EMNLP) |
| LongCodeZip | 2025 | 程式碼感知兩階段,最高 5.6× 且無效能損失(ASE) |
| LoPace | 2026 | 無損壓縮,節省 72.2% |
| Telegraph English | 2026 | 符號式改寫,約 −50% 且保持 99.1% 準確度 |
| Production Compression RCT | 2026 | 中度壓縮 −27.9% 成本;過度壓縮會反噬 |
| Prompt Compression in the Wild | 2026 | 首個大規模生產研究(30K queries) |
路由與級聯
| 論文 | 年份 | 關鍵發現 |
|---|---|---|
| FrugalGPT | 2023 | 級聯的奠基之作,最高 98% 成本下降 |
| Hybrid LLM | 2024 | 對大模型的呼叫減少 40% |
| MTRouter | 2026 | 成本感知多輪路由,−58.7%(ACL 2026) |
| Routing, Cascades & User Choice | 2026 | 賽局分析:最優路由通常是靜態的 |
Context 與推理長度
| 論文 | 年份 | 關鍵發現 |
|---|---|---|
| Lost in the Middle | 2023 | 模型對 context 中段資訊取用最弱 |
| Context Rot | 2025 | 在到達 context 上限前品質即開始退化(18 模型) |
| Context Length Alone Hurts | 2025 | 輸入長度本身就會降低表現 |
| Token Complexity | — | 每個任務有其內在最小 token 數 |
| Chain of Draft | 2025 | 僅用 CoT 的 7.6% tokens |
| Concise Chain-of-Thought | 2024 | 縮短 48.7%,品質損失可忽略 |
| CROP | 2026 | 長度正則化自動 prompt 最佳化,約 −80.6% |
KV cache 與服務層(自架推論相關)
- PagedAttention(vLLM, 2023):近乎零 KV cache 浪費
- RadixAttention(SGLang, 2023):自動 KV cache 重用
- KVzip(NeurIPS 2025 Oral):查詢無關的 KV 驅逐,記憶體 −3~4×、延遲 −2×
- LMCache(2025):跨 GPU/CPU/磁碟/網路的 KV cache,吞吐最高 15×
- TurboQuant(Google, ICLR 2026):KV cache 壓縮 5×
- Mooncake:Moonshot AI Kimi 平台的分散式 KVCache 引擎,跨實例前綴重用
宏觀趨勢:Epoch AI 的資料顯示推論價格約每兩個月減半。 這對優化策略的含意是:投資在架構性的優化(快取設計、工具介面、context 紀律)比投資在極端壓縮更划算 —— 前者的收益隨用量成長,後者的絕對收益會被降價稀釋,而複雜度成本會留下來。
14落地路線圖
依「投入 → 回報」排序的執行順序。前兩週應該就能拿到大部分收益。
量測 · 零風險
裝 ccusage/agenttrace(個人)或 Langfuse/LiteLLM proxy(團隊)。 找出:cache 命中率、tool schema 占比、最貴的前 5 個呼叫路徑、重試率。 在有數字之前不要做任何優化 —— 直覺通常會指錯地方。
Quick wins · 高回報低風險
① 開 prompt caching 並重排 prompt(靜態在前);② 開 token-efficient tool use(一個 flag,輸出 −70%); ③ 稽核並移除未使用的 MCP server 與 skills;④ 非即時工作改走 Batch API。
工具層改造 · agentic 主戰場
導入 Tool Search(工具區 −85%);自建 MCP server 套用 §4.3 十條; 評估 programmatic tool calling;在 agent 與 context 之間插入輸出壓縮 proxy(RTK/Headroom)。
路由與 context 紀律
建立靜態的「任務類型 → 模型」對照表(先靜態、量測後再考慮動態); 設定 compaction 閾值與工具輸出上限;為多 agent 訂定摘要契約(1,000–2,000 tokens)與遞迴深度上限。
治理 · 只有組織/企業層需要
Gateway 上強制 per-team token budget 與熔斷;showback → chargeback; 月度 FinOps 審查;若自架推論,進場做 KV cache 層優化。
三條貫穿全篇的原則:
① 先量測,再優化。ProjectDiscovery 的 7%→84% 不是因為換了技術,是因為終於開始看數字。
② 先快取,再壓縮。快取零資訊損失且折扣更大;壓縮有品質風險且過度會反噬。
③ 架構優於技巧。推論價格每兩個月減半,但錯誤的工具介面與 context 紀律會一直跟著你。
15參考來源
以下逐條列出本報告實際引用到的每一筆資料。標示 A 者為 Wei Ting's Research Vault 所收錄之內容,破折號後註明它在本報告中支撐哪一個論點。
官方文件 — 快取(§03)
-
A
Anthropic — Prompt Caching
— 取用:write 1.25×/2×、read 0.1×、各模型最小可快取
token 數、最多 4 個 breakpoint、20 blocks
回看視窗、
tools→system→messages失效串聯 - A Anthropic — Prompt Caching 發布公告
- A Anthropic — Token-Saving Updates
-
A
OpenAI — Prompt Caching
— 取用:1,024 token 自動門檻、GPT-5.6+ write
1.25×、30 分鐘
TTL、
prompt_cache_key、顯式 breakpoint - A OpenAI — Prompt Caching Cookbook
- A Google Gemini — Context Caching — 取用:90% 折扣、隱式與顯式快取
- A DeepSeek — KV Cache/磁碟式 Context Caching — 取用:64-token 粒度、V4 Flash 命中 $0.0028/M vs 基礎 $0.14/M
- A autocache — Anthropic 透明 proxy,自動注入 cache breakpoint;宣稱成本 −90%、延遲 −85%
官方文件 — Batch 與 Flex(§08)
- A Anthropic — Message Batches API — 取用:50% 折扣、最多 10,000 requests、24 小時周轉
- A OpenAI — Batch API/FAQ — 取用:50% 折扣、單檔 50K requests
- A Google Gemini — Batch API — 取用:50% 折扣且可與 context caching 疊加
-
A
Curator
— 批次推論/合成資料函式庫;
batch=True於 OpenAI/Anthropic/Gemini/Mistral 上約省 50%
官方文件 — Agent、工具與 Skills(§04–§06 主要依據)
- A Anthropic — Advanced Tool Use / Tool Search — 取用:85% token 縮減、內測保留 191,300 tokens context(§04.2)
- A Anthropic — Token-Efficient Tool Use — 取用:輸出 token −70%、屬「flip a flag」等級投入(§02、§04.2)
- Anthropic — Programmatic Tool Calling — 取用:模型寫 Python 在容器內呼叫工具、先過濾再回傳;75-tool 基準上計費輸入 −38% 且準確度不變(§04.2)
- Anthropic — Agent Skills 總覽 — 取用:三層漸進揭露架構(§05)
- Anthropic — Skill 撰寫最佳實務 — 取用:name ≤64 字元、description ≤1,024 字元、metadata ~100 tokens/skill、SKILL.md 上限 ~5,000 tokens(§05)
- A Anthropic — Effective Context Engineering for AI Agents — 取用:n² 注意力預算、just-in-time 檢索、compaction、結構化筆記、subagent 回傳 1,000–2,000 tokens、工具設計判準(§05、§06、§07)
- A Anthropic — Effective Harnesses for Long-Running Agents
- A Anthropic — Long Context Tips — 取用:文件置頂、以 XML tag 標記(§07)
- A Anthropic — Context Windows
- A Anthropic — Token Counting 端點 — 取用:tokenizer 換代後應以實際計數取代字元估算(§01 警語)
Agentic/MCP/多 agent(§04、§05、§06)
- MindStudio — 10 MCP Optimization Techniques — §4.3「自建 MCP server 十條準則」的完整來源,含各項數值與「做 3–4 項即降 50–70%」
- MCP Tool Overload: Why More Tools Make Your Agent Worse — 取用:GitHub 官方 MCP server 42,000 tokens、4–5 server 破 60,000、schema 占 context 40–50%、工具過載降低選擇準確度(§01 A2、§04.1)
- Token-Efficient Tool Calling: Auth Overhead in Agent Context — 取用:40-tool server 每 turn 10–15 KB schema、OpenAPI 格式對 LLM 過於冗長(§01 A2、§04.1)
- Milvus — Why AI Agents Burn Through Tokens — 取用:未收斂檢索的雜訊與「LLM confusion」(§01 A3)
- Multi-agent AI costs 15× more, and almost nobody routes it — 取用:agent ≈4× chat、multi-agent ≈15×、失控 spawn 再乘 10×、僅高價值場景可吸收此倍率(§06)
- Augment Code — Multi-Agent Cost Compounding — 取用:context 複製與協調輪次構成的乘法結構(§06)
- Augment Code — AI Agent Loop Token Costs — 取用:agent 迴圈中 context 約束的設計手段(§06)
- How Anthropic Built a Multi-Agent Research System — 取用:orchestrator-worker 架構、3–5 個平行 subagent、獨立 citation pass(§06)
- Agent Skills: Progressive Disclosure as a System Design Pattern — 取用:8 skills + 10,000 行文件 → 啟動僅載入 500 tokens 而非 70,000(140× 差距,§05)
- A mcp-compressor — MCP proxy:先呈現壓縮後的工具表、按需取完整 schema(§04.4、§05 漸進揭露的 proxy 版)
工具輸出與 prompt 壓縮(§04.4、§07)
- A Headroom — 壓縮工具輸出/log/檔案/RAG chunk,60–95%;library/proxy/MCP server 三種形態
- A RTK — Rust 單一執行檔 CLI proxy,壓縮 dev 指令輸出 60–90%;相容 Claude Code/Cursor/Copilot/Gemini CLI
- A lean-ctx — Rust context 智慧層;shell 輸出壓縮 60–90% + 10 種快取讀取模式 + 76-tool MCP server
- A llmtrim — 品質閘控 proxy/MCP server;112 組 A/B 實測輸入 −31%、輸出 −74%(§07「壓縮須配品質閘控」的依據)
- A TOON — Token-Oriented Object Notation;均勻物件陣列上比 JSON 少 30–60% tokens(§01 B2、§04.3 第 6 條)
- A OpenProvence — 開源 reranker-pruner;剔除約 99% 離題句子、壓縮 80–90% 相關 RAG 文本(§01 A3)
- A code2prompt — codebase 轉 LLM prompt,附 token 計數
- A tiktoken — OpenAI BPE tokenizer(Python/Rust),快 3–6×
路由與 gateway(§08、§10)
- A LiteLLM — 100+ LLM 的 SDK + proxy;cost/latency/least-busy 路由策略
- A LiteLLM — Spend Tracking — per-key/per-team 花費追蹤與預算路由(§10 組織層)
- A Portkey AI Gateway — 1,600+ 模型、guardrails、快取、負載平衡;2026-05 被收購但維持 Apache 2.0 開源
- A Bifrost — 宣稱比 LiteLLM 快 50×;1,000+ 模型的自適應負載平衡
- A vLLM Semantic Router — 系統級語意訊號路由
- A vLLM — Session-Aware Agentic Routing (SAAR) — 取用:模型切換 −79%、多 agent 部署估計成本 −78.7%(§06 手段 3)
- A RouteLLM — LMSYS 以偏好資料訓練的開源 router(最後提交 2024-08)
- A LLMRouter — 16+ 路由策略(單輪/多輪/agentic/個人化)與統一 CLI
瀏覽器工具效率(§04.5)
- A Anthropic WebFetch Tool — ~1.5 KB AI 摘要輸出,效率 20×
- A Playwright MCP — ~10–33 KB accessibility tree,效率基準線
- A Lightpanda — ~16 KB raw markdown,效率 2×
- A Agent Browser — ~28 KB accessibility tree;2026-05 起停止維護
- A WebFetch vs WebSearch 分析 — 10 頁流程 ~15 KB vs ~330 KB 的來源
- A browser-use — AI 瀏覽器 agent 的基礎函式庫
可觀測性與成本追蹤(§12、§14 第 1 週)
- A Langfuse — 開源 LLM 可觀測性 + 成本追蹤;ClickHouse 收購(2026-01),MIT 授權、持續開發
- A ccusage — 14+ coding agent 的本地 token/成本 CLI;離線、不上傳
- A agenttrace — 本地 TUI,讀 Claude Code/Codex/Gemini/Aider/Cursor session,顯示 tokens/成本/快取使用/重試/延遲
- A OpenLLMetry — OpenTelemetry 式 GenAI 可觀測性,per-call token 與延遲遙測
- A tokencost — 400+ LLM 的 USD 成本估算
- A AgentOps — agent 監控與 LLM 成本追蹤
- A Future AGI traceAI — 跨 35+ 框架的 OpenTelemetry 追蹤
- A MLflow — 3.x 版含 GenAI 可觀測性與 per-span token 追蹤
- A Helicone/Helicone AI Gateway — ⚠ 2026-03 被 Mintlify 收購,轉為僅維護模式
論文 — Prompt 壓縮(§07、§13)
- A LLMLingua(2023)— 由粗到細迭代壓縮,最高 20×(EMNLP)
- A LLMLingua-2(2024)— BERT 蒸餾,快 3–6×(ACL)
- A LongLLMLingua(2023)— 長 context 下少 4× tokens
- A Selective Context(2023)— self-information 剪枝,−50%
- A LongCodeZip(2025)— 程式碼感知兩階段,最高 5.6× 且無效能損失(ASE 2025)
- A LoPace(2026)— 無損壓縮,節省 72.2%
- A Telegraph English(2026)— 符號式改寫,約 −50% 且維持 99.1% 準確度
- A Production Compression RCT(2026)— 中度壓縮 −27.9% 成本、過度壓縮反噬(§07 警語的核心依據)
- A Prompt Compression in the Wild(2026)— 首個大規模生產研究,30K queries
論文 — 路由與級聯(§08、§13)
- A FrugalGPT(2023)— 級聯奠基之作,最高 98% 成本下降(§01 C2)
- A RouteLLM(2024)— 2×+ 成本下降且無品質損失
- A Hybrid LLM(2024)— 對大模型的呼叫減少 40%
- A MTRouter(2026)— 成本感知多輪路由,−58.7%(ACL 2026;§06 手段 4)
- A Routing, Cascades & User Choice(2026)— 賽局分析:最優路由通常是靜態的(§08 反直覺發現)
論文 — Context 與推理長度(§01 C3、§07、§13)
- A Lost in the Middle(2023)— 模型對 context 中段資訊取用最弱
- A Context Rot(Chroma, 2025)— 18 個模型實測,在達到宣稱上限前準確度即開始下滑
- A Long Context RAG Performance(Databricks)— 32K–64K tokens 後明顯退化
- A RAG vs Long Context — 對許多查詢類型,RAG 便宜 1,250×
- A Token Complexity — 每個任務有其內在最小 token 數(§01 B3)
- A Chain of Draft(2025)— 僅用 CoT 的 7.6% tokens
- A Concise Chain-of-Thought(2024)— 縮短 48.7%,品質損失可忽略
- A CROP(2026)— 長度正則化的自動 prompt 最佳化,輸出約 −80.6%
論文與工具 — KV cache/服務層(§13、§10 企業層)
- A PagedAttention(vLLM, 2023)— 近乎零 KV cache 浪費
- A RadixAttention(SGLang, 2023)— 自動 KV cache 重用
- A KVzip(NeurIPS 2025 Oral)— 查詢無關的 KV 驅逐;記憶體 −3~4×、延遲 −2×
- A LMCache(2025)— 跨 GPU/CPU/磁碟/網路的 KV cache,吞吐最高 15×
- A TurboQuant(Google, ICLR 2026)— KV cache 壓縮 5×
- A Mooncake — Moonshot AI Kimi 平台的分散式 KVCache 引擎,跨實例前綴重用
工程實例與產業指南(§10、§13、§14)
- A ProjectDiscovery — How We Cut LLM Cost with Prompt Caching — 快取命中率 7%→84%,98 億 cached tokens(§03 R4、§14 原則①)
- A Cockroach Labs — Agentic AI Costs at Scale — 重送 context 可占 agent 推論帳單 62%(§01 A1、首頁數據)
-
A
GitHub — Improving Token Efficiency in Agentic
Workflows
— 剪除未用的 MCP 工具 schema + 改用
ghCLI,agentic CI 支出 −43~62%(§10) - A Redis — LLM Token Optimization — 語意快取約 −73%(§10)
- A Together AI — Serving DeepSeek V4 — 壓縮 KV 佈局使單節點容量 1.2M→3.7M tokens(§10)
- A Zilliz — Semantic Highlight for RAG — 70–80% token 縮減
- A Epoch AI — LLM Inference Price Trends — 推論價格約每兩個月減半(§13 宏觀趨勢、§14 原則③、§15 時效性聲明)
- A Premai — 8 Strategies to Cut API Spend 80% (2026)
- A The Impact of Prompt Bloat on LLM Output Quality — 冗長本身導致品質下降(§01 B3)
- A PromptingGuide — Optimizing Prompts — 壓縮/抽象/過濾策略
- A Pinecone — Chunking Strategies/A Galileo — Advanced Chunking Techniques — §07 分塊策略
- A JetBrains — Efficient Context Management — observation masking vs summarization(§07)
客戶端與 coding agent(§09)
- Context Compaction Deep Dive: Codex CLI / Claude Code / OpenCode — 取用:Codex 於呼叫前修剪過長 function call 歷史、呼叫後過濾結果並重算 token
-
Codex CLI Performance Optimisation: Token
Overhead & Tuning Tactics
—
取用:
model_auto_compact_token_limit、tool_output_token_limit = 12000 - 7 Strategies to Reduce Codex CLI Token Usage — 取用:AGENTS.md 每輪重讀且能在 compaction 後存活,因此須精簡
- openai/codex #19001 — 將 RTK 整合進 Codex CLI — §09 提及的社群整合提案(shell 輸出過濾 60–90%)
- Save Claude Tokens: 16 Tactics for Chat, Code & Cowork — 取用:編輯取代追問、每 15–20 則開新對話、Projects 放重複檔案
- How to Save Claude Tokens and Stop Hitting Usage Limits — 取用:第 30 則訊息約 232,000 tokens/成本約 928× 的推算(§01 A1、§09)
- Token Optimization and Cost Management for ChatGPT & Claude — 取用:兩平台差異、Custom Instructions 與 Memory 的定位對比
- 19 Proven Token-Saving Habits for Claude (2026) — 取用:bullet 式 prompt 較省且模型理解更佳、離峰時段建議(2026-03-26 起平日 5–11 AM PT)
企業治理(§10)
- Kong — LLM Cost Management: AI Showback and Chargeback — 取用:showback vs chargeback 的定義與導入順序
- Token Budgets: Setting and Enforcing LLM Spending Limits Per Team — 取用:團隊層級預算問責是最可靠的抑制浪費手段
- 5 Enterprise AI Gateways for LLM Cost Control in 2026 — 取用:gateway 是唯一能在請求送出前攔截的位置(§10 核心區分)
- Atlan — LLM Cost Management for Enterprise (2026) — 取用:開源 gateway 起步 vs 商用平台治理深度的差異
- 5 Tools for LLM Cost Controls in Enterprises
Wei Ting's Research Vault 收錄、本報告提及但未展開
- A LLM Safe Haven — AI coding agent 安全工具箱;關聯理由:安全失敗導致的 agent 重試會浪費 tokens
- A Same Task, More Tokens / Context Length Alone Hurts — 輸入長度本身即降低表現(§07)
資料時效性聲明:本報告的價格、模型規格、工具維護狀態擷取自 2026 年 7 月的公開資料。 LLM 定價變動極快(Epoch AI 觀察到推論價格約每兩個月減半), 工具生態的併購與棄置也頻繁(Helicone、Portkey、NotDiamond、Agent Browser 在 2026 上半年皆有變動)。 第三方宣稱的節省幅度多為廠商自述,落地前建議以自身 workload 做 A/B 驗證。