AI 代理人的 token 費用要怎麼節省呢?
一種方法是善用提示快取。提示快取的機制是,把前一次查詢中開頭相同的部分先保存在提供方的伺服器上,之後再以較低成本讀取。以 Claude Sonnet 5.5 來說,從快取讀取的部分費用通常是一般輸入的 0.05 倍(什麼是提示快取)。
那麼,要怎麼才能善用快取呢?其中一種手段就是 compact。compact(上下文壓縮)是把到目前為止的對話歷史,替換成 AI 撰寫的摘要,並繼續同一段對話的功能。這樣每一輪送出的歷史會變短,放進快取的量也會變少。不過,視用法而定,費用反而會增加。IT 連結地圖編輯部在 Claude Code 上測試時,費用有時會減少 57%,有時卻會增加到 2.75 倍。
完整資料、測量方式,以及各產品條件,已整理在 IT 連結地圖的指南「什麼是 compact」中。
能省錢的情況,是在作業告一段落,且在中斷時間長於快取保存時間(Claude Code 訂閱版約 1 小時)之前先 compact 時。
上圖是把約 5.4 萬 token 的對話在相隔 65 分鐘後重新開始時的費用,按費用區分拆開來看。前一輪相同的部分會從快取讀取,費用是一般輸入的 0.05 倍;新的部分則會寫入快取,費用是一般輸入的 2 倍。這 40 倍的差距,造成了費用的差異。
也就是說,compact 發揮作用的情況是,能把長篇歷史重新寫入快取,改成寫入較短的摘要。各段數字可參考指南中的「不同時機的費用內含」。
為了精確理解,再補充兩點:
那麼,頻繁 compact 會不會更便宜呢?
在不中斷地持續作業時 compact,費用會增加。將同一段對話不中斷持續 10 輪,並只改變 /compact 次數時,哪怕只是在作業分段時 compact 1 次,費用也會 增加 22%;若每輪都 compact,則會變成 2.75 倍。
每輪都 compact 時,第 10 輪送出的量雖然變成 1/3,但費用卻變成 2.75 倍。增加的 $0.428 內含為:寫入快取 +$0.198、摘要本文輸出 +$0.161、不使用快取的輸入 +$0.088。從快取讀取的費用只減少了 $0.019。
原因如第 1 節的費用前提所示。作業持續進行時,歷史會以快取中輸入的 0.05 倍讀取,因此即使減少送出的量,費用也幾乎不會下降。相反地,每 compact 一次,就會以輸出費用($10/1M token)產生摘要本文,並在下一輪把該摘要以快取輸入 2 倍的費用重新寫入快取。所有不同次數測量的完整數字,可見指南「改變次數的測量數字」。那麼,究竟什麼時候該用 compact 呢?
Context 的 used(對話大小)如果 compact 之後比較省錢,則在回本之前(試算)compact 的費用(試算)每 1 輪可省下的金額(試算)5%(5 萬 token)若之後還會繼續 20 輪以上19.1 輪$0.0594$0.003110%(10 萬 token)若之後還會繼續 8 輪以上7.9 輪$0.0644$0.008125%(25 萬 token)若之後還會繼續 4 輪以上3.4 輪$0.0794$0.023150%(50 萬 token)若之後還會繼續 3 輪以上2.2 輪$0.1044$0.048175%(75 萬 token)若之後還會繼續 2 輪以上1.8 輪$0.1294$0.0731- 試算前提(測得值):約 5.4 萬 token 的對話做 1 次 /compact —— 除了從快取讀取歷史之外,還有固定費用 $0.0242(例如摘要本文輸出 1,875 token)・下一輪寫入快取 $0.0302・摘要後的 1 次輸入 18,891 token。大型對話的摘要也會更長,因此輪數可能比這裡更多
使用 compact 的時機,是在作業告一段落、準備中斷超過 1 小時之前,以及 Context 的 used 很大、而且之後還會繼續同一項工作時。後者的目安如上表第 2 欄所示。例如 used 為 75% 時,若之後還會繼續 2 輪以上,compact 會比較省;如果只剩 1 輪就完成作業,不 compact 反而更省(試算)。
used 是指 Claude Code 的 Context 欄位中,佔 上下文視窗(1M token)的使用比例。當不中斷地持續作業時,compact 的費用(摘要呼叫與摘要寫入快取)可由之後各輪讀取量減少的部分補回。used 越大,每 1 輪可省下的金額越多,因此回本越快。上表是根據測得值計算出的試算。
情況compact 要不要做作業告一段落,且會中斷超過 1 小時要做。趁快取消失前先摘要,重新開始時的費用可減少 57%**used 達 25% 以上,且之後會繼續同一項工作 4 輪以上在作業分段時做 1 次。若 used 為 75%,則 2 輪以上就能回本(試算)。也能避免自動 compact 在作業中途發生只剩 1 輪就結束作業不要做。表中的任何 used 值都要 1.8 輪以上才回本(試算)used 在 10% 以下,且還會繼續同一項工作不要做。回本需 7.9〜19.1 輪(試算)。每輪 compact 會變成 2.75 倍**作業結束,要開始另一項工作與其 compact,不如用 /clear 或開新對話。前一項工作的歷史對下一項工作不需要剛開始作業不要做。還沒有可摘要的歷史試算是根據約 5.4 萬 token 對話的 1 次 compact(摘要本文輸出 1,875 token、摘要後的 1 次輸入 18,891 token)而來。大型對話的摘要也會更長,因此實際輪數可能比這裡更多。試算公式收錄在指南的「回本所需輪數的試算」中。即使不用手動輸入,Claude Code 也可能自動 compact。
自動 compact 發生時機停止方式・變更方式接近上限時當對話接近上下文視窗上限時。具有 1M token 上下文視窗的模型(例如 Claude Sonnet 5.5)約在 967K token 時會自動 compact。可透過 /config 的 Auto-compact("autoCompactEnabled": false)停止,或用 /autocompact 500k 之類的方式提前(100K〜1M)中斷作業期間終端機開著、距離最後一次查詢約 54 分鐘,且電腦未進入睡眠時。1 小時保存的主對話(訂閱版、方案額度內)預設在 20 萬 token 以上會觸發。可用 "idleCompaction": false 停止,或以 CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS 降低對話大小條件(最多可降到 10 萬 token)自動 compact(auto-compact)是 Claude Code 在上表兩種情況下自動進行 compact 的功能。compact 的時機由 Claude Code 決定。中斷作業期間的自動 compact 會在快取快要消失前啟動,因此編輯部的測量為 減少 68%。另一方面,接近上限時的自動 compact,有時會在作業進行到一半時發生。關閉終端機後,中斷作業期間的自動 compact 就不會運作。Codex 與 Antigravity 也會在對話變長時自動摘要(各產品條件)。設定名稱與數值已整理在指南「設定在哪裡變更」中。那麼,在 Claude Code 畫面上,要怎麼判斷是否該 compact 呢?

