Amazon Web Services ブログ

新しい Amazon Q Developer エージェントで開発を効率化

本記事は 2025 年 2 月 17 日に公開された “Streamline Development with New Amazon Q Developer Agents” を翻訳したものです。

ソフトウェア開発が急速に進化し続ける中で、開発者はワークフローの効率化、コード品質の向上、生産性の向上を支援するツールを常に求めています。Amazon Web Services (AWS) は、このニーズに応えるべく、Amazon Q Developer に強力な新しい AI エージェントを導入しました。

AI を搭載したエージェントは、開発者のドキュメント作成、ユニットテスト、コードレビューのアプローチを変革します。エージェントとは、環境とやり取りし、データを収集し、そのデータを活用して独立したタスクを実行し、事前に定義された目標を達成する自律型のソフトウェアプログラムです。エージェントは合理的であり、取得した情報やデータに基づいて最適なパフォーマンスを実現するための意思決定をします。AI エージェントの活用により、生産性の向上、コスト削減、意思決定の改善、顧客体験の向上といったメリットを得ることができます。Amazon Q Developer には、新たに /doc/test/review の 3 つのエージェントが追加されました。本記事では、それぞれのエージェントについて詳しく説明し、日々の開発ワークフローにどのように組み込めるかを紹介します。

Amazon Q Developer に最初に導入されたエージェントは、昨年リリースされたソフトウェア開発エージェントです。/dev エージェントを使用すると、IDE 内で直接新しいコードを生成したり、コードの変更を行ったりすることができます。これにより、新機能の実装やプロジェクト内の問題修正が可能になります。達成したいタスクの説明を入力するだけで、Amazon Q Developer がコードベースの適切なコンテキストを分析し、必要なコード変更を生成します。Amazon Q Developer は、新しい AWS アプリケーションの構築や既存アプリケーションの更新を支援し、実施した変更のステップごとの概要を提供するため、開発者は提案された変更を簡単に受け入れたり拒否したりすることができます。/dev の機能は、新しい API エンドポイントの作成やデータベースクエリの最適化など、シンプルな作業から複雑な開発タスクまで幅広く対応できる、開発者なら必ず試すべきツールです。

以降のセクションでは、アプリケーションのユースケースでこれらの新しいエージェントをどのように活用できるかを詳しく見ていきましょう。

前提条件

Amazon Q Developer の使用を開始するには、以下が必要です:

注: Amazon Q Developer は Eclipse や Visual Studio Pro などの追加の IDE もサポートしていますが、エージェント機能が有効になっているものは上記に記載された IDE のみです。

アプリケーション概要

あなたはテクノロジー企業のソフトウェアエンジニアとして、以下のアプリケーションのドキュメント作成、ユニットテストの統合、セキュリティ強化を担当することになりました。
このアプリケーションは、Amazon API GatewayAWS LambdaAmazon DynamoDB を使用したサーバーレスアーキテクチャを採用しており、Python で RESTful API を実装しています。

AWS では、Amazon Q Developer の新しいドキュメント作成、テスト、セキュリティスキャンのエージェントが、アプリケーションのソフトウェア開発ライフサイクル (Software Development LifeCycle: SDLC) を支援できることを学びました。SDLC は、計画と調査、コーディング、ドキュメント作成、テスト、ビルドとデプロイ、運用と保守などの複数のステージを持つフライホイールです。

新しい Amazon Q Developer エージェントを活用し、この SDLC においてどのように実際のアプリケーションに活用できるかを見ていきましょう。

ドキュメント生成 (/doc)

アプリケーションのドキュメント作成と保守は、ソフトウェア開発の中で最も時間がかかり、頻繁に見過ごされがちな作業の 1 つです。しかし、詳細なドキュメントがあることで、チームメンバーやステークホルダーがコード、設計、アーキテクチャを理解しやすくなります。また、可読性の向上、新機能の迅速な開発、SDLC の効率化 にもつながります。
Amazon Q Developer に新しく導入された /doc エージェント を活用すれば、このプロセスを簡単かつ迅速に進めることができます。Amazon Q Developer は、プロジェクト内のフォルダを分析し、新しい README ファイルを自動生成できます。また、コード変更をレビューし、既存のドキュメントの更新を推奨することも可能です。さらに、自然言語でリクエストできるため、特定の変更やカスタム要約ができ、プロセス全体がより直感的でユーザーフレンドリーになります。これらの機能により、開発チームがアプリケーションを運用する際に、チームの負担を軽減しながら、正確で最新のプロジェクトドキュメントを維持できます。

