原理
當您傳送啟用了 prompt caching 的請求時,系統會檢查提示前綴是否已從近期查詢中快取。若已存在,則使用快取,以縮短處理時間並降低成本;否則,系統會處理完整提示,並在回應開始後將前綴快取。這在下列情境中特別實用:- 包含眾多範例的提示
- 大量的上下文或背景資訊
- 具有一致指令的重複性任務
- 長時間的多輪對話
核心機制
不同模型供應商對快取的支援程度不同:自動快取
自動快取無需額外設定;系統會自動識別並快取可重用的內容,適用於 OpenAI、DeepSeek 等模型。OpenAI
- 最低提示長度:1024 tokens,前綴逐字一致時自動命中
- GPT-5.6 之前的模型:快取寫入不另計費,快取讀取按對應模型的快取讀取價計費
- GPT-5.6 及之後(官方口徑 “GPT-5.6 models and later model families”,當前為 gpt-5.6-sol / terra / luna):快取寫入按 1.25x 輸入價計費,讀取按 0.1x 計費;新增
prompt_cache_key與顯式快取斷點參數 - 用法、計費與命中排查見 GPT 提示詞快取
Gemini
- 預設啟用隱式上下文快取,無需手動設定即可自動生效。
- 僅在內容、模型與參數完全相同時快取才會生效;任何差異都會被視為新請求且不會命中快取。
- 快取效期由開發者設定,也可不設定。若未指定,則預設為 1 小時。沒有最短或最長時間限制,費用取決於快取 token 數與快取時長。
DeepSeek / Grok / Moonshot / Groq
- 費用:寫入快取免費或同等價格,從快取讀取低於原價
Claude 模型顯式快取
- 需透過
cache_control啟用:請求頂層欄位自動設定斷點(隨對話前移),或內容區塊級斷點精細控制快取位置 - 全部活躍 Claude 模型支援,快取寫入 5 分鐘檔 1.25x、1 小時檔 2x、讀取 0.1x,計價比例全系統一
- 適用於 Anthropic Claude 模型
Claude 按模型設定最小可快取 Token 門檻(512 / 1,024 / 2,048 / 4,096 不等,該門檻並非隨版本升級而提高):例如 Claude Opus 4.8 為 1,024、Claude Opus 4.7 為 2,048、Claude Opus 4.6 / 4.5 與 Claude Haiku 4.5 為 4,096、Claude Fable 5 為 512。低於門檻的前綴即使顯式設定
cache_control 也不會被快取,且不會返回錯誤——回應中 cache_creation_input_tokens 與 cache_read_input_tokens 同時為 0 即為此情況。完整分檔與排查見 Claude 提示詞快取。OpenAI 相容介面
您可以在system、user(含影像)與 tools 中使用 cache_control 欄位設定快取中斷點。下列範例僅顯示關鍵結構:
System 訊息快取(預設 5 分鐘 TTL):
cache_control 放在 tool 物件的最上層(與 type 和 function 同層):
Anthropic 相容介面
快取時長
- 預設:5 分鐘
- 選用:1 小時(“ttl”: “1h”)
更多資訊請參考:Claude Prompt Caching
使用建議
- 保持穩定的前綴
- 快取大段文字
- RAG 資料
- 長文本
- CSV / JSON 資料
- 角色設定
- 控制 TTL
- 短期對話 → 5 分鐘
- 長期對話 → 1 小時(更具成本效益)
- 減少快取寫入