AIPテスト、検証、トラブルシューティング
あるEC企業が、商品説明生成のプロンプトを「現行版(v1)」から「改良版(v2)」へ移行したいと考えています。本番トラフィックの一部で両プロンプトを比較し、ビジネス指標(クリック率)と品質を統計的に検証したうえで安全に切り替えたい一方、急な品質劣化があれば即座に元へ戻したいという要件があります。プロンプトはバージョン管理し、アプリのコードを再デプロイせずに切り替えたい場合、最も適した構成はどれですか。
AAmazon Bedrock Prompt Management でプロンプトをバージョン管理し、アプリは特定バージョンを参照する。トラフィックを分割して v1/v2 を出し分け、クリック率を比較したうえで参照バージョンを切り替える
✓ 正解
Prompt Managementはプロンプトをコードから分離してバージョン管理し、参照バージョンの切り替えだけで再デプロイなしの移行と即時ロールバックが可能なため、本番トラフィック分割によるクリック率A/B検証と安全な切り戻しの両要件を満たします。
Bプロンプト v1 と v2 を Lambda 関数のソースコードに直接埋め込み、環境変数で切り替えながら全トラフィックを一度に v2 へ移行する
プロンプトをLambdaコードに埋め込むと切り替えに再デプロイが必要で、全トラフィックを一斉にv2へ移す方式はA/Bによる統計的比較も急な劣化時の即時ロールバックも実現できないため、要件に反します。
CAmazon Bedrock Model Evaluation の自動評価ジョブで v1 と v2 をオフライン比較し、スコアが高い方を恒久的に本番へ適用する
Model Evaluationの自動評価はオフラインのスコア比較であり、クリック率という実際の本番トラフィックに基づくビジネス指標を検証できないため、本番A/Bテストで安全に切り替えるという要件を満たせません。
D2つの異なる基盤モデルにそれぞれ v1 と v2 を固定で割り当て、モデル選択によって間接的にプロンプトを切り替える
各プロンプトを別々の基盤モデルに固定するとプロンプト以外にモデルという変数が同時に変わり、クリック率差がプロンプト改良によるものか切り分けられず、A/Bテストの比較対照として成立しません。
解説
プロンプトをコードから切り離してバージョン管理し、再デプロイなしで切り替え・ロールバックできるのが Bedrock Prompt Management です。アプリは特定バージョン(またはエイリアス)を参照し、トラフィック分割で v1/v2 をA/Bテストしてクリック率を比較、問題があれば参照バージョンを戻すだけで即時ロールバックできます。本番A/Bと安全な切り戻しの両要件を満たします。
選択肢Bはプロンプトをコードに埋め込むため再デプロイが必要で、一斉移行はA/B検証も即時ロールバックも満たしません。
選択肢Cのオフライン評価は本番のクリック率という実トラフィック指標を検証できません。
選択肢Dはモデルを変えることになり、プロンプト差以外の変数が混入してA/Bの比較が成立しません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでAIPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →