Claude Code Prompt 緩存 TTL 完全解讀:5 分鐘 vs 1 小時該選哪個?附 3 平臺計費對比

作者注:詳解 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 的緩存計費差異,學會根據使用場景選擇最省錢的緩存策略。

<!– 標題 –> Claude Prompt 緩存 TTL 選擇指南 5 分鐘 vs 1 小時 —— 選對 TTL 可節省 80-90% 輸入費用

<!– 天平支點 –> <!– 天平橫樑 –>

<!– ===== 左側:5 分鐘 TTL ===== –>

5 分鐘 TTL

寫入成本: 1.25 倍 基礎價

讀取成本: 0.1 倍 基礎價

回本次數: 1 次 讀取即回本

每次命中自動重置計時器 高頻對話下永不過期

適合: 編程對話 · 客服 · 高頻調用

<!– ===== 右側:1 小時 TTL ===== –>

1 小時 TTL

寫入成本: 2.0 倍 基礎價

讀取成本: 0.1 倍 基礎價

回本次數: 2 次 讀取才回本

固定 1 小時後過期 間歇使用也不會丟失緩存

適合: Agent · 批處理 · 間歇對話

<!– 底部核心信息 –> 緩存命中 = 輸入費用打一折 (0.1x) 無論哪種 TTL,命中後都只需支付 10% 的基礎輸入價格

<!– 品牌 –> API易 apiyi.com — 支持完整緩存配置,按量付費自由選擇 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 緩存 TTL 決策流程

<!– 起始節點 –> 你使用什麼方式?

<!– 分支箭頭 –>

<!– ===== 左分支:Claude Code CLI ===== –> Claude Code CLI

<!– 子問題 –> 你的訂閱計劃是?

<!– Max –> Max 訂閱 自動 1 小時 TTL ✓

<!– Pro / API Key –> Pro / API Key 固定 5 分鐘 TTL

<!– 關閉緩存選項 –> DISABLE_PROMPT_CACHING=1

不能切換 TTL,只能關閉緩存

<!– ===== 右分支:直接調用 API ===== –> 直接調用 Claude API

<!– 自由選擇 –> 自由選擇 TTL ✓

<!– 5分鐘選項 –> 5 分鐘 TTL cache_control: {type: "ephemeral"}

<!– 1小時選項 –> 1 小時 TTL cache_control: {type: "ephemeral",

<!– 混合使用提示 –> 可在同一請求中混合使用兩種 TTL 約束: 1 小時 TTL 內容必須在 5 分鐘之前

<!– API 平臺提示 –> 通過 API易 apiyi.com 調用支持完整緩存配置

<!– 底部總結 –> 結論: Claude Code CLI 的 TTL 由訂閱計劃決定,不可修改 | 直接調用 API 可自由選擇 5 分鐘或 1 小時


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)

<!– 標題 –> 緩存成本對比:5 分鐘 vs 1 小時 vs 無緩存 假設緩存 100 萬 Token(以 Claude Sonnet 4.6 基礎輸入價 $3/MTok 爲例)

<!– 圖例 –> 無緩存(每次全價) 5 分鐘 TTL 1 小時 TTL

<!– 座標軸 –>

<!– Y軸標籤(總成本) –> 總成本($) $30 $25 $20 $15 $10 $5 $2 $0

<!– X軸標籤(緩存讀取次數) –> 緩存讀取次數 1 2 3 4 5 6 7 8 9 10

<!– 無緩存線(紅色):每次 $3,1次=$3, 5次=$15, 10次=$30 –> <!– y = 410 – (cost/30)*307, cost=3*n –> $15

<!– 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 –> $5.25

<!– 1小時TTL線(橙色):首次寫入$6, 後續每次讀取+$0.30 –> <!– 1次: 6+0.30=6.30, 2次: 6.60, 5次: 7.50, 10次: 9.00 –> $7.50

<!– 標註區域 –> 10 次讀取後: 無緩存 $30 | 1h TTL $9 (省 70%) | 5min TTL $6.75 (省 78%)


常見問題

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 的核心要點:

  1. 兩檔 TTL 可選: 5 分鐘(寫入 1.25 倍,1 次讀取回本)和 1 小時(寫入 2 倍,2 次讀取回本),讀取均爲 0.1 倍
  2. Claude Code CLI 不能改 TTL: Max 訂閱自動 1 小時,Pro/API Key 固定 5 分鐘,只能關閉不能切換
  3. Claude API 可自由選擇: 通過 cache_control.ttl 參數設置,同一請求可混合兩種 TTL
  4. 高頻對話選 5 分鐘: 每次命中自動續期,寫入成本更低;間歇使用選 1 小時避免過期

緩存命中 = 輸入費用打一折,是 Claude 最核心的省錢機制。推薦通過 API易 apiyi.com 統一接口調用,完整支持緩存配置,一個 Key 即可測試不同 TTL 策略的實際成本差異。


📚 參考資料

  1. Anthropic 官方文檔 – Prompt Caching: TTL 配置、計費規則、cache_control 語法的權威來源

    • 鏈接: platform.claude.com/docs/en/build-with-claude/prompt-caching
    • 說明: 5 分鐘/1 小時 TTL 的完整計費公式和代碼示例
  2. Anthropic 官方文檔 – 定價: 所有模型的基礎價格和緩存價格

    • 鏈接: platform.claude.com/docs/en/about-claude/pricing
    • 說明: Opus/Sonnet/Haiku 各模型的緩存寫入和讀取費率
  3. AWS 官方文檔 – Bedrock Prompt Caching: Bedrock 平臺的緩存支持詳情

    • 鏈接: docs.aws.amazon.com/bedrock/latest/userguide/prompt-caching.html
    • 說明: Bedrock 上各模型的 TTL 支持範圍和計費標準
  4. Claude Code Camp – Prompt 緩存工作原理: 深度解析 Claude Code 的緩存實現

    • 鏈接: claudecodecamp.com/p/how-prompt-caching-actually-works-in-claude-code
    • 說明: 瞭解 Claude Code 如何自動管理緩存斷點
  5. GitHub Issue #19436 – 多層緩存 TTL 功能請求: 社區對更靈活 TTL 配置的討論

    • 鏈接: github.com/anthropics/claude-code/issues/19436
    • 說明: 社區提出的基於內容變化頻率的多層 TTL 方案

作者: APIYI 技術團隊
技術交流: 歡迎在評論區討論 Claude 緩存配置經驗,更多模型調用教程可訪問 API易 docs.apiyi.com 文檔中心

發佈留言