9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI感のないAWS構成図をAIエージェントに描かせたい!

9
Posted at

みなさんが過去にClaudeやCodex(今後はまとめて「AIエージェント」と呼びます)に作成してもらった構成図ってこんな感じの構成図じゃなかったですか?

AWS Diagram MCP Serverが描いた角の丸いAWS構成図

アイコンやサブネットの角が丸っぽくてAI感ありますよね。「これじゃ自分で書いたほうがいいや」となっちゃいます。

コーディングだけでなく雑務などの日々のタスクもAIエージェントに任せられるようになったのに、どうして思ったようなきれいな構成図が生成されないのでしょうか。

思った通りの構成図を作成する方法を探すため、いくつかのMCPやSkillを使って検証してみました。
その結果、次のような(個人的に)満足いく構成図ができたので、業務でも使える(と個人的には思う)構成図を出す方法を書いていきます!

指示を詰めたあとにClaude Codeが描いたAWS構成図

2026年9月に Claude Code 2.1.278(モデルは Claude Opus 5)で検証しました。

構成図の好みには一種の宗教的な要素があると思っています。
(何をどこに配置するか、ユーザーからのリクエストは上からなのか左からなのかなど…)

今回は私の個人的な「きれいな構成図ができた!みんなに広めたい!」という気持ちから検証し、記事を書いていますので、みなさんの好みがあれば各々カスタムして使ってみてください。

よくある悩み

次のような悩み・不満はありませんか?私はよく思ってました。

  • 構成図をAIエージェントに生成させたいけど、生成物の質がよくない
  • 公式のMCPやSkill、プラグインも使ってなんか良さげなものが出てきたけどあと少し足りない
  • 結局どのツール(MCP、Skillなど)を使えばいいのかわからない

そこで今回は、AWSやdraw.ioが公式で出しているMCPやSkillと、何も設定していないClaude Codeの5パターンで、同じ指示から構成図を作ってみました。
出てきた図を見て気になったところを指示に追加していき、どこまできれいになるかを試しています。

比べた5パターン

今回比べたのは次の5パターンです。

# 使うもの 出すもの URL
1 AWS Diagram MCP Server 1.0.23(MCP・非推奨) PNGのみ PyPI
2 aws-architecture-diagram スキル(Skill) .drawio(頼めばPNG、SVG、PDF) GitHub
3 draw.io公式 MCP Tool Server(MCP) draw.ioを開くURL(既存の.drawioの書き換えは可) GitHub
4 draw.io公式 Claude Code プラグイン(Skill) .drawio(頼めばPNG、SVG、PDF、URL) GitHub
5 Claude Code(Skill・MCPなし) 指示次第 ドキュメント

PNGやSVGへの書き出しには draw.io desktop が必要です。今回は1以外のパターンに「draw.io の XML 形式でファイルに保存する」と指示したので、3と5も .drawio を出しています。

達成すべきこと

業務で使うなら、次の内容を達成する必要があると考えます。

  • 同じ指示を出したら、毎回同じような構成図ができる(再現性)
  • 少ないトークンと時間で作れる(コスパ)
  • 指示した内容だけが描かれる。頼んでいない番号や説明文が入らない(指示への忠実さ)
  • 線やラベルが重ならず、見やすい(可読性)
  • 角の丸いアイコンや余計な枠がなく、AI感がない(見た目)
  • 生成後に手で直せる形式(.drawio)で出る(編集のしやすさ)

主にこの6つを観点にして、公式のMCPやSkillを含む5パターンで構成図を作って比べました。

検証で気をつけたこと

今回の検証は複数のMCPやSkillの生成物を比較するものです。既存のユーザー設定のSkillやプラグイン、CLAUDE.md(AGENTS.md)があると、生成物に影響が出ます。

そこで、プロジェクトの設定だけを読み込み、MCPは指定したものだけに絞るオプションを付けて起動しています(ここはClaude Codeに色々聞きながら調整しました)。

--strict-mcp-config を付けないと、claude.ai側で連携しているMCP(AWSのドキュメント検索など)が残ってしまいます。

# AWS Diagram MCP Server、draw.io MCP Tool Server
claude --setting-sources project --strict-mcp-config --mcp-config mcp.json

# aws-architecture-diagram スキル
claude --setting-sources project --strict-mcp-config --plugin-dir agent-plugins/plugins/deploy-on-aws

# draw.io Claude Code プラグイン
claude --setting-sources project --strict-mcp-config --plugin-dir drawio-mcp/plugins/claude-code

# Claude Code(Skill・MCPなし)
claude --setting-sources project --strict-mcp-config

