Amazon Bedrock Prompt Caching で推論コストを最大 90% 削減する方法

Amazon Bedrock Prompt Caching で推論コストを最大 90% 削減する方法

生成 AI を本番システムに載せると、推論コストレイテンシがすぐに壁になります。
2025 年 4 月に正式リリースされた Amazon Bedrock の新機能「Prompt Caching」は、同じプロンプトを繰り返し呼び出すワークロードで最大 90 % のコスト削減最大 85 % の待ち時間短縮を実現できる強力な武器です。

本記事では、Prompt Caching のしくみをかみ砕いて解説しながら、

  1. コンソールからワンクリックで有効化する手順
  2. boto3 スクリプトで API 経由の呼び出し方を確認
  3. CloudWatch メトリクスCost Explorerを使った効果測定
  4. 本番運用でヒット率を引き上げるベストプラクティス & FAQ

「Bedrock を既に使っている」「生成 AI のランニングコストを抑えたい」という方は、ぜひ 5 分だけ試してみてください。

Prompt Caching とは?

Amazon Bedrock が問い合わせ内容(コンテキスト)をキャッシュし、「同一プロンプト+同一モデル+同一パラメータ」 で再リクエストが来たときに計算をスキップしてくれる機能です。
プレビュー発表時点から “最大 90% コスト削減/最大 85% レイテンシ短縮” が謳われており、2025 年 4 月に正式リリースされました。(aws.amazon.com)

項目キャッシュのヒット時キャッシュのミス時
課金単位CacheRead(割引単価)CacheWrite(通常単価)
レイテンシ最大 85% 短縮通常推論

対応モデル は Claude 3 ファミリー、Titan Text/GPT-4o など主要テキスト系モデル(2025-05 時点)。最新リストは公式ドキュメントを参照。(docs.aws.amazon.com)

事前準備

  • AWS アカウント(Bedrock 利用が有効化済み)
  • 対応リージョン:us-east-1, us-west-2, ap-northeast-1 など(GA 時点)。
  • AWS CLI v2.15 以上 / boto3 v1.34 以上

コンソールから有効化する(最短手順)

設定画面へ移動

Bedrock コンソール → クエリエクスプローラ を開く。

キャッシュをONにする

右ペインの Advanced settingsPrompt caching をオンにする。

動作確認

同一プロンプトを 2 回送って、2 回目は “Cache hit” と表示されることを確認する。

CloudWatch メトリクス InvocationCacheHit が 1 以上になれば成功です。

SDK(boto3)から使うサンプル

python
import boto3, json
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
request = { "modelId": "anthropic.claude-3-sonnet-20240229-v1:0", "content": [{"type": "text", "text": "Explain Einstein's theory of relativity in one sentence."}], "cacheConfig": {"ttlSeconds": 300} # TTL を明示(省略するとデフォルト 300 秒)
}
response = bedrock.invoke_model_with_response_stream( body=json.dumps(request) )
print(response["usage"]) # cacheHit:true/false が分かる
主要ポイント
  • cacheConfig.ttlSeconds で TTL を上書き(5〜300 秒推奨)。
  • レスポンスの usagecacheHit フラグと billedTokens が返る。(docs.aws.amazon.com)

効果を測定する。

Amazon Bedrock Prompt Cachingの設定がどのようにコスト削減に寄与するかを確認します。

リクエストの数を確認

CloudWatch → MetricsBedrock → ModelInvocation を開く。

グラフ化する

InvocationCacheHitInvocationCacheMiss をグラフ化する。

キャッシュのヒット率を計算

キャッシュヒット率 = Hit / (Hit + Miss) を計算する。

コストの確認
[Cost Explorer] で Usage typeCache Read Tokens のコストを確認する。

ヒット率が 50% を超えると、概算で 40% 以上のコスト削減 に繋がります(ケースバイケース)。(aws.amazon.com)

ベストプラクティス

共通のシステムプロンプトをキャッシュ

長いシステムプロンプト(例:スタイルガイド)を毎回送るときに有効。

スモールバッチ+高並列で効果最大化

同期 API を並列実行→短時間に同一プロンプトが集中するとヒット率↑。

トークンバジェットを削減してコンテキスト制限

返答精度に影響しない不要部分は Prompt Engineering で外す。

MemoryDB など外部セマンティックキャッシュと併用

“類似度≒同一プロンプト” を吸収してヒット率を底上げ。(aws.amazon.com)

検証時に生じた疑問と確認結果

キャッシュは何分保持される?
最後のアクセスから 5 分 で自動パージされます。TTL は 60〜300 秒の範囲で設定可。(cloudthat.com)
画像生成モデルでも使える?
2025-05 現在はテキスト生成系モデルのみ対応。画像系(Stable Diffusion XL etc.)は未サポート。今後のアップデートに期待。
セキュリティ面での懸念は?
キャッシュは リージョン内論理分離 された暗号化ストレージに保存され、モデル提供者や他アカウントからは参照不可。トラフィックは従来通り TLS 1.2+ で保護。

まとめ

  • Prompt Caching をオンにして TTL を設定するだけ で、コストとレイテンシが大幅に削減。
  • 効果測定は CloudWatch InvocationCacheHit / Cost Explorer Cache Read Tokens で。
  • 高ヒット率が見込めるワークロードなら、まず試しておいて損はなし!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA