Skip to content

プロンプトキャッシュ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時間キャッシュを有効化

bash
# セッション開始前に環境変数を設定
export ENABLE_PROMPT_CACHING_1H=true
claude

または、一時的に設定してClaude Codeを起動:

bash
ENABLE_PROMPT_CACHING_1H=true claude

5分間TTLを強制(従来の動作に戻す)

bash
export FORCE_PROMPT_CACHING_5M=true
claude

シェルプロファイルへの永続設定

bash
# ~/.bashrc または ~/.zshrc に追加
echo 'export ENABLE_PROMPT_CACHING_1H=true' >> ~/.zshrc
source ~/.zshrc

実践例

大規模プロジェクトでの長時間開発セッション

bash
# 大きなコードベースを扱う場合、1時間キャッシュでコストを最適化
export ENABLE_PROMPT_CACHING_1H=true
cd /path/to/large-project
claude "このプロジェクトの構造を分析して、リファクタリング計画を立ててください"

大きなコードベースでは、Claude Codeがファイルを読み込む際のプロンプトがキャッシュされます。1時間TTLにより、同じファイル群を何度も再読み込みするコストを避けられます。

Bedrockでの利用

bash
# Bedrock環境での設定(旧環境変数は非推奨)
# ❌ 非推奨(ただし引き続き動作する)
export ENABLE_PROMPT_CACHING_1H_BEDROCK=true

# ✅ 推奨(新しい統一環境変数)
export ENABLE_PROMPT_CACHING_1H=true

CI/CDパイプラインでの活用

yaml
# .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=true1時間1時間継続してキャッシュが有効
FORCE_PROMPT_CACHING_5M=true5分(強制)従来の動作に固定

注意点

  • 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 で修正されました。

関連情報