--strict-mcp-configで起動したときの/context allの結果。比べたいMCPだけが読み込まれている

比べたいMCPだけが読み込まれていて、Claude Codeのビルトインの Skill は残っています。

最初は --safe-mode も試しました。CLAUDE.md や Skill、プラグイン、MCP などを全部無効にしてくれるオプションですが、今回比べたいMCPやプラグインまで無効になってしまうので使えなかったです。

まずは普通に描かせる

最初は次の指示で構成図作成を依頼しました。

以下のAWS構成の構成図を作ってください。

- CloudFront の背後に ALB を置く
- ALB のターゲットは ECS Fargate のサービスで、2つのAZに分散する
- データベースは Aurora MySQL、Writer 1台と Reader 1台を2つのAZに分ける
- 静的ファイルは S3 に置き、CloudFront から配信する
- ログとメトリクスは CloudWatch に集約する
- VPC は 2AZ 構成で、各AZにパブリックサブネットとプライベートサブネットを持つ
- ALB はパブリックサブネット、ECS と Aurora はプライベートサブネットに置く
- 各AZのパブリックサブネットに NAT Gateway を置き、ECS からの外向き通信を通す
- ラベルは日本語で書く。ただし AWS のサービス名は英語のままにする
- 図は draw.io の XML 形式で、out/ 配下にファイルとして保存する

AWS Diagram MCP Server は PNG しか出せないので、最後の行だけ「図は PNG 形式で、out/ 配下にファイルとして保存する」に変えて渡しています。

この指示を5パターンで試したところ、次の構成図が作成されました。
余計な文字が入っていたり、アイコンの角が丸っぽかったりと、そのままでは業務で使えないため、少し手直しが必要だと私は感じます。

AWS Diagram MCP Server(非推奨)

線がゴチャゴチャしていて見づらいです。
アイコンやサブネットなどの角が丸っぽくてAI感が満載です。

見た目の指示なしでAWS Diagram MCP Serverが描いた構成図

AWS Diagram MCP Serverは非推奨になっていて、更新も止まっています。
今回は比較のために使いましたが、これから使うのはおすすめしません。

aws-architecture-diagram スキル

指示に入れていない四角枠の数字や画像右側のデータフローが追加されています。
サービスアイコンの周りにも四角の枠が付いていてAI感があります。

見た目の指示なしでaws-architecture-diagramスキルが描いた構成図

draw.io MCP Tool Server

他の構成図と比べると良さげですが、線が重なっていて見づらい点があります。
指示していない文言(「ECS / Aurora は各AZのプライベートサブネットに配置」)などが記載されています。

見た目の指示なしでdraw.io MCP Tool Serverが描いた構成図

draw.io Claude Code プラグイン

こちらも他と比べると良さげです。
ただ、線の角が丸っぽかったり、文字と線が重なっているところがあったりします。

見た目の指示なしでdraw.ioのClaude Codeプラグインが描いた構成図

Claude Code(Skill・MCPなし)

比較用として、MCPやSkillなどを設定していないClaude Codeにも生成させました。
結構きれいにまとまっていますが、アイコンの色でおかしな点があったり(S3がオレンジ)、サービス名がアイコンの上下両方に記載されていたりします。

見た目の指示なしでSkillもMCPもないClaude Codeが描いた構成図

追加していった指示

同じ指示を5パターンに投げては、出てきた構成図を見て気になったところを指示に追加していきました。追加した指示はこんな感じです。

気になったところ 追加した指示
文字に線が重なっていた 線とラベルを重ねない
重ねないために、アイコンを捨てて四角で描いた AWS公式のアイコンを使う
ECS が四角のままだった アイコンを必ず使う。図の外に文字を置かない
線のラベルまで消えた 線のラベルは許す。サブネットの上下を決める
補足と色分けまで消えた 要素に付く短い補足は許す
AZ を勝手に A、C と名付けていた AZ を正式名称で書く
利用者が上にいたり左にいたりバラバラだった 利用者を図の上端に置く
新旧のアイコンが混ざっていた アイコンを最新のデザインで揃える(うまくいかず、最終の指示からは外した)
Aurora がインスタンスのアイコンになっていた サービス単位のアイコンを使う。ラベルはアイコンの下
線の出る位置が毎回違っていた 線をアイコンの辺の中央から出す

検証結果

最終的には次の指示で構成図作成を依頼しました。

以下のAWS構成の構成図を作ってください。

- CloudFront の背後に ALB を置く
- ALB のターゲットは ECS Fargate のサービスで、2つのAZに分散する
- データベースは Aurora MySQL、Writer 1台と Reader 1台を2つのAZに分ける
- 静的ファイルは S3 に置き、CloudFront から配信する
- ログとメトリクスは CloudWatch に集約する
- VPC は 2AZ 構成で、各AZにパブリックサブネットとプライベートサブネットを持つ
- アベイラビリティゾーンの名前は正式名称で書く。「A」「B」のような略記にしない
- ALB はパブリックサブネット、ECS と Aurora はプライベートサブネットに置く
- 利用者は図の上端に置く
- 各AZの中は、パブリックサブネットを上、プライベートサブネットを下に置く
- 各AZのパブリックサブネットに NAT Gateway を置き、ECS からの外向き通信を通す
- AWS 公式のアイコンを必ず使う。四角や丸で代用しない。サービス単位のアイコンを使い、インスタンスなど個別リソースのアイコンは使わない
- ラベルは日本語で書く。ただし AWS のサービス名は英語のままにする
- アイコンのラベルはアイコンの下に置く
- アイコンやラベルの文字に線を重ねない。ラベルの下から線を出すのはかまわない。線どうしを重ねない。交差するのはかまわない
- 線はできるだけアイコンの辺の中央から出す
- 図の外にタイトル、凡例、説明パネルを置かない。線のラベルや、要素に付く短い補足は入れてよい
- 図は draw.io の XML 形式で、out/ 配下にファイルとして保存する

ちなみに、同じ指示を3回出したときの時間とトークンの平均はこんな感じでした。

パターン 時間 出力トークン 再現性
AWS Diagram MCP Server(MCP) 5.5分 23,393 毎回結構変わる
aws-architecture-diagram スキル(Skill) 5.4分 33,510 ちょこちょこ変わる
draw.io MCP Tool Server(MCP) 4.1分 25,439 ほぼ同じ。NAT Gateway のアイコンが毎回違う
draw.io Claude Code プラグイン(Skill) 5.8分 34,544 ほぼ同じ。S3 の位置が変わる
Claude Code(Skill・MCPなし) 5.4分 32,805 ほぼ同じ

AWS Diagram MCP Server(非推奨)

線は曲線のままで、アイコンの角の丸さも残っていて、AI感は抜けきらなかったです。
出力がPNGのみなので、気になる点をあとから修正できないのもつらいところです。

最終的な指示でAWS Diagram MCP Serverが描いた構成図

aws-architecture-diagram スキル

枠や配置はきれいに整いました。

ただ、他のパターンと比べると線が足りず、CloudWatch への線や Aurora のレプリケーションが描かれてません。
NAT Gateway のアイコンが VPC のアイコンになっているのも気になりました(指示が悪いのかもしれませんが)。

最終的な指示でaws-architecture-diagramスキルが描いた構成図

draw.io MCP Tool Server

線がすっきりしていて、個人的にかなり好きです。
こちらも NAT Gateway のアイコンが VPC のアイコンになっていて、あとスコシという感じです。

最終的な指示でdraw.io MCP Tool Serverが描いた構成図

draw.io Claude Code プラグイン

アイコンが揃っていて、情報量もちょうどいいと思いました。

最終的な指示でdraw.ioのClaude Codeプラグインが描いた構成図

Claude Code(Skill・MCPなし)

何も入れていないのに線の交差もなく、複数回構成図を作成してみても一番差が小さかったです。

最終的な指示でSkillもMCPもないClaude Codeが描いた構成図

結論

指示を追加していったら、どのパターンも最初よりかなり良くなりました!
個人的には、draw.io MCP、draw.io プラグイン、Claude Code の3パターンがいい感じでした。

公式のMCPやSkillのどれを使うかより、「こういう構成図が作りたい・こういう点を考慮して作って」という明確な指示のほうが重要だと思います。

コーディングでも、指示が足りないと不要なコメントや過剰な実装が出てきますよね。構成図も同じです。

…とはいえ、毎回この長い指示を書くの、めんどくさくないですか?

おまけ

というわけで、今回追加していった指示を詰め込んだSkillにしちゃいました!
よかったら使ってみてください。

本文と同じ依頼をこの Skill で描かせると、こうなります。

本文と同じ依頼で自作のSkillが描いたAWS構成図

VPC の無い構成も描けます。Amazon Bedrock AgentCore と Lambda Web Adapter の例です。

自作のSkillが描いたAgentCoreとLambda Web Adapterの構成図

みなさんは構成図をAIエージェントに描かせるとき、どんな指示を出してますか?コメントで教えてもらえると嬉しいです!

記事中の構成図は AWS Architecture Icons を使っています。

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?