Anthropic 提供的 API 功能,讓重複的 System Prompt 或上下文在首次處理後被緩存,後續請求只需付 10% 的費用重新讀取,而不需要重新計算整段 Token。對 System Prompt 超過 1,024 Token 的應用,這個功能能立即降低 20-40% 的 API 費用。
完整解說+
01 · 這是什麼?
Prompt Caching 是 Anthropic 提供的 API 功能,讓你在 API 請求裡標記「這部分的文字是靜態的,請緩存它」。一旦一段文字被緩存,後續的 API 呼叫讀取這段緩存時,只需支付原始計算費用的 10%——也就是說,同樣的 System Prompt,第一次處理收全額費用,之後的每次讀取只收 10%。
最直觀的理解:把你的 System Prompt 想像成一本工作手冊。沒有緩存的情況,每次 API 呼叫 Claude 都要從頭讀完整份手冊(全額計費)。有了緩存,Claude 第一次讀完後把理解結果記住,之後只要「確認一下手冊還是同一份」(10% 費用),大幅節省每次呼叫的處理成本。
啟用條件:被標記為緩存的部分必須超過 1,024 Token(Claude 3 Haiku)或 2,048 Token(Claude 3.5 Sonnet 和 Opus)。緩存有效期為 5 分鐘,每次被使用都會重新計時。
02 · 為什麼存在?
Prompt Caching 的適用場景,按效益從高到低:
**最高效益**:固定的大型 System Prompt(超過 2,000 Token)且每天有大量呼叫。每次呼叫省下的費用乘以每日呼叫次數,累積節省非常顯著。
**中等效益**:把參考文件注入 Context 的應用(例如 RAG 系統裡把背景文件放在 System Prompt 裡)。這些文件通常很長,緩存能大幅節省費用。
**低效益或不適用**:System Prompt 很短(低於門檻);每次呼叫的 System Prompt 內容都不同(緩存命中率低);呼叫頻率很低(緩存有效期 5 分鐘,低頻呼叫的緩存命中率低)。
× 誤解一:Prompt Caching 會影響 Claude 的回答品質,因為它在「使用緩存的答案」。Prompt Caching 緩存的是 System Prompt 的「計算結果」(模型對 System Prompt 的內部表示),不是 Claude 的回答。每次呼叫 Claude 仍然根據這個緩存的上下文 + 你當次的問題,重新生成新的回答。緩存不影響輸出的多樣性或品質,只影響計算費用。
Prompt Caching 幾乎沒有明顯的取捨——它是純粹的費用優化,不影響輸出品質,實施成本也很低(只需在 API 請求裡加一個標記)。主要的考量點是:緩存失效的影響。如果你的應用在某個時段有很長的空閒期(超過 5 分鐘),緩存失效後的第一次呼叫需要支付全額費用。對呼叫模式很不規律的應用,實際節省可能比預期少。另外,緩存只適用於靜態的 System Prompt 部分——如果你的應用需要每次動態生成不同的 System Prompt,Prompt Caching 就不適用了。
生成分享圖
Claude Me名詞解析
進階
Prompt Caching
提示詞緩存
Prompt Caching = 讓 System Prompt 只計算一次,後續讀取付 10% 費用
門檻:System Prompt 必須超過 1,024 Token 才能啟用
緩存有效期:5 分鐘(每次被讀取後重新計時),高頻應用效益最大
如何啟用:在 API 請求裡為靜態部分加上 cache_control 標記
最適合:有大型 System Prompt 或長篇參考文件的 API 應用
The Missing Link
Prompt Caching 是 Claude API 成本優化裡投資報酬率最高的功能之一:不改變任何輸出品質,不改變使用方式,只在 API 請求裡加一個標記,System Prompt 的費用就能從每次全額計費變成後續只付 10%。門檻:System Prompt 要超過 1,024 Token。