作者注:詳解 Claude Code Prompt 緩存的 TTL 機制、5 分鐘和 1 小時兩檔區別、Anthropic API 與 AWS Bedrock 緩存計費對比,附省錢配置建議
「Claude Code 的 Prompt 緩存 TTL 能改嗎?5 分鐘和 1 小時有什麼區別?到底用哪個更划算?」——這是許多 Claude Code 用戶在控制成本時最常問的問題。
先說結論:Claude Code 的緩存 TTL 目前不能由用戶直接修改——它由你的訂閱計劃決定。Max 訂閱用戶自動獲得 1 小時 TTL,Pro 訂閱和 API Key 用戶默認 5 分鐘 TTL。但如果你直接調用 Claude API,則可以通過 cache_control 參數自由選擇 5 分鐘或 1 小時。
核心價值: 讀完本文,你將徹底搞懂 Claude Prompt 緩存的 TTL 機制,清楚 Anthropic 官方 API 和 AWS Bedrock 的緩存計費差異,學會根據使用場景選擇最省錢的緩存策略。
<!– 標題 –>
<!– 天平支點 –>
<!– ===== 左側:5 分鐘 TTL ===== –>
<!– ===== 右側:1 小時 TTL ===== –>
<!– 底部核心信息 –>
<!– 品牌 –>
Claude Prompt 緩存 TTL 核心要點
Prompt 緩存是 Claude 系列模型最重要的省錢機制之一。它將你之前發送過的 Prompt 前綴(系統提示、工具定義、對話歷史等)存儲在服務端,下次請求如果前綴相同,就直接從緩存讀取,只需支付正常輸入價格的 10%。
| 要點 | 說明 | 實際影響 |
|---|---|---|
| 兩檔 TTL | 5 分鐘(默認)和 1 小時(可選) | 選對 TTL 可節省大量寫入成本 |
| 緩存讀取只需 10% | 命中緩存後,該部分輸入只收 0.1 倍價格 | 長對話場景可省 80-90% 輸入費用 |
| 5 分鐘寫入 = 1.25 倍 | 寫入緩存時額外付 25% 溢價 | 一次緩存讀取即可回本 |
| 1 小時寫入 = 2 倍 | 寫入緩存時付雙倍價格 | 需要兩次緩存讀取才能回本 |
| Claude Code 緩存自動管理 | 系統提示、工具定義、CLAUDE.md 自動緩存 | 用戶無需手動配置 |
Claude Code 中的 TTL 能不能改?
這是用戶最關心的問題。答案分兩種情況:
Claude Code(交互式 CLI 工具):不能手動修改。 Claude Code 的緩存由服務端控制——Max 訂閱用戶獲得 1 小時 TTL(通過服務端 feature flag tengu_prompt_cache_1h_config 控制),Pro 訂閱和 API Key 用戶獲得 5 分鐘 TTL。你只能通過環境變量 DISABLE_PROMPT_CACHING=1 完全關閉緩存,但不能切換 TTL 檔位。
Claude API(直接調用):可以自由選擇。 通過 API 調用時,你可以在 cache_control 參數中指定 TTL:
// 5 分鐘緩存(默認)
{ "cache_control": { "type": "ephemeral" } }
// 1 小時緩存
{ "cache_control": { "type": "ephemeral", "ttl": "1h" } }
🎯 選擇建議: 如果你主要通過 Claude Code CLI 使用,TTL 取決於訂閱計劃。如果你通過 API 調用(如通過 API易 apiyi.com),則可以根據場景靈活選擇 5 分鐘或 1 小時 TTL,實現更精細的成本控制。
<!– 標題 –>
<!– 起始節點 –>
<!– 分支箭頭 –>
<!– ===== 左分支:Claude Code CLI ===== –>
<!– 子問題 –>
<!– Max –>
<!– Pro / API Key –>
<!– 關閉緩存選項 –>
<!– ===== 右分支:直接調用 API ===== –>
<!– 自由選擇 –>
<!– 5分鐘選項 –>
<!– 1小時選項 –>
<!– 混合使用提示 –>
<!– API 平臺提示 –>
<!– 底部總結 –>
Claude Prompt 緩存 TTL 的計費規則詳解
5 分鐘 vs 1 小時:計費對比
兩種 TTL 的核心差異在於寫入成本。讀取成本完全一樣,都是基礎輸入價格的 0.1 倍:
| 操作 | 5 分鐘 TTL | 1 小時 TTL | 說明 |
|---|---|---|---|
| 緩存寫入 | 1.25 倍基礎價 | 2.0 倍基礎價 | 首次寫入緩存時的溢價 |
| 緩存讀取 | 0.1 倍基礎價 | 0.1 倍基礎價 | 命中緩存後的折扣價(相同) |
| 回本次數 | 1 次讀取即回本 | 2 次讀取才回本 | 使用頻率決定哪個更划算 |
| 自動續期 | 每次命中重置 5 分鐘 | 固定 1 小時過期 | 高頻對話下 5 分鐘可一直不過期 |
各模型的 Prompt 緩存具體價格
以下是 Anthropic 官方 API 各模型的完整緩存計費表(2026 年 3 月):
| 模型 | 基礎輸入價 | 5 分鐘寫入 | 1 小時寫入 | 緩存讀取 | 輸出價 |
|---|---|---|---|---|---|
| Claude Opus 4.6 | $5/MTok | $6.25/MTok | $10/MTok | $0.50/MTok | $25/MTok |
| Claude Sonnet 4.6 | $3/MTok | $3.75/MTok | $6/MTok | $0.30/MTok | $15/MTok |
| Claude Haiku 4.5 | $1/MTok | $1.25/MTok | $2/MTok | $0.10/MTok | $5/MTok |
關鍵發現:緩存讀取的折扣驚人。 以 Claude Opus 4.6 爲例:
- 正常輸入 100 萬 Token = $5.00
- 緩存讀取 100 萬 Token = $0.50(省了 $4.50,折扣 90%)
- 這就是爲什麼 Claude Code Pro 月費 $20 能做到經濟可行——100 輪 Opus 對話不用緩存可能花 $50-100,用了緩存只需 $10-19
最低緩存 Token 數要求
不是所有內容都能被緩存。各模型有最低 Token 數要求,內容不夠長則無法觸發緩存:
| 模型 | 最低緩存 Token 數 |
|---|---|
| Claude Opus 4.6 / 4.5 | 4,096 |
| Claude Sonnet 4.6 | 2,048 |
| Claude Sonnet 4.5 / 4 | 1,024 |
| Claude Haiku 4.5 | 4,096 |
| Claude Haiku 3.5 / 3 | 2,048 |
🎯 實用提示: 如果你的系統提示詞較短(如少於 2,048 Token),在使用 Claude Sonnet 4.6 時是不會觸發緩存的。可以通過豐富系統提示內容或合併工具定義來達到最低閾值。通過 API易 apiyi.com 調用時同樣支持緩存,且費率更優。
Anthropic API vs AWS Bedrock:緩存計費對比
三大平臺緩存支持對比
Claude 的 Prompt 緩存在 Anthropic 官方 API、AWS Bedrock、Google Vertex AI 三個平臺上都有支持,但細節存在差異:
| 對比維度 | Anthropic 官方 API | AWS Bedrock | Google Vertex AI |
|---|---|---|---|
| 5 分鐘 TTL | ✅ 所有模型支持 | ✅ 所有模型支持 | ✅ 所有模型支持 |
| 1 小時 TTL | ✅ 所有模型支持 | ✅ 部分模型(Opus 4.5、Sonnet 4.5、Haiku 4.5) | ✅ 支持 |
| 寫入溢價(5 分鐘) | 1.25 倍 | ~1.25 倍 | 1.25 倍 |
| 寫入溢價(1 小時) | 2.0 倍 | 2.0 倍 | 2.0 倍 |
| 讀取折扣 | 0.1 倍 | ~0.1 倍 | 0.1 倍 |
| 最大斷點數 | 4 個 | 4 個 | 4 個 |
| 自動緩存 | ✅ 支持 | ✅ 支持 | ✅ 支持 |
| TTL 自定義 | ✅ 可選 5 分鐘/1 小時 | ✅ 可選(部分模型) | ✅ 可選 |
各平臺的關鍵差異說明
Anthropic 官方 API: 緩存功能最完整,所有模型都支持 5 分鐘和 1 小時兩檔 TTL。2026 年 2 月 5 日起,緩存隔離從組織級別改爲工作區級別,同一組織的不同工作區緩存互相獨立。
AWS Bedrock: 2026 年 1 月宣佈支持 1 小時 TTL,但僅限 Claude Opus 4.5、Sonnet 4.5、Haiku 4.5 等部分模型。最新的 Claude Sonnet 4.6 和 Opus 4.6 在 Bedrock 上的 1 小時 TTL 支持需確認。如果你通過 Claude Code 連接 Bedrock,還需要注意 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 的兼容性設置。
Google Vertex AI: 緩存功能與官方 API 基本一致,但需要通過 Google Cloud 項目進行認證和計費。
🎯 平臺選擇建議: 如果你不想糾結平臺差異和兼容性配置,通過 API易 apiyi.com 統一接口調用是最簡單的方案——支持完整的緩存功能,無需分別配置 AWS IAM 或 Google Cloud 認證。
Claude Code Prompt 緩存快速上手
極簡示例:設置 1 小時 TTL 緩存
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://vip.apiyi.com/v1"
)
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system=[{
"type": "text",
"text": "你是一個專業的物理教師助手,負責解答高中物理問題...(此處爲長系統提示)",
"cache_control": {"type": "ephemeral", "ttl": "1h"}
}],
messages=[{"role": "user", "content": "解釋牛頓第三定律"}]
)
print(f"緩存讀取 Token: {response.usage.cache_read_input_tokens}")
print(f"緩存寫入 Token: {response.usage.cache_creation_input_tokens}")
查看完整代碼:混合使用 5 分鐘和 1 小時 TTL
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://vip.apiyi.com/v1"
)
# 混合 TTL:系統提示用 1 小時(不常變),對話上下文用 5 分鐘(頻繁變化)
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=2048,
system=[
{
"type": "text",
"text": "你是一個專業的AI技術顧問...(長系統提示,2000+ Token)",
"cache_control": {"type": "ephemeral", "ttl": "1h"} # 系統提示用1小時
},
{
"type": "text",
"text": "以下是用戶的歷史對話上下文...(對話歷史)",
"cache_control": {"type": "ephemeral"} # 對話上下文用5分鐘(默認)
}
],
messages=[{"role": "user", "content": "對比 Claude 和 GPT 的推理能力"}]
)
# 查看緩存使用情況
usage = response.usage
print(f"普通輸入 Token: {usage.input_tokens}")
print(f"緩存讀取 Token: {usage.cache_read_input_tokens}")
print(f"緩存寫入 Token: {usage.cache_creation_input_tokens}")
# 計算節省金額(以 Sonnet 4.6 爲例)
base_cost = (usage.input_tokens / 1_000_000) * 3
cache_cost = (usage.cache_read_input_tokens / 1_000_000) * 0.3
saved = (usage.cache_read_input_tokens / 1_000_000) * 2.7
print(f"本次節省: ${saved:.4f}")
重要約束: 在同一個請求中混合使用兩種 TTL 時,1 小時緩存的內容必須放在 5 分鐘緩存內容之前,否則會返回錯誤。
建議: 通過 API易 apiyi.com 調用 Claude API 時完整支持
cache_control參數配置,包括 5 分鐘和 1 小時 TTL 的自由選擇。
5 分鐘 vs 1 小時 TTL:該選哪個?
選擇決策表
| 使用場景 | 推薦 TTL | 原因 |
|---|---|---|
| Claude Code 高頻編程(每分鐘發消息) | 5 分鐘 | 每次命中自動重置計時器,一直不會過期 |
| 客服機器人(用戶回覆間隔 < 5 分鐘) | 5 分鐘 | 寫入成本低(1.25 倍),高頻命中 |
| 文檔分析 Agent(處理間隔 5-60 分鐘) | 1 小時 | 避免緩存過期導致重新寫入 |
| 定時批處理任務(每 30 分鐘一批) | 1 小時 | 5 分鐘 TTL 肯定過期,1 小時剛好覆蓋 |
| 低頻 API 調用(間隔 > 1 小時) | 不緩存 | 兩種 TTL 都會過期,寫入成本浪費 |
| 系統提示詞(幾乎不變) | 1 小時 | 寫入一次可重複讀取多次 |
| 對話歷史(每輪都變) | 5 分鐘 | 頻繁變化時,低寫入成本更划算 |
成本計算公式
判斷緩存是否划算,核心公式:
5 分鐘 TTL 回本條件: 緩存內容在 5 分鐘內至少被讀取 1 次
- 寫入成本:1.25 倍 → 額外 0.25 倍
- 讀取節省:每次省 0.9 倍
- 1 次讀取即回本(0.9 > 0.25)
1 小時 TTL 回本條件: 緩存內容在 1 小時內至少被讀取 2 次
- 寫入成本:2.0 倍 → 額外 1.0 倍
- 讀取節省:每次省 0.9 倍
- 2 次讀取才回本(0.9 × 2 = 1.8 > 1.0)
<!– 標題 –>
<!– 圖例 –>
<!– 座標軸 –>
<!– Y軸標籤(總成本) –>
<!– X軸標籤(緩存讀取次數) –>
<!– 無緩存線(紅色):每次 $3,1次=$3, 5次=$15, 10次=$30 –>
<!– y = 410 – (cost/30)*307, cost=3*n –>
<!– 5分鐘TTL線(藍色):首次寫入$3.75, 後續每次讀取+$0.30 –>
<!– 1次: 3.75+0.30=4.05, 2次: 4.05+0.30=4.35, 5次: 5.25, 10次: 6.75 –>
<!– 1小時TTL線(橙色):首次寫入$6, 後續每次讀取+$0.30 –>
<!– 1次: 6+0.30=6.30, 2次: 6.60, 5次: 7.50, 10次: 9.00 –>
<!– 標註區域 –>
常見問題
Q1: Claude Code 中能把 5 分鐘 TTL 改成 1 小時嗎?
Claude Code CLI 工具本身不支持用戶手動修改 TTL。Max 訂閱用戶自動獲得 1 小時 TTL(服務端 feature flag 控制),Pro 和 API Key 用戶固定爲 5 分鐘 TTL。如果你需要 1 小時 TTL 但不想升級到 Max 訂閱,可以直接通過 API 調用(設置 cache_control.ttl: "1h"),在 API易 apiyi.com 等平臺上按量付費調用。
Q2: 5 分鐘 TTL 是固定 5 分鐘過期嗎?還是會自動續期?
5 分鐘 TTL 會在每次緩存命中時自動重置計時器。如果你每 1-2 分鐘發一次消息(比如 Claude Code 編程對話),計時器一直被重置,緩存永遠不會過期。只有當你連續 5 分鐘不發消息時,緩存纔會失效。所以對於高頻使用場景,5 分鐘 TTL 已經完全夠用。
Q3: AWS Bedrock 上的緩存計費和 Anthropic 官方 API 一樣嗎?
大致相同但有細微差異:
- 寫入溢價均爲 ~1.25 倍(5 分鐘)和 ~2.0 倍(1 小時)
- 讀取折扣均爲 ~0.1 倍
- 差異點:Bedrock 上的 1 小時 TTL 目前僅支持 Opus 4.5、Sonnet 4.5、Haiku 4.5 等部分模型,最新的 4.6 系列模型需確認
- 通過 API易 apiyi.com 調用可獲得與官方 API 一致的完整緩存支持
總結
Claude Prompt 緩存 TTL 的核心要點:
- 兩檔 TTL 可選: 5 分鐘(寫入 1.25 倍,1 次讀取回本)和 1 小時(寫入 2 倍,2 次讀取回本),讀取均爲 0.1 倍
- Claude Code CLI 不能改 TTL: Max 訂閱自動 1 小時,Pro/API Key 固定 5 分鐘,只能關閉不能切換
- Claude API 可自由選擇: 通過
cache_control.ttl參數設置,同一請求可混合兩種 TTL - 高頻對話選 5 分鐘: 每次命中自動續期,寫入成本更低;間歇使用選 1 小時避免過期
緩存命中 = 輸入費用打一折,是 Claude 最核心的省錢機制。推薦通過 API易 apiyi.com 統一接口調用,完整支持緩存配置,一個 Key 即可測試不同 TTL 策略的實際成本差異。
📚 參考資料
-
Anthropic 官方文檔 – Prompt Caching: TTL 配置、計費規則、cache_control 語法的權威來源
- 鏈接:
platform.claude.com/docs/en/build-with-claude/prompt-caching - 說明: 5 分鐘/1 小時 TTL 的完整計費公式和代碼示例
- 鏈接:
-
Anthropic 官方文檔 – 定價: 所有模型的基礎價格和緩存價格
- 鏈接:
platform.claude.com/docs/en/about-claude/pricing - 說明: Opus/Sonnet/Haiku 各模型的緩存寫入和讀取費率
- 鏈接:
-
AWS 官方文檔 – Bedrock Prompt Caching: Bedrock 平臺的緩存支持詳情
- 鏈接:
docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html - 說明: Bedrock 上各模型的 TTL 支持範圍和計費標準
- 鏈接:
-
Claude Code Camp – Prompt 緩存工作原理: 深度解析 Claude Code 的緩存實現
- 鏈接:
claudecodecamp.com/p/how-prompt-caching-actually-works-in-claude-code - 說明: 瞭解 Claude Code 如何自動管理緩存斷點
- 鏈接:
-
GitHub Issue #19436 – 多層緩存 TTL 功能請求: 社區對更靈活 TTL 配置的討論
- 鏈接:
github.com/anthropics/claude-code/issues/19436 - 說明: 社區提出的基於內容變化頻率的多層 TTL 方案
- 鏈接:
作者: APIYI 技術團隊
技術交流: 歡迎在評論區討論 Claude 緩存配置經驗,更多模型調用教程可訪問 API易 docs.apiyi.com 文檔中心