こんにちは、近藤(りょう)です!
Amazon Q Developer Command Line Interface(CLI)に、画像入力サポート機能が追加されました。(Amazon Q Developer CLI v1.10.0)
このアップデートによりコマンドライン上からアーキテクチャ図や ER 図、スクリーンショットなどの視覚的な情報をそのまま入力できるようになり、構造を読み取ってテキスト化したり、修正ポイントを提案してくれたりします。
今回は、この「図をインプットとして話しかける」という体験を実際に試してみました。
aws.amazon.com
前提
環境準備
■ その1
コマンドライン用の Amazon Q CLI がインストールされていること。
docs.aws.amazon.com
■ その2
インプットイメージで使用するサンプル画像ファイル(例:sample-er.png)を、カレントディレクトリに配置されていること。
■ その3
質問は Amazon Q CLI のチャットモード(q chat
)を起動した上で実行しています。
※ 英語で回答が返ってくることもあるので、「日本語で回答してください」と書くのがおすすめです。
利用にあたっての注意点
Amazon Q Developer Pro を使用していない場合、以下の点に留意してください。
無料版 Amazon Q Developer の一部機能では、サービス改善のためにユーザーコンテンツが利用される可能性があります。 Proプランまたは Businessプランの利用時はコンテンツ共有は行われません。
必要に応じて、以下の手順を参考に レコメントリの共有とコンテンツの共有をオプトアウト することを検討ください。
ER図 から DDL作成 - テーブルが少ないパターン
テーブル数が少ないシンプルなパターンで DDL の生成を試してみました。
今回は、簡易的な注文管理システムをイメージしています。
■ インプット イメージ

■ 質問文
./sample-er.png に記載されている ER 図の DDL を作成してください。 PostgreSQL の構文に準拠し、日本語で回答をお願いします。
■ アウトプット

うまく DDL が生成されていることが確認できました。
ER図 から DDL作成 - テーブルが多いパターン
次は、もう少しテーブルが多いパターンを試してみました。
今回は、令和6年度 春期 応用情報技術者試験 午後 データベース分野 図1の E-R 図を参考にしています。インプット イメージの ER図に関しては、元の ER 図から祝日を除き、PK, FKも表しました。
■ インプット イメージ

■ 質問文
./ap-r6-er-sample.png に記載されている ER 図の DDL を作成してください。 PostgreSQL の構文に準拠し、日本語で回答をお願いします。 各エンティティ間の接続で表してる線は、ー:1対1、 →:1対多 です。 テーブルとカラムは英語に変換してください。
■ アウトプット

必要なテーブルとカラムは一通り定義されているようでした。細かな修正を加えれば、問題なく使えそうです。
プロンプトを最適化することで、さらに精度の高い DDL 生成も期待できそうだと感じました。
構成図から IaC コード生成
構成図をもとに、CloudFormation のテンプレートを生成できるかを試してみました。
■ インプット イメージ

■ 質問文
./sample-aws-architecture.png CloudFormationのテンプレートを作成してください。 日本語で回答をお願いします。
■ アウトプット

修正は必要なものの、構成図からテンプレートを生成できることは確認できました。 AWSのブログでは Terraform 形式での生成例も紹介されているため、出力形式は柔軟に変更できる可能性が高いと感じました。
- Amazon Q Developer CLI がターミナルでの画像入力をサポート | Amazon Web Services ブログ
- ユースケース 1: アーキテクチャ図から Infrastructure as Code を生成する
構成図の評価
構成図を読み取れるということはその内容を評価することもできるそうと思い、試しに先ほど使用した構成図のアーキテクチャについて評価を依頼してみました。
■ インプット イメージ
※先ほどと同じ構成図を利用しています。

■ 質問文
./sample-aws-architecture.png のArchitectureを評価してください。 日本語で回答をお願いします。
■ アウトプット

ベースとなる評価はある程度行ってくれる印象でしたが、システムの要件によって利用目的が異なるのでAmazon Q による評価を活用するには、プロンプトを適切に最適化する必要があると感じました。
まとめ
今回、ER図や構成図から DDL や IaC コードを生成したり、構成図そのものを評価できることを確認しました。
最終的には、エンジニアが設計を主導し、運用・コスト・セキュリティの観点も考慮した構成に仕上げていく必要がありますが、ドラフト実装やプロトタイプ開発のようなフェーズでは、このようなアプローチによって、開発スピードの大幅な向上が期待できると感じました。
また、回答の精度を上げるためには、プロンプト最適化も行うことをおすすめします~