AIP生成AIアプリケーションの運用効率と最適化
ECサイトのAIチャットボットがAmazon Bedrockを使用して1日50,000件の顧客問い合わせを処理しています。分析の結果、問い合わせの約35%が「返品ポリシーを教えて」「商品はいつ届きますか」「送料はいくらですか」など意味的に類似したものであることが判明しました。APIコストを削減するために、Amazon Bedrock APIへの重複呼び出しを最小化する最も効果的なアーキテクチャはどれですか?
AAmazon DynamoDBを使用してユーザーの問い合わせ文字列をキーとした完全一致キャッシュを実装する
文字列の完全一致のみに対応するキャッシュであり、「返品ポリシーを教えて」と「商品の返品方法は?」など表現が少し異なるだけでヒットしない。類似した表現の問い合わせには対応できないため、35%の重複クエリへのカバレッジが著しく低くなる。
BAmazon Titan EmbeddingsとOpenSearch ServerlessのkNNインデックスを組み合わせたセマンティックキャッシング層を構築する
✓ 正解
Amazon Titan Embeddingsでクエリをベクトル化し、OpenSearch ServerlessのkNNインデックスで類似度検索を行うことで、表現が異なる意味的に類似したクエリにもキャッシュを適用できる。35%の重複問い合わせに対して高いヒット率を実現し、Bedrock API呼び出しを効果的に削減できる。
CAmazon Bedrock Knowledge Basesに問い合わせと回答のペアを登録して回答ストアとして活用する
RAG(検索拡張生成)のための知識ベースとして設計されており、クエリに対してドキュメントから回答を生成する仕組みである。キャッシュシステムとして機能するものではなく、問い合わせのたびにBedrock APIを呼び出すため、API呼び出しコストの削減にはならない。
DAmazon SQS FIFOキューのメッセージ重複排除機能を使って、同時に送信された同一メッセージをマージする
SQS FIFOの重複排除は同一タイムウィンドウ(5分)内の完全に同一メッセージをマージする機能であり、表現は異なるが意味的に類似したチャットクエリには対応できない。セマンティックキャッシング層の代替としてAPIコストを削減する手段にはならない。
解説
セマンティックキャッシングは、意味的に類似したクエリに対してキャッシュされた回答を再利用するアーキテクチャパターンです。
実装の流れは以下の通りです。
①新規クエリをAmazon Titan Embeddingsでベクトル化する
②Amazon OpenSearch ServerlessのkNNインデックスで既存クエリベクトルとのコサイン類似度を計算する
③類似度が閾値(例:0.95)を超えた場合、対応するキャッシュ済み回答を返す
④類似クエリが存在しない場合はBedrockを呼び出し、新しいクエリ・回答ペアをキャッシュに保存する
この方式では「返品ポリシーを教えて」と「商品の返品方法は?」のような表現が異なる類似クエリにも対応でき、35%のキャッシュヒット率を実現できます。
選択肢AのDynamoDB完全一致キャッシュは文字列が完全に一致するクエリにのみ有効で、表現が少しでも異なると機能しないため、カバレッジが極めて低くなります。
選択肢CのBedrock Knowledge Basesは回答生成のためのRAGシステムであり、キャッシングシステムとして設計されていないため、Bedrock API呼び出しの削減にはなりません。
選択肢DのSQS FIFOの重複排除は同一タイムウィンドウ内の完全に同一のメッセージをマージするものであり、表現が異なる類似クエリには対応できません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでAIPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →