Amazon Q Developerの/devコマンドを使ってみる

記事タイトルとURLをコピーする

はじめに

こんにちは!サーバーワークスの滝澤です。

前回執筆したAmazon Q Developerのブログから2ヶ月が経過しましたが、毎週のようにAI関連のアップデートがありますね!
今回は機能がアップデートされたAmazon Q Developerの/devコマンドについて試してみたいと思います。

前回の記事はこちら blog.serverworks.co.jp

アップデートされた/devコマンドについてはこちら

aws.amazon.com

Amazon Q Developerの/devコマンド とは

/devコマンドの詳細

せっかくなので、Amazon Q Chatで聞いてみましょう。

Amazon Qの「/dev 」コマンドは、ソフトウェア開発のためのAmazon Q Developer Agentを指します。 これは、開発者が統合開発環境(IDE)内で新しいコード機能を作成したり、 既存のプロジェクトに直接変更を加えたりするのを支援するために設計された強力な機能です。

どうやらソフトウェア開発に特化した機能を使うためのコマンドのようですね!
また、/devコマンド = Amazon Q Developer Agentのようです。
ここで出てきたAmazon Q Developer AgentとAmazon Q Developerの違いについても、
以下の通りまとめてみました。

Amazon Q DeveloperとAmazon Q Developer Agentの違い

項目 Amazon Q Developer Amazon Q Developer Agent
対象範囲 ソフトウェア開発のための幅広いAIアシスタント 自律的な開発タスクに特化した機能
主要機能 一般的な開発支援とAWSガイダンス タスク固有のコード生成と修正
主な利用用途 AWSクエリ、コード説明、ベストプラクティス 機能実装、バグ修正、リファクタリング
利用可能な場所 複数(コンソール、ドキュメント、IDE、CLIなど) 主にIDEの拡張機能から利用
使用方法 様々なエントリーポイント サポートされたIDEから/devコマンド
文脈認識 一般的なAWSと開発の知識 特定のプロジェクトに対するコードベースの深い分析
チャット形式 Q&A対応、説明、提案 対話型、タスク思考の会話
コード操作 提案・説明 自律的なコード生成・修正
複数ファイルの操作 限定的 プロジェクト内の複数ファイルにまたがって作業可能
実行タスクの複雑性 よりシンプルなクエリーに幅広く対応 複雑な複数ステップの開発タスクに対応

上記の通り、Amazon Q Developerは幅広いソフトウェア開発に対応しており
Amazon Q Developer Agentはより複雑な開発に対して自律的に支援してくれる機能のようです。
赤文字箇所は今回のアップデートに関連したものです。

やってみた

実施環境

今回使用した環境は以下の通りです

  • PC:MacBook Air 13インチ, M3, 2024
  • OS:Sonoma 14.6.1
  • IDE:Visual Studio Code 1.93.1 (Universal)

/devコマンドの実行

  1. まずAmazon Q Chatを開き、/devコマンドを実行します。

  2. /devコマンドが実行されると、チャットのタブ名に「Dev」が付き、
    Amazon Q Developer Agentを使用するモードになりました。

  3. 今回は「PythonでTodoリストを作成する」を依頼してみました。

  4. するとIDEのワークスペースに存在する他のファイルを自動で確認し、現在のプロジェクトについてレビューしてくれます。
    その上で、どのような変更をするべきなのか自律的に考えて、生成するコードを提案してくれます。
    ちなみに、「Summary of changes」の2番で記載があるように、レビューした既存のファイルは以前作成したマインスイーパーゲームのファイルであり関係ないと判断してくれています!
    提案前のプロセスは以下の項目で構成されます。

    • Summary of changes
      • 今回のプロジェクトで実行した内容
    • Files used
      • Reviewed:プロジェクトのために参照されたファイル
      • Created:プロジェクトのために作成されたファイル
      • Changed:プロジェクトのために変更されたファイル
      • Deleted:プロジェクトのために削除されたファイル
  5. 提案内容が作成完了すると「Code suggestions」に表示されるので、クリックするとファイルの内容が確認できます。
    この時点ではまだコードはAmazon Q Developer Agentの内部で存在している状態で、実ファイルは作成されていません。

  6. 提案されたコードの内容に問題がなければ、「Accept code」を選択することでコードが保存されます。
    もし、提案されたコードに納得がいかなければ「Provide feedback & regenerate」を選択し、再度要望を伝えることで再作成してくれます。
    今回は「Accept code」しておきます。

  7. 実際にコードを試してみると、タスクが追加でき、完了フラグの設定、現在のタスクの一覧表示ができました!!

  8. さて、作成してもらったコードですが期限の設定ができませんね。
    期限が設定できるように、コードを修正してもらいましょう。

  9. 作成時同様に、必要なファイルをレビューして今回はtodo_list.pyが「Changed」で変更されていますね。

  10. そして今回は、「Accept code」ではなく「Provide feedback & regenerate」を選択してみましょう。
    そして、yyyy/mm/dd HH:MMの形式で期限を入力できるように変更してもらいましょう。

  11. 変更されたコードを確認すると、ちゃんとyyyy/mm/dd HH:MMの形式で期限で入力できるようになっていましたね。

  12. 変更されたコードも正常に動くことが確認できました。

まとめ

今回はAmazon Q Developerの/devコマンド(Amazon Q Developer Agent)について試してみました。
少しずつ人間が判断しなくてはならない部分が減ってきて、より効率的に開発ができるようになってきましたね。
Amazon Q Developerにはまだまだ素晴らしい機能がたくさんあるので、今後も紹介していければと思います!

この記事がどなたかのお役に立てれば幸いです。

kento.takizawa(記事一覧)

妻と娘をこよなく愛すエンジニア