本アプリケーションには詳細な README がないため、以下の例では、Amazon Q Developer の /doc エージェント を Visual Studio Code (VS Code) IDE で活用し、アプリケーションのコードベースに対する詳細なドキュメントを生成する方法を紹介します。

プロンプト:

/doc Create a README
(訳者注: README を作って)

Amazon Q Developer /doc エージェントを使用する際のベストプラクティス

  • 大規模なリポジトリの場合、特定のディレクトリをドキュメント化の対象として指定することを検討してください。
  • 生成されるドキュメントの品質を向上させるために、適切な命名規則で十分にコメントが付けられた整理されたコードを維持してください。
  • README への変更を記述する際は具体的にしてください。

注意: /doc 機能は、.template ファイル、requirements.txt、package.json、tsconfig.json、Dockerfile など、さまざまなファイル形式をサポートしています。既存の README の最大サイズは 15 KB、コードプロジェクトのサイズ上限は非圧縮で 200 MB、圧縮時で 50 MB のクォータがあることに注意することが重要です。

ユニットテスト生成 (/test)

テスト駆動開発は、一般的な SDLC のベストプラクティスの一つです。その一部であるユニットテストはコード品質を維持するための基盤となります。ユニットテストを実施することで、バグを早期に発見し、技術的負債を最小限に抑えることができます。しかし、包括的なテストを書く作業は、一般的に開発チームの多くの時間と労力が必要です。
Amazon Q Developer の新しい /test エージェントは、テストのプロセスを自動化し、開発者が新機能の開発や問題解決により注力できるよう支援します。このツールには、テストワークフローを効率化する強力な機能が備わっています。必要なテストケースを自動識別し、分離されたテストシナリオに適したモックやスタブの生成、識別されたケースに基づくテストコードの作成を行います。現在、Java と Python のプロジェクトの両方をサポートしており、VS Code や JetBrains IDE などの一般的な開発環境とシームレスに統合され、生産性を最大化しながらテスト実践を強化したいと考える現代の開発チームにとって貴重なアセットとなっています。

Amazon Q Developer /test エージェントを使用すると、クラス、関数、メソッドなど特定のコードセクションを指定してユニットテストを生成したり、IDE 内でコードをハイライトしてテストを作成したりできます。以下の例では、DynamoDB テーブルに新しいアイテムを追加する Python ファイル (add_item.py) に対して、/testエージェントを使用してユニットテストを生成する方法を示しています。

プロンプト:

/test generate unit tests for the lambda_handler method that is adding items to dynamodb table
(訳者注: DynamoDB テーブルにアイテムを追加する lambda_handler メソッドの、ユニットテストを生成して)


ユニットテストの生成に Amazon Q Developer の /test エージェントを活用


Amazon Q Developer を使用して、IDE 内でコード選択からユニットテストを生成

注意: Amazon Q Developer のユニットテストエージェントは、VS Code および JetBrains IDEs で Java および Python のプロジェクトをサポートしています。ユニットテスト生成の言語およびフレームワークのサポートについては、「/test によるユニットテスト生成の言語とフレームワークのサポート」を参照してください。/test 機能は、サポートされていない言語やフレームワーク、Java の非公開メソッド、月間使用制限の到達など、さまざまな特別なケースに対応しています。プロセス全体を通じて、スムーズなユーザー体験と適切なガイダンスを提供するよう設計されています。

コード品質とセキュリティの向上 (/review)

コードレビューは、ソフトウェア開発の品質基準を維持するために不可欠なプロセスとなっており、Amazon Q Developer の新しい /review 機能は、AI を活用した強力なコード分析でこの重要なプロセスを変革します。この革新的なツールには包括的なコード分析機能があり、開発チームは潜在的な問題を早期に特定し、深刻な問題に発展する前に対処できるようになります。ユーザーは、コードを記述する際にシームレスに動作する継続的なコードスキャンを利用でき、明確な説明と具体的な改善策が含まれた詳細な問題レポートを受け取ることができます。さらに、この機能は一歩進んで、コード内で直接修正を適用できるため、必要な改善をこれまで以上に簡単に実施できます。

