在 AI 應用開發中,Claude Prompt Caching 是降低 Anthropic API 費用最有效的手段之一,能讓你在處理長上下文時節省高達 90% 的輸入 token 成本。
長上下文處理在企業級 AI 應用中已是常態。問題在於,每次請求都需重新處理龐大的系統提示詞與歷史對話,API 費用因此快速攀升。Anthropic 的 Prompt Caching 功能直接解決這個痛點:把重複使用的提示內容快取起來,後續請求不再重新計算,成本與延遲同步下降。本文從運作原理到進階技巧,提供完整的實作指南。
什麼是 Claude Prompt Caching?核心概念與優勢
傳統上,向 Claude API 發送請求時,模型會對所有輸入 token(系統提示詞、使用者訊息、歷史對話)進行完整的注意力機制計算。即使系統提示詞在 100 次請求中完全相同,每次仍會重新計算嵌入向量與注意力權重。
Claude Prompt Caching 讓開發者把請求中的特定部分標記為「可快取」。Anthropic 伺服器偵測到這些內容與快取完全一致時,直接讀取快取結果,跳過重新計算。費用也隨之降低:快取輸入 token 的定價約為普通輸入的 10%。
這在 2026 年的 AI 開發環境中格外重要。評估與推理成本已超越訓練成本,生產環境中維持長效 AI Agent 的上下文維護費用往往被低估。Prompt Caching 讓開發者能以更低的邊際成本擴展應用規模。
對客服機器人、程式碼助手或內容生成器而言,只要系統提示詞不變,快取命中後的每次請求輸入成本都會大幅下降。
事前準備:環境設定與 API 基礎
取得 API 金鑰
你需要有效的 Anthropic API 帳號與金鑰。請務必用環境變數儲存 API Key,避免硬編碼進程式碼導致外洩。
安裝 Python SDK
Anthropic 提供官方維護的 Python SDK,內建對 Prompt Caching 的支援,無需手動處理 HTTP Header:
pip install anthropic
使用 Node.js、Java 或 Go 的開發者,請確認使用最新版本的官方 SDK——舊版本可能不支援 cache_control 參數。
確認模型支援
Prompt Caching 目前支援 Claude 3.5 Sonnet、Claude 3.5 Haiku 以及 Claude 4 系列模型。建議開發階段先用 Claude 3.5 Sonnet 測試,其長上下文與快取支援最為成熟。
Step 1:啟用 Prompt Caching 的基本設定
啟用 Prompt Caching 的核心是正確使用 cache_control 參數,告訴 Anthropic 伺服器哪些內容應該被快取。
哪些內容適合放入快取
最適合快取的是靜態且重複使用的內容:
- 系統提示詞:定義 AI 角色、行為準則、輸出格式
- 前置對話歷史:長對話中早期、不再頻繁修改的紀錄
- 參考資料:產品手冊、程式碼庫片段等靜態知識
動態變化的內容(使用者當下的輸入、隨機生成的變數)不要放入快取,否則快取會持續失效,徒增複雜度。
基礎程式碼範例
import anthropic
client = anthropic.Anthropic()
system_prompt = """你是一位專業的程式設計師助手。
請始終使用繁體中文回答。
請在回答程式碼時,加上詳細的註解。"""
message = client.messages.create(
model="claude-sonnet-4-20250514",
system=[{"text": system_prompt, "type": "text", "cache_control": {"type": "ephemeral"}}],
messages=[
{"role": "user", "content": "請解釋 Python 中的裝飾器是什麼?"}
],
max_tokens=1024
)
print(message.content[0].text)
"cache_control": {"type": "ephemeral"} 是關鍵。ephemeral 表示臨時快取,適合大多數場景。Anthropic 自動管理快取過期時間,通常為數分鐘到數小時,取決於快取大小與使用頻率,開發者無需手動介入。
Step 2:實作範例與費用對比分析
完整範例:長上下文場景
以程式碼助手為例——專案結構說明是靜態的,使用者問題是動態的:
import anthropic
client = anthropic.Anthropic()
靜態的專案結構說明(適合快取)
project_context = """
專案結構:
- src/
- main.py
- utils.py
- tests/
- test_main.py
... (假設這裡有數千字的專案說明)
"""
動態的使用者問題
user_question = "請幫我修改 main.py 中的 login 函數,增加錯誤處理機制。"
message = client.messages.create(
model="claude-sonnet-4-20250514",
system=[{"text": "你是一位資深後端工程師。", "type": "text", "cache_control": {"type": "ephemeral"}}],
messages=[
{"role": "user", "content": [
{"text": project_context, "type": "text", "cache_control": {"type": "ephemeral"}},
{"text": user_question, "type": "text"}
]}
],
max_tokens=2048
)
print(message.content[0].text)
解讀 usage 欄位
Anthropic 在回應的 usage 欄位提供詳細的 token 計數,有三個欄位需要重點關注:
- cache_creation_input_tokens:首次請求時建立快取,按普通輸入 token 計費
- cache_read_input_tokens:後續請求快取命中,費用僅為普通輸入的約 10%
- input_tokens:總輸入 token 數,等於上述兩者加上非快取輸入
費用對比
假設系統提示詞與專案上下文合計 10,000 個 token,普通輸入定價 $3/1M tokens、快取輸入定價 $0.3/1M tokens:
| 情境 | 每次費用 |
|------|---------|
| 未啟用快取 | $0.030 |
| 快取命中(第二次起) | $0.003 |
每天 10,000 次請求,每月可節省約 $810 的輸入成本。對企業級應用,這個差距會進一步擴大。
首次請求需要建立快取,費用與未啟用時相同。快取效益從第二次請求開始才會體現。
Step 3:進階技巧與最佳實踐
最大化快取命中率
快取命中的前提是內容完全一致。一個額外的空格、換行符號或標點符號差異,都會讓快取失效。
核心策略只有一個:嚴格分離靜態與動態內容。把角色定義、格式規則、靜態知識放進快取區塊;使用者輸入、即時資料一律放在快取區塊之外。在程式碼中將系統提示詞定義為常數,避免每次請求時重新生成字串。
避免常見陷阱
快取區塊不是越大越好。過大的區塊可能導致快取更快過期,目前建議控制在 100k tokens 以內。
另一個常見失誤是把含有動態變數的字串(如使用者名稱、當天日期)放入快取區塊。這樣做的結果是每次請求都會建立新快取、快取命中率趨近於零,白白支付了快取建立費用。
結合 Stream 模式
需要即時回饋的應用可以同時啟用 Stream 模式與 Prompt Caching。快取預先處理靜態內容,Stream 模式讓模型更快開始輸出,兩者結合能同時降低費用與首字延遲(TTFT)。使用 Stream 模式時請確認 cache_control 參數已正確設定,否則快取不會生效。
常見問題 FAQ
Prompt Caching 支援哪些 Claude 模型?
目前支援 Claude 3.5 Sonnet、Claude 3.5 Haiku 以及 Claude 4 系列。Claude 2.1 等舊版模型不支援此功能。開發前請查閱 Anthropic 官方文件確認模型版本。
快取會保留多久?
Anthropic 使用 ephemeral 類型管理快取,保留時間依快取大小與使用頻率動態調整,通常在數分鐘到數小時之間。快取過期後,下次請求會重新建立快取,費用與首次相同。
如何監控快取命中率?
解析 API 回應的 usage 欄位即可計算:
快取命中率 = cache_read_input_tokens / (cache_read_input_tokens + cache_creation_input_tokens)
命中率接近 100% 表示快取策略有效。Anthropic 控制台也提供費用分析功能,可逐請求查看 token 計數。
下一步
Claude Prompt Caching 是控制 AI 應用成本的基礎工具。掌握之後,可以進一步研究 thinking 模式的精確控制,或結合本地快取策略減少 API 呼叫次數。Anthropic 官方文件會持續更新模型定價與功能異動,建議定期確認,避免用了過時的參數設定。
常見問題 FAQ
Prompt Caching 支援哪些 Claude 模型?▼
快取會保留多久?▼
如何監控快取命中率?▼
相關日報
延伸閱讀
GPT-4.1 是什麼?OpenAI 最新模型功能完整解析
深入解析 GPT-4.1 是什麼,涵蓋其核心功能、與 GPT-4o 的差異,以及作為 OpenAI 最新模型 2026 年的技術突破與應用前景。
ChatGPT 2026ChatGPT 2026 更新全覽:Image 2.0 與 API 整合實戰清單
探索 ChatGPT 2026 最新更新,深入解析 Image 2.0 圖像生成能力與 ChatGPT API 實戰整合技巧,為您提供 AI 生成圖像的完整應用清單與開發指南。
Claude SkillsClaude Skills 實作指南:打造可複用的 AI 代理與自動化任務
深入解析 Claude Skills 實作指南,學習如何打造可複用的 AI 代理與自動化任務。涵蓋環境設定、開發步驟與進階技巧,助您高效運用 Claude 應用提升工作效率。
Claude 4.7 OpusClaude 4.7 Opus 實戰:1M 上下文與 Prompt Caching 完整教學
深入解析 Claude 4.7 Opus 實戰應用,掌握 1M 上下文處理與 Prompt Caching 技術。本文提供完整 Claude 教學,幫助您提升 AI 效率與成本效益。
🤖 本指南由 AI 輔助撰寫,經編輯團隊審核校對。如有疑慮,請參閱關於我們。
喜歡這篇?每天早晨還有更多。
訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。
