模擬問題集AIP-C01練習問題 12

AIP-C01 練習問題 12

AWS Generative AI Developer – Professional・運用効率と最適化・無料公開(全 100 問中 15 問を無料公開中)

問題
ある企業が、Amazon Bedrock API を使用して複雑な顧客問い合わせを処理する生成 AI(GenAI)アプリケーションを構築しています。ピーク利用時間帯に、アプリケーションは断続的な API タイムアウトを経験しており、応答チャンクの破損やデータ配信の遅延などの問題を引き起こしています。アプリケーションは、長さがさまざまな複雑な顧客問い合わせを処理する際に、プロンプトをトークン制限内に収めることに苦労しています。ユーザーからは、入力の切り捨てや不完全な応答が報告されています。同社は基盤モデル(FM)の呼び出し失敗も観測しています。 同社は、一時的なサービスエラーを自動的に処理し、ピーク利用時間帯に Amazon Bedrock を過負荷にしない再試行戦略を必要としています。この戦略は、変化するサービスの可用性に適応し、レスポンスストリーミングとトークンを考慮したリクエスト処理もサポートしなければなりません。 これらの要件を満たすソリューションはどれですか?

選択肢と解説

  • 1
    すべてのエラーに対して、試行間の固定 1 秒遅延と最大 3 回の再試行を使用する標準的な再試行戦略を実装する。ストリームを再起動することでストリーミング応答のタイムアウトに対処する。セッションごとにトークン使用量の上限を設定する。
  • 2
    エラー率が事前定義のしきい値を超えたときに再試行を一時的に無効化するサーキットブレーカーパターンと、ジッター付きの指数バックオフを使用する適応型再試行戦略を実装する。チャンク配信のタイムアウトを監視するストリーミング応答ハンドラーを実装する。正常に受信したチャンクをバッファリングし、接続が再確立されたときに最後に受信したチャンクからインテリジェントにストリーミングを再開するようにハンドラーを構成する。
  • AWS SDK を使用して標準(standard)モードの再試行戦略を構成する。Amazon Bedrock API 呼び出しを try-catch ブロックでラップしてタイムアウト例外を処理する。失敗したストリーミングリクエストにはキャッシュ済みの完了結果を返す。すべてのユーザーに対してグローバルなトークン制限を適用する。ジッターベースの再試行ロジックと、リクエストごとの軽量なトークントリミングを追加する。失敗時点から欠落したチャンクのみを要求して、切断されたストリームを再開する。直近のチャンクの小さなインメモリバッファを維持して冗長なデータ転送を最小化する。
  • 4
    Amazon Bedrock クライアントのリクエストタイムアウトを 30 秒に設定する。クライアント側の負荷制限(ロードシェディング)を実装する。部分的な結果をバッファリングし、アプリケーションのパフォーマンスが劣化し始めたら新規リクエストを停止する。すべてのリクエストに静的なトークン使用上限を設定する。指数バックオフによる再試行、動的なチャンクサイズ調整、コンテキストを考慮したトークン制限を構成する。

解説

【正解】C

【0からの解説】
本問の要件を分解すると、(1) 一時的なエラーの自動再試行、(2) ピーク時に Bedrock を過負荷にしない、(3) サービス可用性の変化への適応、(4) レスポンスストリーミングのサポート、(5) トークンを考慮したリクエスト処理、の 5 点です。
・AWS SDK の再試行モード:SDK には standard モード(指数バックオフ+ジッター付きの自動再試行)が組み込まれており、自前実装なしで一時的エラーを処理できます。「ジッター」とは再試行タイミングを意図的にランダム化することで、多数のクライアントが同時に再試行してサービスを過負荷にする「再試行の嵐」を防ぐ手法です。
・トークントリミング:FM にはコンテキストウィンドウ(一度に扱えるトークン数の上限)があるため、リクエストごとに入力を適切に切り詰めて制限内に収める処理が「トークンを考慮したリクエスト処理」に当たります。

【C が正解の理由】
C は 5 つの要件をすべて満たします。SDK の standard モード+ジッター付き再試行で (1)(2)(3) を、欠落チャンクのみの再取得とインメモリバッファによるストリーム再開で (4) を、リクエストごとのトークントリミングで (5) をカバーしています。失敗時のキャッシュ済み応答の返却は、障害時にもユーザー体験を維持するグレースフルデグラデーションとして機能します。

【誤りの選択肢】
A:固定 1 秒遅延の再試行は、ピーク時に全クライアントが同じタイミングで再試行を繰り返すため、Bedrock への過負荷を防げません。ストリーム全体の再起動は受信済みデータを捨てる非効率な方法で、「変化する可用性への適応」の仕組みもありません。
B:再試行とストリーミングの設計は優れていますが、「トークンを考慮したリクエスト処理」に関する対策が一切含まれていません。本問では入力の切り捨てやトークン制限超過が明示的な課題として挙げられているため、この要件を欠く B は不完全です。
D:「静的なトークン使用上限」と「コンテキストを考慮したトークン制限」が矛盾しています。また、パフォーマンス劣化時に新規リクエストを停止するロードシェディングは可用性を犠牲にする手段であり、「自動的にエラーを処理して適応する」という要件の解決策としては不適切です。

【参考】
AWS SDK の再試行動作
Amazon Bedrock InvokeModelWithResponseStream API
← 練習問題 11練習問題 13
AIP-C01 の模擬問題集は全 100

本番形式の練習テスト 2 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

AIP-C01 の模試を受ける料金プランを見る

AIP-C01 の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15