MEGAZONEブログ
AWS re:Invent 2024 セッションレポート #ARC308|生成型AIを活用してアーキテクチャ図を作成して理解する
Harnessing generative AI to create & understand architecture diagrams
セッション概要
- タイトル:Harnessing generative AI to create & understand architecture diagrams
- 日付:2024年12月2日(月)
- Venue:Caesars Forum |レベル1 |アライアンス315
- スピーカー:
- Tom Romano(Sr. Solutions Architect、Amazon Web Service)
- Mark Curtis(Senior Solutions Architect、Amazon Web Services)
- Swapnil Singh(Solutions Architect, AWS)
- Kevin Hakanson(Sr. Solutions Architect、Amazon Web Services)
- Jenna Pederson(Principal Developer Advocate、AWS)
- 業界:Cross-Industry Solutions
- 概要:このセッションでは、イメージ、draw.io、テキストなどとして存在するアーキテクチャ図を、生成されたAIを使用して一貫した形式のアーキテクチャ図を作成する方法を共有します。 Visual Studio Code で Amazon Q developer を使用して、さまざまな形式のアーキテクチャ図を作成できます。
はじめに
このコラムでは、Amazon Q developerを使用してさまざまな形式のアーキテクチャ図を作成し、マルチショットプロンプトなどを使用してより具体的な図を作成する方法を共有します。アーキテクチャ図は、Visual Studio CodeのAmazon Q developerを使用して作成する実践セッションを行いました。
Amazon Q Developer を使用したアーキテクチャ図の作成
開発時によく使用されているVisual Studio Codeで、Amazon Q Developerを使用してコード、テキスト、画像などのデータが存在するときにアーキテクチャ図を作成する方法を実践しました。
Amazon Q developerをコード開発時にだけでなく、アーキテクチャダイアグラムを簡単に描画するために使用する方法を提示しました。改善できます。
Draw.io形式のXML図の作成
まず、AWSインフラストラクチャなど、さまざまなアーキテクチャ図を描画するときによく使用されるdraw.io形式の図を作成する方法について説明しました。
ユーザープロンプトのみを提供した場合、およびユーザープロンプトとともに追加のルールと例を一緒に提供した場合、2つのことを進めて結果を比較してみました。
単純にアーキテクチャを説明するテキストで構成されたユーザープロンプトのみを提供した場合は、次のようなアーキテクチャを作成します。このアーキテクチャは、内容は正確に見えますが、インフラストラクチャ間を結ぶ線が標準アーキテクチャとは異なり一定ではなく、すべてのアイコンが現在使用されているアイコンではなく、以前のバージョンのアイコンで作成されています。
一方、ユーザープロンプトでアーキテクチャを描画するときに考慮する必要がある追加のルール(2024年バージョンのAWSアーキテクチャアイコンを使用します。アベイラビリティーゾーンはVPCとリージョン内に存在する必要があります)と他のインフラストラクチャアーキテクチャの例(multi-shot)をxmlコード形式で一緒に提供した場合には、以下のような結果が出るのがわかりました。
ユーザープロンプトだけを使用した結果と生成を要求したプロンプト自体は同じインフラストラクチャですが、次のように現在のインフラストラクチャアーキテクチャの標準のように出力されることがわかりました。
写真分析によるアーキテクチャ図の作成
アーキテクチャ図の最も下書きを描くときは、主に手で、または他の同僚と話してホワイトボードに描くことが多いです。このように作成されたドラフトを人の手を通さずに完成したアーキテクチャ図で生成する方法を進めました。
上の図のように、ホワイトボードに描かれたデータフローの写真をまずLLMで分析し、分析したダイアグラムの修正すべき事項や脆弱性もLLMで修正し、最終的には以下のようなダイアグラムを生成することができます。
まとめ
AWS上で、あるいはどんなサービスを使用しても、アーキテクチャは必ず作成することになります。このような過程でアーキテクチャを標準に合わせて作業するのが思ったより時間がかかる作業ですが、このようにAmazon Qを使用してdraw.ioで使用できるドラフトを作成すると、そのような時間を短縮するのに大きな役割を果たすことになります。また、普段のアーキテクチャ作成時によく使う、必須のルールが明確に定められていれば、プロンプトも簡単に作成して使用できると予想されます。
記事 │MEGAZONECLOUD AI&Data Analytics Center(ADC)、Data Application Support Team、オム・ユジンマネージャー