/review 機能のセキュリティ検出機能は、幅広い潜在的な問題をカバーし、複数の側面から包括的なコード分析を実施します。Amazon Q Developer /review 機能は、静的アプリケーションセキュリティテスト (SAST) を実行してセキュリティ脆弱性を特定し、機密情報の漏洩を防ぐためのシークレット検出を行い、 Infrastructure as Code (IaC) の潜在的な問題を分析します。これにより、SDLC のより早い段階でセキュリティ対策を講じることが可能となり、コードがリポジトリにコミットされる前に脆弱性を発見し、全体的なセキュリティ態勢とコード品質を向上させます。加えて、このツールは保守性や効率性に影響を与えるコード品質要素を評価し、デプロイ時の潜在的なリスクを分析し、サードパーティコードに対するソフトウェアコンポジション分析 (SCA) を実施します。この包括的なアプローチにより、開発チームは高品質でセキュアかつ効率的なコードベースを維持しながら、レビュー作業を大幅に効率化できます。

以下の例では、/review 機能を活用し、アプリケーション全体のワークスペースをスキャンして Python のアプリケーションコードと Terraform のインフラコードを分析し、その後修正を適用する方法を示しています。オプションとして、IDE 内で開いているアクティブなファイルのみをスキャンすることもできます。

プロンプト:

/review

注意: /review 機能には最適なパフォーマンスを維持するためのクォータが設定されており、自動レビューおよびプロジェクト全体のスキャンにおける入力アーティファクトのサイズやソースコードのサイズに制限があります。詳細については こちら を参照してください。

結論

Amazon Q Developer の革新的なエージェントである /doc/test/review は、ドキュメント管理からテスト、コードレビューまで、開発ライフサイクルにおける最も困難な時間のかかるプロセスを直接支援します。README の作成や更新、ユニットテストの生成、包括的なコード分析などの重要なタスクを自動化することで、開発チームはコード品質とセキュリティの水準を高く維持しながら、生産性を大幅に向上させることができます。潜在的な問題を早期に発見し、開発ライフサイクルを効率化できることで、チームはこれまで以上にスムーズかつ効果的に作業を進められます。ただし、これらの AI を活用した機能は、人間の専門知識に取って代わるのではなく、補完するように設計されていることを覚えておくことが重要です。これらの機能は開発者の能力を強化する知的なアシスタントとして機能しており、最適なプロジェクト成果を実現するためには開発者の専門的な判断が欠かせません。これらのツールは、AI を活用して従来の開発上の課題を克服し、開発チームが本当に重要なこと、つまり優れたソフトウェアの開発に集中できるようにする優れた例となっています。ぜひこれらの新機能を活用し、Amazon Q Developer で開発プロセスを次のレベルへと引き上げましょう。Amazon Q Developer の詳細や、ソフトウェア開発を加速するための活用方法については、Amazon Q Developer のドキュメント を参照してください。これらのエージェントは Amazon Q Developer の無料枠の一部として利用可能で、今すぐ使い始められます

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

著者について

Ryan Yanchuleff

Ryanは、生成AIのあらゆる分野に特化したワールドワイド・スペシャリスト組織のシニア・スペシャリスト・ソリューションアーキテクトです。スタートアップ企業が新しいソリューションを構築してアイデアを実現するのを支援することに情熱を注いでおり、自身も複数のスタートアップを立ち上げた経験があります。テクノロジーと向き合う以外の時間は、妻と2人の子供たちと過ごしたり、次の住宅リノベーションプロジェクトに取り組んだりすることを楽しんでいます。

Janardhan Molumuri

Janardhan MolumuriはAWSのプリンシパル・テクニカルリーダーです。20年以上にわたるエンジニアリングリーダーとしての経験を持ち、クラウド導入戦略や生成AIを含む新興技術について顧客にアドバイスを提供してきました。スピーキングやライティングに情熱を持ち、大規模な問題解決のために技術トレンドを探求することを楽しんでいます。