プロンプトキャッシュTTLを1時間に延長:ENABLE_PROMPT_CACHING_1H環境変数
原文(日本語に翻訳)
APIキー・Bedrock・Vertex・Foundryで1時間のプロンプトキャッシュTTLを有効にする ENABLE_PROMPT_CACHING_1H 環境変数を追加(ENABLE_PROMPT_CACHING_1H_BEDROCK は非推奨ですが引き続き有効)、および5分間TTLを強制する FORCE_PROMPT_CACHING_5M を追加。
原文(英語)
Added ENABLE_PROMPT_CACHING_1H env var to opt into 1-hour prompt cache TTL on API key, Bedrock, Vertex, and Foundry (ENABLE_PROMPT_CACHING_1H_BEDROCK is deprecated but still honored), and FORCE_PROMPT_CACHING_5M to force 5-minute TTL.
概要
Claude Codeのプロンプトキャッシュは通常5分間のTTL(有効期限)ですが、ENABLE_PROMPT_CACHING_1H 環境変数を設定することで、これを1時間に延長できるようになりました。長時間のセッションでは、キャッシュが期限切れになる頻度が大幅に減り、トークンコストの削減とレスポンス速度の向上が期待できます。APIキー、Amazon Bedrock、Google Vertex AI、Foundryのすべてのバックエンドで利用可能です。
基本的な使い方
1時間キャッシュを有効化
# セッション開始前に環境変数を設定
export ENABLE_PROMPT_CACHING_1H=true
claudeまたは、一時的に設定してClaude Codeを起動:
ENABLE_PROMPT_CACHING_1H=true claude5分間TTLを強制(従来の動作に戻す)
export FORCE_PROMPT_CACHING_5M=true
claudeシェルプロファイルへの永続設定
# ~/.bashrc または ~/.zshrc に追加
echo 'export ENABLE_PROMPT_CACHING_1H=true' >> ~/.zshrc
source ~/.zshrc実践例
大規模プロジェクトでの長時間開発セッション
# 大きなコードベースを扱う場合、1時間キャッシュでコストを最適化
export ENABLE_PROMPT_CACHING_1H=true
cd /path/to/large-project
claude "このプロジェクトの構造を分析して、リファクタリング計画を立ててください"大きなコードベースでは、Claude Codeがファイルを読み込む際のプロンプトがキャッシュされます。1時間TTLにより、同じファイル群を何度も再読み込みするコストを避けられます。
Bedrockでの利用
# Bedrock環境での設定(旧環境変数は非推奨)
# ❌ 非推奨(ただし引き続き動作する)
export ENABLE_PROMPT_CACHING_1H_BEDROCK=true
# ✅ 推奨(新しい統一環境変数)
export ENABLE_PROMPT_CACHING_1H=trueCI/CDパイプラインでの活用
# .github/workflows/review.yml
jobs:
code-review:
env:
ENABLE_PROMPT_CACHING_1H: "true" # 長時間レビューセッションをコスト最適化
steps:
- uses: actions/checkout@v4
- run: claude --print "このPRの変更をレビューしてください"コスト比較(参考)
| 設定 | キャッシュTTL | 長時間セッションでの効果 |
|---|---|---|
| デフォルト | 5分 | 5分毎にキャッシュが失効 |
ENABLE_PROMPT_CACHING_1H=true | 1時間 | 1時間継続してキャッシュが有効 |
FORCE_PROMPT_CACHING_5M=true | 5分(強制) | 従来の動作に固定 |
注意点
- 1時間キャッシュは課金対象: キャッシュのwrite(書き込み)には通常のトークンよりもコストがかかりますが、read(読み込み)は大幅に安くなります。長いセッションほど節約効果が大きくなります。
DISABLE_PROMPT_CACHING*との競合に注意: キャッシュを無効化する環境変数が設定されている場合、起動時に警告が表示されます(v2.1.108の別機能)。- 旧環境変数
ENABLE_PROMPT_CACHING_1H_BEDROCKは非推奨: 引き続き動作しますが、ENABLE_PROMPT_CACHING_1Hへの移行を推奨します。 - テレメトリ無効時の注意:
DISABLE_TELEMETRYを設定しているサブスクライバーが、以前は5分TTLにフォールバックしていたバグが v2.1.108 で修正されました。