Claude 中的提示快取運作方式是儲存對訊息所做的計算工作,以便在後續請求中重複使用。這使得後續請求既更便宜又更快執行,但僅限於您重複發送相同內容的情況。

此流程遵循兩階段模式:初始請求寫入快取,而後續請求可以從中讀取。快取僅存活 5 分鐘,因此此功能在您於短時間內重複發送相同內容時最為有用。
快取點
提示快取並非自動啟用——您需要手動新增快取點訊息部分來控制要快取的內容。快取點會告訴 Claude 快取該點之前訊息中所有內容所做的工作。

以下是如何在使用者訊息中新增快取點:
user_message = {
"role": "user",
"content": [
{"text": ""},
{"cachePoint": {"type": "default"}}
]
}關鍵規則是:快取點之前所有內容所做的工作將被快取,但快取點之後的任何內容都不會儲存在快取中。
快取點的運作方式

當您使用快取點發出初始請求時,Claude 會處理所有內容並儲存到該快取點為止所做的工作。在後續請求中,如果快取點之前的內容完全相同,Claude 會從快取中讀取先前處理過的工作,而不是重新處理它。

只有當快取點之前的內容完全相同時,才會使用快取。即使是像在提示開頭加上「請」這樣的小改動,也會阻止快取的使用,迫使 Claude 從頭處理所有內容。

跨訊息快取
快取點可以跨越多個訊息,甚至包括助手訊息。這意味著您可以快取到某個特定點為止的整個對話歷史。

例如,您可能有一個包含使用者訊息、助手回應,以及另一個使用者訊息的對話,並在結尾處設有快取點。整個對話串的所有處理工作都會被快取,並可以重複使用。
最小內容長度
內容必須至少有 1024 個 token 長才能被快取。這是您嘗試在快取點之前快取的所有訊息和部分的總和。

一個簡單的「Hi there!」訊息不會達到 1024 個 token 的最小值,因此不會有任何內容被快取。但如果您將「Hi there!」重複 500 次,那將超過 1024 個 token 並符合快取資格。
快取點位置
快取點不限於使用者訊息。您可以將它們新增到系統提示和工具定義中,這實際上是最常見的快取機會。

對於工具定義:
tools = [
{"toolSpec": add_duration_to_datetime_schema},
{"toolSpec": get_current_datetime_schema},
{"cachePoint": {"type": "default"}}
]對於系統提示:
system = [
{"text": "You are a senior software..."},
{"cachePoint": {"type": "default"}}
]這些是最有價值的快取機會,因為系統提示和工具清單在請求之間很少改變,使它們成為快取的完美候選對象。