Amazon Web Services ブログ

Amazon Q Developer CLI での超高速な新しいエージェント型のコーディング体験

本記事は 2025 年 3 月 6 日に公開された “A lightning fast, new agentic coding experience within the Amazon Q Developer CLI” を翻訳したものです。

本日、Amazon Q Developer Amazon Q コマンドラインインターフェース (CLI) において強化された CLI エージェントを発表しました。今回の発表により、Q Developer は最新のエージェント型体験を CLI に導入し、より動的でインタラクティブなコーディング環境を提供します。これにより、開発者と対話しながらフィードバックに基づいて変更を加えていくことが可能になります。Amazon Q Developer は、CLI 環境内の情報を活用し、ローカルファイルの読み書き、AWS リソースのクエリ、コードの作成、さらには自動デバッグまで支援できるようになりました。

はじめに

開発者として、私は統合開発環境 (IDE) を活用し、組み込みのリンターやオートコンプリート機能によってワークフローを効率化しています。さらに、Amazon Q Developer のような AI アシスタントの登場により、開発の進め方が大きく変わりました。チャットで Amazon Q Developer にベストプラクティスについて相談したり、複雑なメソッドのリファクタリングを数秒で依頼したりすることができます。最近では、新機能の開発、ドキュメントの作成、ユニットテストの生成、コードレビューの自動化など、Amazon Q Developer のエージェントをますます活用するようになりました。これらの強力なエージェント機能により、日々の開発業務のアプローチがさらに変革されています。

しかし、開発者として、統合開発環境 (IDE) と同じくらい、あるいはそれ以上にコマンドラインインターフェース (CLI) を使用する時間が長いと感じていました。AWS CLI、Git、パッケージマネージャー、リンターといったツールは、インフラ管理、反復作業の自動化、チームとのコラボレーションの方法を大きく変革しました。Docker や Kubernetes などのツールは、アプリケーションの開発やデプロイの進め方を大きく変えました。私の IDE の拡張機能タブを見ると、Maven、Docker、Vue の拡張機能をインストールしていますが、ほとんど使用していません。CLI の柔軟性とパワーを優先しているためです。

Amazon Q Developer は、1 年以上前から CLI で利用可能になっており、今では私の日々の開発ルーチンに欠かせない存在になっています。インテリジェントなコマンド補完機能により、Git ブランチや Amazon S3 バケットの一覧を簡単に取得できるため、多くの時間を節約できました。また、チャット機能を使って自然言語で Q Developer と対話し、特定のタスクを実行する方法を学ぶこともできます。さらに、変換機能を利用すれば、シンプルな言葉で入力したプロンプトを対応するシェルコマンドに変換できます。

Amazon Q Developer の CLI 機能は非常に便利ですが、IDE で利用できるエージェントの強力な機能が CLI にはないことが少し残念に感じていました。そんな中、本日、Amazon Q Developer は強化した CLI のエージェントを発表しました。Amazon Bedrock によって強化されたこの新しいエージェントにより、CLI は Claude 3.7 Sonnet の段階的推論機能を活用できるようになりました。さらに、新しい CLI エージェントは、システムにインストールされたツール、例えばコンパイラ、パッケージマネージャー、AWS CLI などを活用することができます。加えて、強化された CLI はマルチターンの会話をサポートし、エージェントと動的な対話を行いながら作業を進められるようになりました。これにより、CLI 環境の快適さを損なうことなく、より多くの作業をより速く完了できるようになります。

IDE の機能やワークフローに縛られるのではなく、CLI エージェントを利用することで、作業に必要なツールやコマンドに直接アクセスできます。それでは、具体的な例を見ていきましょう。

ウォークスルー

CLI エージェントの機能がどのように動作するのかを確認するために、具体的な例を紹介します。私は、4 月に開催される社内の開発者コミュニティサミットに向けて準備を進めています。このイベントでは、参加者が発表するトピックを提案できる Call for Content アプリケーションが必要になります。このアプリケーションの構築に Amazon Q Developer CLI を活用します。

すでに CLI はインストール済みなので、まず q chat を実行し、新しい会話を開始します。その後、Q Developer に対して、「scaffold a new application named call-for-content using React and Vite, and then commit it to Git.(日本語訳: React と Vite を使用して call-for-content という名前の新しいアプリケーションを初期生成し、それを Git にコミットしてほしい)」 と指示します。以下の動画のとおり、エージェントは私の意図を正しく理解し、アプリケーションの構築に必要な処理を実行します。これまでの Q Developer CLI は、私が実行すべき手順を提示する形で支援していました。しかし、この新しく強化されたバージョンでは、CLI エージェントが私のローカル環境にインストールされているツールを活用し、各ステップを自動で実行してくれます。なお、私は確認プロンプトを無効にしていますが、Q Developer は各アクションの前に確認を求めるよう設定できます。

エージェントは動画内で非常に高速に動作しており、そのスピードについていくのが難しいほどです。そこで、以下の画像で各ステップを詳細に分解しました。エージェントはまず npm create を実行し、新しいアプリケーションを作成します。次に、npm install を実行して、すべての依存関係を追加します。その後、一連の git コマンドを実行し、新しいリポジトリを作成し、ファイルを追加し、説明付きのコミットメッセージとともに変更をコミットします。

エージェントは単にファイルを生成しているわけではなく、私自身が実行するであろうコマンドをそのまま実行しています。しかし、CLI エージェントは私が手動で行うよりもはるかに速く、正確に処理を進めています。強化された Amazon Q Developer CLI は、システムにインストールされている他のコマンドラインツールを活用しながら作業を完了させます。Q Developer の処理が完了すると、実行した作業の概要を提供し、次のステップを提案してくれます。以下の画像では、Q Developer が開発サーバーを起動して変更をプレビューするよう推奨していることがわかります。これは非常に適切な提案なので、Q Developer に開発サーバーを起動するよう依頼し、正常に動作しているかを確認します。

アプリケーションのテンプレートが実行され、Call for Content アプリケーションの開発を開始する準備が整いました。CLI エージェントはマルチターンの会話をサポートしているため、前回の続きから作業を再開できます。コマンドライン上で要件を説明するだけで、エージェントがコードの生成を開始します。これはまさに Amazon Q Developer の最も得意なことです。この例では、エージェントが App.jsxApp.cssファイルを更新する必要があります。

エージェントは、前の例で見たようにコマンドを実行するだけでなく、ローカルシステム上のファイルを読み書きできることに注目してください。そのため、Q Developer がコードを生成すると、エージェントはそれを適切な場所に配置します。処理が完了すると、エージェントは npm run dev を実行して開発サーバーを起動します。前回、私がサーバーの起動を指示したので、今回も進捗を確認するだろうと正しく推測しました。前回のように、エージェントは行った変更の概要を提示してくれます。個人的に、この定期的なサマリーは非常にありがたく、Q Developer の作業に対する信頼感を高めるのに役立っています。表示結果を見ましたが、タイトルの色が気に入りません。Q Developer に変更を依頼することもできますが、今回は自分で直接ファイルを編集することにします。CLI を使用している間も手動でファイルを編集できる点は重要です。エージェントは編集を加える前にファイルを読み取り、手動での変更があるかを確認してくれます。

アプリケーションは素晴らしい仕上がりです!しかし、現在の出力はコンソールに書き出されるだけで、データの処理方法についてエージェントに指示していませんでした。アプリケーションの出力を DynamoDB テーブルに書き込むようにしたいと思います。実はすでにテーブルを作成済みなのですが、どのリージョンにあるのか思い出せません。
以下の画像では、エージェントに テーブルのリージョンを特定するよう依頼しています。どのように応答するのか見てみましょう。

前の画像でわかるように、エージェントは私の曖昧なリクエストを理解し、適切な対応を行いました。まず us-east-1 でテーブルを探し、見つからなかったため us-west-2 へ移動し、再試行しました。テーブルは us-west-2 にありましたが、もしそこにもなければ、エージェントはさらに検索を続けていたでしょう。Q Developer は AWS のリソースをリストアップし、詳細を取得する方法を理解しています。一度テーブルを見つけたら、エージェントは npm を使用して DynamoDB SDK をインストールし、アプリケーションのファイルを更新しました。実際には複数のファイルが変更されましたが、画像ではシンプルにまとめています。

いくつかの簡単なプロンプトを入力するだけで、強化された CLI エージェントを活用し、Q Developer と協力しながら開発プロセス全体を進めることができました。今後は認証の追加など、さらなる機能拡張を行う予定ですが、Q Developer CLI の使い方は十分に理解できたと思います。それでは、ここで一区切りとしましょう。

まとめ

Amazon Q Developer の新しい CLI エージェントは、私のソフトウェア開発のアプローチを完全に変革しました。高度な AI アシスタントのパワーが、普段使い慣れたコマンドライン環境に直接統合されたことで、これまで以上に素早く複雑なタスクをこなせるようになりました。Q Developer の自然言語理解とコンテキスト認識、CLI エージェントの推論能力と多様な開発ツールの活用が組み合わさることで、日々のワークフローに欠かせない存在になっています。最後に、マルチターンの会話機能により、エージェントと協力しながら作業を進めることで、より多くのタスクを素早く完了できます。

もしあなたが CLI を頻繁に使用する開発者ならば、Amazon Q Developer の CLI エージェントをぜひ試してみてください。Amazon Q Developer ユーザーガイドを参考に、CLI をインストールし、新しいエージェント機能を無料ですぐに活用できます。きっと、私と同じように開発スタイルが大きく変わるはずです。ぜひ試してみて、感想を聞かせてください!

翻訳はApp Dev Consultantの宇賀神が担当しました。