Amazon Q の '/dev' コマンドによって生成されたコード提案のテスト - Amazon Q Developer

Amazon Q の '/dev' コマンドによって生成されたコード提案のテスト

/dev コマンドを使用する場合、デフォルトでは Amazon Q はチャットで表示されるコードを自動的にテストしません。コードを保存して、個別にテストする必要があります。Amazon Q は、テストを完了するために必要なツールを備えた環境がないため、コードのテストを行えません。

Amazon Q がコードをテストできるようにするには、devfile を指定して開発環境を起動できるようにする必要があります。

注記

/dev コマンドおよび Amazon Q Developer Agent for software development の詳細については、「Amazon Q Developer を使用した機能の開発」を参照してください。

開発環境とは

開発環境は、Amazon Q がチャットで提示する前にコードをテストできる Docker コンテナです。コンテナには、コードをテストするために必要なツール、言語、フレームワークがあらかじめインストールされています。

Amazon Q はサンドボックスで Docker コンテナを起動します。つまり、Amazon Q が生成する可能性のある問題のあるコードから保護するために、コンテナは AWS サービスから分離されます。

devfile とは

devfile は、devfile 仕様に準拠する YAML ファイルです。これは、コンテナ化された開発環境を定義するオープンスタンダードです

devfile は以下を記述します。

  • 開発環境として使用する Docker コンテナイメージの名前と場所。

  • 開発環境の起動時に自動的に実行するコマンド。

devfile には他のタイプの情報を含めることができますが、前述の 2 つは Amazon Q に関連する情報です。

独自の devfile を指定するか、Amazon Q で自動的に生成することができます。

仕組み

Amazon Q のチャットパネルに /dev コマンドを入力するたびに、Amazon Q はプロジェクトのルートで devfile を検索します。

devfile が存在する場合、Amazon Q は以下を実行します。

  1. AWS のサンドボックスで開発環境を起動します。

  2. コード提案を生成します (ただし、まだ提示はされません)。

  3. devfile の手順を使用して、開発環境でコード提案をビルドしてテストします。

  4. テストに合格しなかった場合は、提案を繰り返します。Amazon Q は 3 つのイテレーションを実行しますが、これは設定できません。

  5. チャットウィンドウにテスト済みのコードを示します。

  6. 開発環境を終了します。

devfile が存在しない場合、Amazon Q は devfile を生成するかどうかを尋ねます。はいと答えると、Amazon Q はプロジェクトのコンテキストに基づいて devfile を生成します。この devfile の詳細については、「Amazon Q Developer の devfile の例」を参照してください。devfile を生成した後、Amazon Q は devfile の使用を開始しません。devfile を呼び出すには、/dev コマンドを入力する必要があります。

サンドボックスの仕様

開発環境が起動されるサンドボックスには、2 つの vCPU と 4 GB のメモリがあります。CPU とメモリは設定できません。

Amazon VPC のサポート

Amazon Q は、Amazon Virtual Private Cloud (Amazon VPC) での開発環境の実行をサポートしていません。詳細については、「Amazon Virtual Private Cloud ユーザーガイド」の「Amazon VPC とは?」を参照してください。