在 Claude Code 的畫面中,要看 Context 欄位裡,究竟是什麼在占用上下文。如果對話(Messages)很大,compact 就有效;如果指示檔(Memory files)很大,則不是 compact,而是縮短 AGENTS.md/CLAUDE.md。Claude Code 桌面版的「Context」欄位(終端機中為 /context)會顯示是什麼在占用上下文。欄位右下角的 「Compact session」 按鈕,顧名思義就是把對話摘要(compact)的按鈕。在終端機中則輸入 /compact。
右邊畫面 compact 不會生效,是因為指示檔(AGENTS.md・CLAUDE.md)不是對話歷史,而是在摘要後仍會從檔案重新讀取(Claude Code 官方文件)。編輯部將指示檔從 867 KB 摘要縮減到 57 KB,讓 Memory files 從 349.4k token 降到 34.9k token。最後,來看一下使用 compact 時的注意事項。
/compact 後面寫上想保留的內容(例如:/compact 只聚焦於修正認證問題),摘要就會依照該指示選擇保留內容(Claude Code 官方文件)。/compact(第 1 節的 57% 減少)。摘要本文中保留了哪些內容的評分,可參考指南「摘要之後,哪些內容留下、哪些內容消失」。
compact 不用不行,太常用也不行。上圖是把測得的 5 種使用方式費用,以不使用 compact 為 100% 來排列。寫入快取的費用是從快取讀取費用的 40 倍。compact 之所以划算,是因為它能把長篇歷史的重寫,替換成短摘要;也就是在作業告一段落、準備長時間中斷之前,以及 Context 的 used 很高卻還要繼續作業時(若 used 為 75%,則之後至少還會有 2 輪)。當指示檔過大時,則不是 compact,而是把檔案縮短。
完整資料、測量方法與設定列表,已公開在以下指南中。
compact 的前提用語,以及摘要後指示遺失時的修正方法,整理在以下指南中。
本次介紹的產品與模型頁面:Claude Code・Claude
idleCompaction)與自動 compact(autoCompactEnabled)的條件與停用方式來源。/autocompact 的來源。/compact 的來源。讀者問卷進行中
如果你希望我們更深入探討這個主題,請幫文章按「讚」。我們會依照「讚」數較多的主題優先追加調查,並在新文章中公布結果(若追蹤我們,會收到通知)。