Skip to content

--exclude-dynamic-system-prompt-sections フラグでクロスユーザープロンプトキャッシュを改善

原文(日本語に翻訳)

クロスユーザーのプロンプトキャッシュを改善するため、print モードに --exclude-dynamic-system-prompt-sections フラグを追加しました。

原文(英語)

Added --exclude-dynamic-system-prompt-sections flag to print mode for improved cross-user prompt caching

概要

Claude Code v2.1.98 では、--print モード(非対話型モード)に --exclude-dynamic-system-prompt-sections フラグが追加されました。このフラグを使用すると、システムプロンプトのうちユーザーごとに異なる動的なセクション(例: ユーザー名、現在時刻、セッション固有の情報)を除外した状態でリクエストを送信できます。これにより、複数のユーザーが同じプロンプトパターンを使用する環境(マルチユーザーシステム、CI/CD パイプライン、チーム共有ツールなど)でのプロンプトキャッシュのヒット率が大幅に向上します。

基本的な使い方

bash
# 通常の print モード(動的セクションを含む)
claude --print "コードをレビューしてください"

# --exclude-dynamic-system-prompt-sections を使用(クロスユーザーキャッシュ最適化)
claude --print --exclude-dynamic-system-prompt-sections "コードをレビューしてください"

このフラグを付けることで、ユーザー固有の動的情報がシステムプロンプトから除外され、同じリクエストパターンを持つ異なるユーザー間でプロンプトキャッシュを共有できます。

実践例

チーム共有の CI/CD パイプライン

bash
# CI スクリプト(複数のユーザーが同じパイプラインを実行)
#!/bin/bash

# このフラグなしでは、ユーザー固有のシステムプロンプトにより
# キャッシュが効かない場合がある
claude --print \
  --exclude-dynamic-system-prompt-sections \
  "このコミットのコード変更をレビューして、問題があれば報告してください"

マルチユーザー環境でのコード分析ツール

bash
# 組織内の複数ユーザーが使うスクリプト
#!/bin/bash
FILE_TO_ANALYZE="$1"

# 動的セクションを除外することで、
# 最初のユーザーのリクエスト後にキャッシュが有効になる
claude --print \
  --exclude-dynamic-system-prompt-sections \
  "次のファイルのセキュリティ脆弱性を分析してください: $(cat $FILE_TO_ANALYZE)"

大規模バッチ処理での最適化

bash
#!/bin/bash
# 多数のファイルを処理するバッチスクリプト

PROMPT_TEMPLATE="このコードのドキュメントを日本語で生成してください:"

for file in src/**/*.py; do
  # 各ファイルで同じシステムプロンプト構造を使用し、キャッシュを活用
  claude --print \
    --exclude-dynamic-system-prompt-sections \
    "$PROMPT_TEMPLATE $(cat $file)" \
    > "docs/$(basename $file .py).md"
done

API サーバーでのプロキシ活用

bash
#!/bin/bash
# 複数のユーザーリクエストを処理するサーバースクリプト

handle_request() {
  USER_QUERY="$1"
  
  # 動的セクションを除外してキャッシュ効率を最大化
  RESPONSE=$(claude --print \
    --exclude-dynamic-system-prompt-sections \
    --output-format json \
    "$USER_QUERY")
  
  echo "$RESPONSE"
}

注意点

  • このフラグは --print モード(非対話型モード)でのみ使用できます
  • 除外される「動的セクション」はユーザー名、現在時刻、セッション ID など、ユーザーやセッションごとに変わる情報です
  • 動的セクションを除外すると、コンテキスト情報が一部失われる可能性があります。タスクがユーザー固有の情報を必要としない場合に使用してください
  • プロンプトキャッシュの節約効果は Anthropic の料金体系に依存します。高頻度で同じプロンプトを使用するユースケースで最も効果的です
  • このフラグは Claude Code v2.1.98 以降で利用可能です
  • マルチテナント環境でユーザーデータを分離する場合、このフラグの使用は十分に検討する必要があります

関連情報