AWS構成図をAIエージェントに描かせたら、なんとなく「AIっぽい」絵になった経験はないでしょうか。曖昧な矢印、崩れたアイコン、公式感のないデザイン。原因は生成方式の選び方にあります。この記事では、AIエージェントを使って実務でそのまま使えるAWS構成図を作る具体的な方法を紹介します。
この記事の要点
- AI感のないAWS構成図を作るには、画像生成AIではなくdiagrams-as-code方式(PythonのdiagramsライブラリやMermaidなど)をAIエージェントに書かせるのが有効です。
- AWS公式のアイコンセット「AWS Architecture Icons」を使えば、AIが生成したコードでも見慣れた構成図の見た目になります。
- AIエージェントに構成図を描かせる作業は、要件を自然言語で渡してコードを生成させ、出力を見て微調整する反復作業が基本です。
なぜAIに描かせると「AI感」が出るのか
画像生成AIにAWS構成図を頼むと、なぜか不自然な絵になります。理由は単純です。画像生成AIは構成図を「絵」として生成しているため、正しいアイコンの形や配置ルールを保証できません。ロゴが崩れたり、矢印の意味が破綻したりします。
構成図は本来、要素と関係性を表す構造化データです。ピクセル単位で描くのではなく、コードやデータから描く仕組みのほうが向いています。ここに気づくかどうかで、成果物の質が大きく変わります。
AI感のない構成図を実現する2つのアプローチ
コード生成型(diagrams-as-code)
PythonのdiagramsライブラリやMermaid、PlantUMLなど、テキストで構成を定義してレンダリングする方式です。AWS公式アイコンをそのまま使えるライブラリもあり、見た目の統一感が出ます。
- diagrams(Python): https://github.com/mingrammer/diagrams
- Mermaid: https://mermaid.js.org/
- AWS Architecture Icons: https://aws.amazon.com/architecture/icons/
アイコン配置型(draw.io連携)
draw.ioはAWSアイコンライブラリを標準搭載しています。AIエージェントにdraw.io形式のXMLを生成させる方法もありますが、座標計算が複雑でレイアウトが崩れやすい印象です。
実践: AIエージェントに構成図を描かせる手順
- 構成要件を自然言語で渡す(ロードバランサー、EC2、RDSなど)
- AIエージェントにPythonのdiagramsコードを生成させる
- コードを実行してPNGやSVGを出力する
- 出力を見てクラスタ分けや配置を指示し直す
生成されるコード例は次のようになります。
from diagrams import Diagram, Cluster
from diagrams.aws.compute import EC2
from diagrams.aws.network import ELB
from diagrams.aws.database import RDS
with Diagram("Web Service", show=False):
lb = ELB("load balancer")
with Cluster("Web Tier"):
web = [EC2("web1"), EC2("web2")]
db = RDS("database")
lb >> web >> db
Clusterで要素をグルーピングすると、レイアウトの破綻を抑えられます。AIエージェントに依頼する際も「Clusterでティアを分けて」と一言添えるだけで結果が安定します。
ツール比較
| ツール | AI感のなさ | 学習コスト | 向いている用途 |
|---|---|---|---|
| diagrams(Python) | 高い | 中 | 実務用の正式な構成図 |
| Mermaid | 中 | 低 | ドキュメント内の簡易図 |
| draw.io(手動+AI補助) | 高い | 中〜高 | 細部までデザインしたい図 |
| 画像生成AI | 低い | 低 | ラフなイメージ共有のみ |
実際に試した所感
実際にAIエージェント(Claude Code)へ「3層構成のdiagramsコードを書いて」と依頼してみました。一発目の出力は要素が一列に並ぶだけで、アイコン同士が近すぎて読みにくいものでした。「Clusterでティアごとに分けて」と指示を追加したところ、見た目が整理され、社内共有に使える程度の品質になりました。試行回数を重ねる前提で使うのが良さそうです。
デメリット・向いていない人
良い点ばかりではありません。次のようなケースでは苦労します。
- マルチアカウントやVPCピアリングなど要素数が多い構成は、自動レイアウトが崩れやすいです
- 社内のデザイン規定に厳密に合わせたい場合は、手動調整の工数がかなり残ります
- コードを書かない前提のメンバーが多い現場では、GUIツールのほうが結局早いこともあります
「一発できれいな構成図が完成する」ことを期待する人には向いていません。AIエージェントは下書きを速く作る道具として捉えるのが実態に近いでしょう。
運用に組み込むときのポイント
diagrams-as-code方式の利点は、コードなのでGitで差分管理できることです。構成変更のたびに図を描き直す手間が減ります。CIパイプラインに組み込んで、構成変更時に自動で再生成する運用も可能なようです。ここは筆者自身は未検証のため、導入する場合は小さく試すのが安全です。
よくある質問
AWS構成図をAIに描かせる一番簡単な方法は何ですか。
Pythonのdiagramsライブラリのコードを、AIエージェントに生成させる方法が手軽です。AWS公式アイコンをそのまま使えます。
ChatGPTやClaudeに直接「AWS構成図を描いて」と頼むとどうなりますか。
画像生成モードで頼むと、アイコンが崩れたAI感のある絵になりやすいです。構造をテキストで渡し、コードを生成させるほうが実用的です。
Mermaidで描いた図もAWS公式アイコンになりますか。
標準のMermaidは幾何図形中心の表現で、AWS公式アイコンには対応していません(参照: https://mermaid.js.org/ )。公式アイコンが必要ならPythonのdiagramsライブラリが向いています。
無料で使えるAWS構成図の自動生成ツールはありますか。
Pythonのdiagramsライブラリはオープンソースで無料です(参照: https://github.com/mingrammer/diagrams )。
構成情報をAIエージェントに渡すのはセキュリティ上問題ありませんか。
IPアドレスや認証情報などの機密情報は渡さず、構成要素の種類と関係性だけを伝えるのが安全です。
手書き風でAI感を消すデザインの工夫はありますか。
Excalidrawのような手書き風レンダラを組み合わせる手法があるようですが、筆者は未検証です。
マルチアカウントのような大規模構成にも使えますか。
要素数が増えると自動レイアウトが崩れやすく、Clusterでの手動グルーピングが前提になります。
構成図を1枚、実際にdiagrams-as-codeで作り直してみると、AIエージェントに向いている仕事とそうでない仕事の境界が見えてきます。