Converse API は Amazon Bedrock が提供する統一会話インターフェースです。Claude・Titan・Llama など異なるモデルを単一の API 仕様で呼び出せるほか、ツール使用(function calling)も統一仕様で扱えます。将来モデルを追加しても会話管理コードの変更が不要なため、4つの要件をすべて満たします。
C
Amazon Bedrock Agents を作成し、すべての会話をエージェントレイヤーで処理する
Bedrock Agents は外部 API 連携やマルチステップタスク実行向けのオーケストレーション層であり、単純な会話インターフェース統一が目的の本ケースではオーバーエンジニアリングです。
D
InvokeModel API を使用し、モデルごとにアダプタークラスを自前実装する
InvokeModel API は各モデル固有のリクエスト形式を要求します。アダプタークラスで抽象化する方法は機能しますが、Converse API と比較してメンテナンスコストが高く、ツール仕様の統一も別途実装が必要です。
解説
Converse API は Amazon Bedrock が提供する統一会話インターフェースです。Claude・Titan・Llama など異なるモデルを単一の API 仕様で呼び出せるほか、ツール使用(function calling)も統一仕様で扱えます。将来モデルを追加しても会話管理コードの変更が不要なため、4つの要件をすべて満たします。
選択肢AのInvokeModelWithResponseStream APIはストリーミング向きですが、各モデルのリクエストペイロード形式が異なるため、モデルごとに個別の実装が必要です。統一管理の要件を満たしません。
選択肢CのBedrock Agents は外部 API 連携やマルチステップタスク実行向けのオーケストレーション層であり、単純な会話インターフェース統一が目的の本ケースではオーバーエンジニアリングです。
選択肢DのInvokeModel API は各モデル固有のリクエスト形式を要求します。アダプタークラスで抽象化する方法は機能しますが、Converse API と比較してメンテナンスコストが高く、ツール仕様の統一も別途実装が必要です。