ブログ

AWS の AI エージェント、Bedrock Engineer の「Diagram Generator」で構成図自動生成を試してみた

近年、生成 AI の飛躍的な進化により、ソフトウェア開発の現場にも AI の導入が急速に進んでいます。その中で注目を集めているのが、AWS の生成 AI プラットフォーム「Amazon Bedrock」を活用した AI エージェント、「Bedrock Engineer」です。

 この革新的なエージェントは、大規模言語モデルの能力と実際のファイル操作、Web 検索機能を組み合わせ、ソフトウェア開発タスクを支援する自律型AIアシスタントとして設計されています。

 さらに、Bedrock Engineer に新たに追加された「Diagram Generator」は、テキストベースのプロンプトから AWS 構成図やシーケンス図などの各種ダイアグラムを自動生成する機能です。これにより、ソフトウェア開発者やシステムアーキテクトは、詳細な図解を迅速かつ容易に作成・可視化でき、設計やコミュニケーションの効率化に大きく寄与します。

 本ブログでは、この「Diagram Generator」を実際に操作し、その利便性と可能性を探ってみました。

Amazon Bedrock の事前準備

 Bedrock Engineer は指定した AWS アカウントの Amazon Bedrock の LLM モデルと通信してそれぞれのタスクを実行します。LLM モデルが使用できるように事前準備をします。

モデルアクセスの有効化

 Amazon Bedrock コンソールから、使用する LLM モデルのアクセスをリクエストし、アクセスできる状態にします。

 Bedrock configurations の [モデルアクセス] から [特定のモデルを有効にする] (新規の場合) または [モデルアクセスを変更] (既存の場合) をクリックします。

[特定のモデルを有効にする] (新規の場合)

[モデルアクセスを変更] (既存の場合)

 モデルアクセスの編集画面にて、アクセスリクエストしたいモデルを選択します。本ブログでは、以下の3つのモデルを対象にしました。

  • Claude 3.7 Sonnet
  • Claude 3.5 Haiku
  • Claude 3.5 Sonnet v2

 モデルの選択後、確認して送信すると、モデルへのアクセスが付与されます。

 モデル一覧のアクセスのステータスが「リクエスト可能」から「アクセスが付与されました」に変われば使用することができます。

※モデルのアクセスリクエストはリージョン毎に必要です。本ブログでは、Claude 3.7 Sonnet を使用したかったため、米国(オレゴン)で実施しました。

アクセスキーの作成

 Amazon Bedrock にアクセスするための特定の IAM 権限が必要になります。

 必要なIAMポリシーは Bedrock Engineer の AWS Settings に記載のリンクの内容を参考に作成します。

 この IAM ポリシーを付与した IAM ユーザーを作成後、アクセスキーを作成しアクセスキー ID とシークレットアクセスキーを控えておきます。

 Amazon Bedrock の事前準備は以上で完了です。

Bedrock Engineer の導入

 Bedrock Engineer はネイティブアプリです。本ブログでは、Github リポジトリからクローンし、ビルドして導入します。

 Github リポジトリをローカル環境にクローンします。

git clone https://github.com/aws-samples/bedrock-engineer.git

 クローン後、フォルダに移動します。

cd bedrock-engineer

 ビルドします。

 まず、npm モジュールをインストールします。

npm install

 次に、各環境にあわせて、アプリケーションパッケージをビルドします。

npm run build:mac   :Mac の場合

 または、

npm run build:win   :Windows の場合

 または、

npm run build:linux   :Linux の場合

 ビルド完了後、以下のフォルダに「Bedrock Engineer.app」があります。

  bedrock-engineer > dist > mac-universal

 Bedrock Engineer を実行すると、Bedrock Engineer アプリが立ち上がります。

Bedrock Engineer の設定

 導入できたら、まず最初に設定をします。画面左のメニューアイコンから歯車マークを選択すると、設定画面に遷移します。

 「Language」を日本語に設定します。(デフォルトで日本語に設定されていなかった場合。)

 対象アカウントの Amazon Bedrock にアクセスするために、「AWS Settings」でアクセスキーIDおよびシークレットアクセスキーを入力します。
(Amazon Bedrock の事前準備にて作成したアクセスキー ID およびシークレットアクセスキーを入力)

 また、リージョンを指定します。今回は Claude 3.7 Sonnet を使用したかったため、「US West (Oregon) (us-west-2)」を指定しています。

 Amazon Bedrock の LLM(大規模言語モデル)については、「Claude 3.7 Sonnet (US cross-region)」を指定します。

 推論パラメータや詳細設定、通知設定については、今回はデフォルトのままで進めます。

 設定は以上で完了です。

Diagram Generator で構成図生成 その1(Claude 3.7 Sonnet)

 画面左のメニューアイコンから「Diagram Generator」のマークを選択すると、Diagram Generator 画面に遷移します。

 dwaw.io ベースの Diagram Generator 画面が表示されます。

 画面下部のメッセージ入力フィールドに以下の内容を入力し、構成図を生成してみます。

ALB、EC2(2台)、RDS(マルチAZ)構成の Website ホスティングを作成する

 少し待つと構成図が生成されました。大きな間違いなく、構成図が生成されています。

【構成図部分の拡大図】

 次に、生成した構成図にリソースを追加して更新できるかを試してみます。次の内容を入力してみます。

ACMによるSSL証明書、Route53でドメイン管理をする構成を追加

 すると、アイコンと文字が重なったりして手動で修正は必要ですが、さきほどの構成に必要なサービスが追加された構成図が生成されました。

【構成図部分の拡大図】

 さらに、次の内容を入力して構成図を更新してみます。

ALBとEC2インスタンスのサブネットは分割する。ALBはパブリックサブネット、EC2インスタンスはプライベートサブネットとする。

 すると、指示した通りに構成図が更新されました。気を利かして指示していない NAT Gateway まで追加してくれていますね。

【構成図部分の拡大図】

 ここで、保存してみます。

 [ファイル] > [形式を指定してエクスポート] > [XML…]

 からエクスポートし保存します。

 draw.io から保存した XML ファイルを読み込むと、draw.io でも表示でき構成の更新や微調整など編集が可能です。

 あとは手動で修正して整えれば構成図が完成します。ゼロから手動で生成する場合と比較すると、工数削減・時間短縮ができました。

Diagram Generator で構成図生成 その2(Claude 3.5 Sonnet v2)

 LLM モデルの違いによる構成図の完成度を見てみましょう。

 さきほどは LLM モデルに「Claude 3.7 Sonnet」を指定していましたが、「Claude 3.5 Sonnet v2」に変更して同じ指示で構成図を生成してみます。

 さきほどと同じ指示で生成した構成図は次のようになりました。

ALB、EC2(2台)、RDS(マルチAZ)構成の Website ホスティングを作成する

【構成図部分の拡大図】

 次の内容を入力してみます。

ACMによるSSL証明書、Route53でドメイン管理をする構成を追加

【構成図部分の拡大図】

 さらに、次の内容を入力して構成図を更新してみます。

ALBとEC2インスタンスのサブネットは分割する。ALBはパブリックサブネット、EC2インスタンスはプライベートサブネットとする。

【構成図部分の拡大図】

 構成図は生成できましたが、RDS のマルチ AZ 構成に対する EC2 インスタンスからの接続経路の誤りや、インターネットゲートウェイや NAT ゲートウェイの追加の有無などをみると、Claude 3.5 Sonnet v2 より Claude 3.7 Sonnet の方が完成度が高く、やはり優秀そうですね。

まとめ

 本ブログでは、最新の生成 AI 技術を活用した AWS の Bedrock Engineer の Diagram Generator による構成図の自動生成の実例を紹介しました。実際に構成図を生成する過程で、LLM モデルとして Claude 3.7 Sonnet と Clauede 3.5 Sonnet v2 の比較を行いました。その結果、より正確で使いやすい構成図を生成できたのは Claude 3.7 Sonnet でした。また、ゼロからの手動生成と比べ大幅な工数削減と迅速な設計・コミュニケーションの実現が期待できそうです。

 Bedrock Engineer には Diagram Generator 以外にも以下の機能があります。これらの機能についてもエンジニアの作業を大いに支援してくれるはずなので試していこうと思います。

  • Agent Chat
  • Website Generator
  • AWS Step Functions Generator

 弊社では Amazon Bedrock を使った生成 AI 環境の構築や運用を行っております。生成 AI に取り組みたいがハードルが高いと感じておられる方は、ぜひ弊社にご相談ください。

 最後までお読みいただきまして、誠にありがとうございました。

元記事発行日: 2025年05月09日、最終更新日: 2025年05月09日