Amazon Web Services ブログ
Amazon Q Developer CLI がターミナルでの画像入力をサポート
本記事は 2025 年 5 月 21 日に公開された “Amazon Q Developer CLI supports image inputs in your terminal” を翻訳したものです。
この記事では、Amazon Q Developer Command Line Interface (CLI) の画像サポート機能が開発プロセスをどのように変革するかをご紹介します。Q Developer CLI は最近 (バージョン 1.10.0) 、画像のサポートを追加し、視覚的な情報を処理する能力を拡張して開発者の生産性を向上させました。この新機能により、開発者はコマンドラインから直接、Q Developer CLI に対して図表やアーキテクチャ設計図、その他の画像ファイルを入力し、やり取りできるようになります。
現代のソフトウェア開発では、アイデアを伝えるために視覚的な表現がますます重要になっています。たとえば、アーキテクチャ図はシステムコンポーネントとその関連性を示し、エンティティ・リレーションシップ (以下、ER) 図はデータベース構造を可視化します。こうした画像ファイルを実際のコードに変換する作業は、通常、手作業による解釈と実装が必要で、エラーが発生しやすいプロセスです。
Q Developer CLI の新しい画像サポートは、開発者が画像を直接 Q Developer CLI エージェントに入力して分析できるようにすることで、このギャップを埋めます。私はこの機能を使って、手書きのアイデアからきちんとした設計文書へ、そして Infrastructure as Code へとアーキテクチャ図を変換できることにワクワクしています。新しいプロジェクトを始める場合でも、日々の作業を効率化する場合でも、さまざまなユースケースでこの機能を活用していきたいと思います。
リリース時点で、Q Developer CLI は JPEG、PNG、WEBP、GIF の画像形式をサポートし、1回のリクエストで 10 枚の画像をアップロードできます。Q Developer CLI の画像サポート機能を利用するには、Q developer CLI の最新バージョン(1.10.0 以上)を使用する必要があります。最新バージョンへのアップグレードまたはインストールには、このガイドを使用してください。
Q Developer CLI の画像サポートの利点をご紹介するために、以下の 4 つのシナリオを例として使用します。
ユースケース 1: アーキテクチャ図から Infrastructure as Code を生成する
次の図は、画像をリサイズするアプリケーションです。ユーザーが画像をアップロードする送信元 Amazon S3 バケットと、画像をリサイズして送信先 S3 バケットに保存する AWS Lambda 関数が含まれています。Q Developer CLI を使用して、アーキテクチャ図をコードに変換できるようになりました。
画像リサイズアプリケーションのアーキテクチャ
次のスクリーンショットでは、Q Developer CLI に「参考として使える、ベストプラクティスを使用した Terraform テンプレートをください」とお願いしました。CLI に画像をドラッグ&ドロップすると、その画像のパスがプロンプトに自動で追加される点にもご注目ください。
Q Developer によって生成された Terraform コードを表示する CLI
前の画像は、Q Developer CLI が生成したレスポンスの一部です。
Q Developer は、画像リサイズアプリケーションの構築を始めるために必要な Terraform テンプレートを返します。Q Developer CLI は画像を分析し、コンポーネントとその関係を特定して、対応する Terraform コードを生成しました。画像には表示されていませんが、レスポンスには Python での Lambda 関数のコードと、Lambda 関数に必要な IAM 権限も含まれていました。
これまでであれば、この図を Infrastructure as Code に変換するには、各コンポーネントを人力で解釈し、それぞれに対応する設定を記述する必要がありました。しかし、画像サポートにより、このプロセスの多くを自動化できるようになりました。さらに、Q Developer との対話を通じて、生成されたコードを改良したり、特定の実装の詳細について質問したり、追加要件に基づいて修正を要求したりして、最終的にコードを .tf ファイルに出力できます。
ユースケース 2: ER 図をデータベーススキーマに変換する
2 つ目のシナリオでは、大学向けのコース管理ソフトウェアを開発するデータモデリングチームの一員である場合を考えてみましょう。私は、その中核となるデータ構造を示す ER 図を作成しました。現在では、この ER 図を SQL に変換する作業を Q Developer の支援を受けて進められます。
コース管理のエンティティ関係図
次のスクリーンショットでは、Q Developer CLI に ER 図を使用してデータベーススキーマを作成するよう依頼しました。
ユーザープロンプトと Q Developer によって生成された SQL を表示する CLI
Q Developer によって生成された SQL を表示する CLI
前の画像は、Q Developer CLI が生成したレスポンスです。
Q Developer は図を分析し、エンティティ、属性、リレーションを特定して、データベーススキーマを作成するための適切な SQL コードを生成しました。
Q Developer が結果を生成した後、Q Developer との対話を通じて、文字列の長さ、インデックスなどの変更を要求したり、設計の決定に関する説明を求めたりして、このスキーマを改良できます。
ユースケース 3: 手書き画像を設計文書に変換する
紙の上でアイデアをブレインストーミングし、それをチームと共有したいシナリオを考えてみましょう。次の画像では、ウェブサイトの注文フローを手書きで描いています。ウェブサイトユーザーがウェブサイトから書籍を注文すると、アプリケーションは在庫を更新し、支払いと配送のアクションを呼び出します。Q Developer CLI を使用して、手書きのアイデアから文書を作成できるようになりました。
ウェブサイトの手書き注文フロー
次の例では、Q Developer にこの画像を参照して設計文書を作成するよう依頼しました。
ユーザープロンプトと Q Developer によって生成されたレスポンスを表示する CLI
上のスクリーンショットは、Q Developer がまず画像を読み取り、手書き図の内容を理解したことを表しています。
Q Developer によって生成されたレスポンスを表示する CLI
前のスクリーンショットは、Q Developer CLI が生成したレスポンスの一部です。
Q Developer はアイデアを、システムアーキテクチャ、プロセスフロー、データモデル、機能要件、技術要件を含む設計文書に変換しました。Q Developer に内容を .md ファイルに出力するよう依頼もできます。これにより、アイデアから実行までの時間が短縮され、文書作成が効率化されます。
ユースケース 4: スクリーンショットから UI モックアップ/ワイヤーフレームを構築する
ユースケース 3 の設計文書から、ユーザーインターフェイス(UI)の構築を始めたいとします。Q Developer に参照画像を提供して、UI の初期ワイヤーフレームを生成できます。
サンプルの書籍販売ウェブサイトのホームページ
この例では、Q Developer に Vue.js で新しいウェブサイトのフロントエンドを生成するよう依頼しました。
ユーザープロンプトと Q Developer によって生成されたレスポンスを表示する CLI
Q Developer によって生成された Vue.js コードを表示する CLI
前の画像は、スクリーンショットのウェブサイトのフロントエンドを再現するための Q Developer CLI が生成した Vue.js コードの一部です。コードを確認した後、Q Developer CLI にこれらのファイルをローカル環境にファイルとして作成するよう依頼できます。
このアプローチにより、ワイヤーフレーム作成におけるミスの起こりやすい作業を減らし、繰り返しのセットアップ作業ではなく、創造的な設計判断に集中できます。このように、開発サイクルを加速し、コンポーネント間の一貫性を確保しつつ、特定のプロジェクト要件に合わせて簡単にカスタマイズできる基盤を提供できます。
その他の活用の可能性
前述の例に加えて、Q Developer CLI はさまざまな種類の画像を分析できます。例えば、次のようなものです。
- フローチャートとプロセス図
- オブジェクト指向設計のためのクラス図
- ネットワークトポロジー図
- エラーメッセージやアプリケーション状態のスクリーンショット
このように多様な画像に対応できることで、Q Developer CLI はさまざまな開発プロセスのための強力なツールとなります。
まとめ
Amazon Q Developer CLI への画像サポートの追加は、ソフトウェア開発における視覚的表現とテキスト表現の間のギャップを埋める上で、大きな一歩です。コマンドラインから図表やその他の画像ファイルを直接操作できるようにすることで、Amazon Q Developer は設計から実装への変換効率を向上させ、エラーを減らし、開発サイクルを加速します。ぜひこの新機能を試して、ご自身の開発プロセスをどのように改善できるか体感してみてください。
Q Developer とその機能について詳しく知るには、ドキュメントをご覧ください。
翻訳はApp Dev Consultantの宇賀神が担当しました。