Prompt Caching 是什麼,跟一般的對話有什麼不同?
每次你跟 Claude 對話,API 實際上要把這場對話從頭到尾的內容——系統提示詞、工具定義、之前所有的對話紀錄、你這次新打的訊息——整個重新處理一次,才能產生回答。如果你的系統提示詞或參考文件很長,而且每次請求都幾乎一模一樣,這代表你在為同樣的運算重複付費。
Prompt Caching 讓你可以標記出提示詞裡「不會變」的部分,Anthropic 會把這部分處理過的運算結果先儲存起來;之後只要新的請求開頭跟被快取的內容完全一致,Claude 就能直接讀取已經算好的結果,不需要重新處理,讀取的價格只要標準輸入價格的十分之一。可以想像成,你不用每次都重新影印一份五十頁的說明手冊給對方看,而是對方已經看過、記住了,你只要說「就是上次那份」就好。
Prompt Caching 這個機制為什麼會被設計出來,解決了什麼問題?
很多實際的 Claude 應用場景,都有一個共同特徵:每次請求裡有一大部分內容其實是重複的。客服機器人每次都要帶著同一份產品手冊;程式碼助理每次都要帶著同一份 CLAUDE.md 專案說明;RAG(檢索增強生成)應用每次都要帶著同一批知識庫文件。如果沒有快取機制,這些重複的內容每次都要被完整計算一次,計算量隨對話輪數疊加,成本也跟著疊加。
Prompt Caching 解決的正是這個「重複付費」的問題:只要同樣的內容在快取有效期限內被重複使用,就不需要每次都用標準價格重新計算。這也是為什麼官方文件形容它是 API 費用優化裡最直接有效的一項——不需要改變你跟 Claude 對話的方式,只需要標記出哪些內容是穩定不變的,就能立即看到成本下降。
Prompt Caching 具體怎麼設定,有哪些數字跟門檻要注意?
在 Anthropic API 裡,你在想要快取的內容區塊加上 cache_control: {type: "ephemeral"} 標記,通常放在系統提示詞、長篇文件、或工具定義的後面。第一次請求時,這部分內容會被寫入快取,寫入的價格是標準輸入價格的 1.25 倍(5 分鐘有效期)或 2.0 倍(1 小時有效期,屬於延長快取選項);之後只要在有效期限內、且開頭內容完全吻合的請求,就能以標準價格的十分之一讀取快取,不需要額外設定。可快取的內容有最低門檻,通常是 1,024 個 token 起(依模型略有差異),低於這個門檻的內容即使標記了也不會產生快取效果。
有一件事特別值得留意:Anthropic 在 2026 年初曾將預設的快取有效期限(TTL)從 1 小時悄悄調整為 5 分鐘,這個變化讓不少原本針對 1 小時快取設計的應用,成本在不知情的狀況下上升了三到六成,直到開發者仔細比對帳單才發現問題。這也是為什麼「兩次請求之間間隔多久」這件事,在啟用 Prompt Caching 之後,會直接變成一個需要認真計算的成本變數,而不是可以隨意忽略的細節。
了解 Prompt Caching 對我實際使用 Claude 有什麼幫助?
如果你只是透過 claude.ai 網頁版或 App 使用 Claude 聊天,Prompt Caching 的設定其實已經由平台自動處理,一般使用者不需要也無法手動去標記快取區塊,這個概念主要跟透過 API 建構應用程式的情境有關。
如果你是開發者,理解這個機制能直接幫你省下實質的費用:檢查你的應用是否有重複、內容穩定的大塊提示詞(系統提示詞、知識庫、工具定義),把它們標記為可快取,通常是投入產出比最高的一項優化,Anthropic 官方文件也建議把這當作優化 API 成本時最優先檢查的項目之一。同時,如果你的應用最近帳單突然上升,卻沒有明顯改動程式碼,理解 TTL 從 1 小時變成 5 分鐘這個變化,能幫你快速定位問題,而不是誤以為是流量突然增加或模型變貴了。
多個獨立技術部落格記錄,Anthropic 於 2026 年初將 Claude Code 與 API 的預設快取有效期限,從原本的 1 小時悄悄調整為 5 分鐘,其中一篇部落格記錄了作者某天早上打開帳單儀表板,發現單日費用高達 13.86 美元、遠超平常水準,事後追查才發現是快取有效期限的調整導致原本能重複命中快取的請求,因為間隔超過 5 分鐘而全數失效、被迫以完整價格重新運算,凸顯了快取有效期限本身就是影響成本的重要變數,而非設定一次就能永久不變的細節。
優點是命中快取時輸入成本降低約九成,對重複使用大量固定內容(系統提示詞、知識庫、工具定義)的應用效益極大,且不影響輸出品質;缺點是第一次寫入需要多付 1.25 到 2 倍的費用(雖然通常一到兩次命中就能回本),且快取命中要求內容完全吻合,任何微小差異都會讓快取失效,加上有效期限本身會隨 Anthropic 政策調整而變動,需要持續留意。