

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: CodeCatalyst の生成 AI 機能を使用して開発作業を高速化する
<a name="getting-started-project-assistance"></a>

Amazon CodeCatalyst で、生成 AI 機能が有効になっているスペースにプロジェクトとソースリポジトリがある場合は、これらの機能を使用してソフトウェア開発を高速化できます。デベロッパーは日頃から、対応しきれないほどのタスクを抱え、時間不足に悩まされています。コードの変更をプルリクエストとして提出する際、説明なしでも他のユーザーが変更内容を理解できるだろうと考え、チームメンバーにコード変更について説明する時間を割かないことがよくあります。プルリクエストの作成者やレビュアーも、プルリクエストのすべてのコメントを徹底的に探し出して読む時間はありません。プルリクエストに複数のリビジョンがある場合はなおさらです。CodeCatalyst は Amazon Q Developer Agent for Software Development と統合されており、これにより、タスクの完了にかかる時間を短縮し、チームメンバーが最も重要な作業に集中できる時間を増やすのに役立つ生成 AI 機能を活用できます。

Amazon Q Developer は、生成 AI を活用した会話アシスタントであり、 AWS アプリケーションの理解、構築、拡張、運用に役立ちます。構築を加速するために AWS、Amazon Q を強化するモデルは、より完全で実用的な参照された回答を生成するために、高品質の AWS コンテンツで強化されています。詳細については、「*Amazon Q Developer ユーザーガイド*」の「[What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html)」を参照してください。

**注記**  
**Amazon Bedrock を利用**: [自動不正検出](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html) AWS を実装します。Amazon Q Developer Agent for Software Development の「**説明を記述する**」、「**内容の要約を作成する**」、「**タスクを推奨する**」、「**Amazon Qを使用してプロジェクトに機能を作成または追加する**」、「**Amazon Q に問題を割り当てる**」機能は Amazon Bedrock を基盤に構築されているため、ユーザーは Amazon Bedrock に実装されている統制を最大限に活用して、AI の安全性、セキュリティ、責任ある使用を徹底することができます。

このチュートリアルでは、CodeCatalyst の生成 AI 機能を使用して、ブループリントを使用してプロジェクトを作成し、既存のプロジェクトにブループリント追加する方法を説明します。さらに、プルリクエストを作成するときにブランチ間の変更を要約し、プルリクエストに残されたコメントを要約する方法も説明します。また、コードの変更や改善に関するアイデアを問題として作成し、Amazon Q に割り当てる方法についても説明します。Amazon Q に割り当てられた問題に取り組む一環として、Amazon Q がタスクを提案できるようにする方法、および問題の処理の一環として Amazon Q が作成するタスクを割り当てて対応する方法について説明します。

**Topics**
+ [前提条件](#getting-started-project-assistance-prerequisites)
+ [プロジェクトの作成時または機能の追加時に Amazon Q を使用してブループリントを選択する](#getting-started-project-assistance-create-apply-bp)
+ [プルリクエストの作成時にブランチ間のコード変更の要約を作成する](#getting-started-project-assistance-pull-request-summary)
+ [プルリクエストのコード変更に対するコメントの要約を作成する](#getting-started-project-assistance-comment-summary)
+ [問題を作成して Amazon Q に割り当てる](#getting-started-project-assistance-issue-to-code)
+ [問題を作成し、Amazon Q にタスクを推奨させる](#getting-started-project-assistance-issue-to-tasks)
+ [リソースをクリーンアップする](#getting-started-project-assistance-clean-up)

## 前提条件
<a name="getting-started-project-assistance-prerequisites"></a>

このチュートリアルの CodeCatalyst 機能を使用するには、まず、次のリソースにアクセスするためのタスクを完了している必要があります。
+ CodeCatalyst にサインインするための AWS Builder ID またはシングルサインオン (SSO) ID を持っている。
+ 生成 AI 機能が有効になっているスペースに入っている。詳細については、「[Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)」を参照してください。
+ そのスペースのプロジェクトで、コントリビューターまたはプロジェクト管理者のロールを持っている。
+ 生成 AI を使用してプロジェクトを作成する場合を除き、既存のプロジェクトに少なくとも 1 つのソースリポジトリが設定されている。リンクされたリポジトリはサポートされていません。
+ 最初のソリューションを生成 AI に作成させるようにして問題を割り当てる場合、プロジェクトを **Jira Software** 拡張機能で設定することはできません。拡張機能はこの機能ではサポートされていません。

詳細については、「[スペースを作成する](spaces-create.md)」、「[CodeCatalyst で問題を使用して作業の追跡と整理を行う問題を使用して作業を追跡して整理する](issues.md)」、「[CodeCatalyst で拡張機能を持つプロジェクトに機能を追加する拡張機能を使用してプロジェクトに機能を追加する](extensions.md)」、および「[ユーザーロールによってアクセス権を付与する](ipa-roles.md)」を参照してください。

このチュートリアルは、Python を使用した「**Modern three-tier web application**」ブループリントを使用して作成されたプロジェクトに基づいています。別のブループリントで作成されたプロジェクトを使用する場合でも、手順に沿って進めることはできますが、サンプルコードや言語など、一部の詳細が異なります。

## プロジェクトの作成時または機能の追加時に Amazon Q を使用してブループリントを選択する
<a name="getting-started-project-assistance-create-apply-bp"></a>

プロジェクトデベロッパーは、新しいプロジェクトを作成したり、既存のプロジェクトにコンポーネントを追加したりするときに、生成 AI アシスタントである Amazon Q と共同で作業を行うことができます。チャットのようなインターフェイスで Amazon Q とやりとりすることで、Amazon Q にプロジェクトの要件を指定できます。要件に基づいて、Amazon Q はブループリントを提案します。また、満たすことができない要件の概要も提示します。スペースにカスタムブループリントがある場合、Amazon Q はそのブループリントも学習し、推奨内容に含めます。その後、Amazon Q の提案に問題がなければ、次に進むことができます。Amazon Q により、要件に合ったコードを含むソースリポジトリなどの必要なリソースが作成されます。Amazon Q は、ブループリントで満たすことができない要件についての問題も作成します。使用可能な CodeCatalyst ブループリントの詳細については、「[CodeCatalyst ブループリントを使用した包括的なプロジェクトの作成ブループリントを使用した包括的なプロジェクトの作成](project-blueprints.md)」を参照してください。ブループリントと Amazon Q と併せて使用する方法については、「[Amazon Q を使用したプロジェクトの作成やブループリントの機能追加のベストプラクティス](projects-create.md#projects-create-amazon-q)」を参照してください。

**Amazon Q でプロジェクトを作成するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. CodeCatalyst コンソールで、ブループリントを作成するスペースに移動します。

1. スペースダッシュボードで、**[Amazon Q で作成]** を選択します。

1. Amazon Q プロンプトテキスト入力フィールドで、構築するプロジェクトに関する簡単な説明を記述して指示を出します。例: `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   (オプション) **[例を試す]** で、ブループリントを選択して、あらかじめ作成されたプロンプトを使用できます。例えば、React アプリケーションを選択すると、次のプロンプトが提示されます。`“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”`

1. **[送信]** を選択して指示を Amazon Q に送信します。生成 AI アシスタントは提案を行い、ブループリントでは満たすことができない要件についても概要を提示します。例えば、Amazon Q は、与えられた条件を基に次のような内容を提案します。

   ```
   I recommend using the Modern three-tier web application blueprint based on 
                       your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Modern three-tier web application
   By Amazon Web Services
   
   This blueprint creates a Mythical Mysfits 3-tier web application with a modular presentation, application, and data layers. 
   The application leverages containers, infrastructure as code (IaC), continuous integration and continuous delivery (CI/CD), 
   and serverless code functions.
   
   Version: 0.1.163
   
   View details
   
   The following requirements could not be met so I will create issues for you.
   • Add authentication and authorization mechanisms for security and allowable actions.
   ```

1. (オプション) 提案されたブループリントの詳細を表示するには、**[詳細を表示]** を選択します。

1. 次のいずれかを行います。

   1. 提案に問題がない場合は、**[はい、このブループリントを使用します]** を選択します。

   1. プロンプトを変更する場合は、**[プロンプトの編集]** を選択します。

   1. プロンプトを完全に消去する場合は、**[やり直す]** を選択します。

1. 次のいずれかを行います。

   1. 提案するブループリントを設定する場合は、**[設定]** を選択します。ブループリントは後で設定することもできます。

   1. この時点でブループリント設定を変更しない場合は、**[スキップ]** を選択します。

1. ブループリントを設定する場合は、プロジェクトリソースを変更した後に **[続行]** を選択します。

1. プロンプトが表示されたら、プロジェクトに割り当てる名前とそれに関連するリソース名を入力します。名前はスペース内で一意でなければなりません。

1. **[プロジェクトを作成する]** を選択して、ブループリントを使用してプロジェクトを作成します。Amazon Q が、ブループリントを使用してリソースを作成します。例えば、「Single-page application」ブループリントを使用してプロジェクトを作成すると、CI/CD の関連コードとワークフローのソースリポジトリが作成されます。

1. (オプション) デフォルトで、Amazon Q は、ブループリントで満たされない要件の問題も作成します。問題を作成したくない項目を選択できます。Amazon Q に問題を作成させた後、Amazon Q に問題を割り当てることもできます。Amazon Q は、特定のソースリポジトリのコンテキストで問題を分析し、関連するソースファイルとコードの要約を提供します。詳細については[問題を検出して表示する](issues-view.md)、[問題を作成して Amazon Q に割り当てる](#getting-started-project-assistance-issue-to-code)、および[Amazon Q に割り当てた問題を作成および処理する際のベストプラクティス](issues-create-issue.md#issues-create-issue-assign-genai-best-practices)を参照してください。

Amazon Q でプロジェクトを作成したら、Amazon Q を使用して新しいコンポーネントを追加することもできます。これは、Amazon Q が要件に基づいて CodeCatalyst ブループリントを提案するためです。

**Amazon Q を使用してブループリントを追加するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. CodeCatalyst コンソールで、ブループリントを追加するプロジェクトに移動します。

1. **[Amazon Q を使用して追加]** を選択します。

1. Amazon Q プロンプトテキスト入力フィールドで、構築するプロジェクトに関する簡単な説明を記述して指示を出します。例: `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   (オプション) **[例を試す]** で、ブループリントを選択して、あらかじめ作成されたプロンプトを使用できます。例えば、React アプリケーションを選択すると、次のプロンプトが提示されます。`“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”`

1. **[送信]** を選択して指示を Amazon Q に送信します。生成 AI アシスタントは提案を行い、ブループリントでは満たすことができない要件についても概要を提示します。例えば、Amazon Q は、与えられた条件を基に次のような内容を提案します。

   ```
   I recommend using the Single-page application blueprint based on your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Single-page application
   By Amazon Web Services
   
   This blueprint creates a SPA (single-page application) using React, Vue, or Angular frameworks and deploys to AWS Amplify Hosting.
   
   Version: 0.2.15
   View details
   
   The following requirements could not be met so I will create issues for you.
   • The application should have reusable UI components
   • The application should support for client-side routing
   • The application may require server-side rendering for improved performance and SEO
   ```

1. (オプション) 提案されたブループリントの詳細を表示するには、**[詳細を表示]** を選択します。

1. 次のいずれかを行います。

   1. 提案に問題がない場合は、**[はい、このブループリントを使用します]** を選択します。

   1. プロンプトを変更する場合は、**[プロンプトの編集]** を選択します。

   1. プロンプトを完全に消去する場合は、**[やり直す]** を選択します。

1. 次のいずれかを行います。

   1. 提案するブループリントを設定する場合は、**[設定]** を選択します。ブループリントは後で設定することもできます。

   1. この時点でブループリント設定を変更しない場合は、**[スキップ]** を選択します。

1. ブループリントを設定する場合は、プロジェクトリソースを変更した後に **[続行]** を選択します。

1. **[プロジェクトに追加]** を選択して、ブループリントを使用してプロジェクトにリソースを追加します。Amazon Q が、ブループリントを使用してリソースを作成します。例えば、「Single-page application」ブループリントを使用してプロジェクトに追加すると、CI/CD の関連コードとワークフローのソースリポジトリが作成されます。

1. (オプション) デフォルトで、Amazon Q は、ブループリントで満たされない要件の問題も作成します。問題を作成したくない項目を選択できます。Amazon Q に問題を作成させた後、Amazon Q に問題を割り当てることもできます。Amazon Q は、特定のソースリポジトリのコンテキストで問題を分析し、関連するソースファイルとコードの要約を提供します。詳細については、「[問題を作成して Amazon Q に割り当てる](#getting-started-project-assistance-issue-to-code)」および「[Amazon Q に割り当てた問題を作成および処理する際のベストプラクティス](issues-create-issue.md#issues-create-issue-assign-genai-best-practices)」を参照してください。

## プルリクエストの作成時にブランチ間のコード変更の要約を作成する
<a name="getting-started-project-assistance-pull-request-summary"></a>

プルリクエストは、ユーザーと他のプロジェクトメンバーが、ブランチから別のブランチへのコード変更をレビュー、コメント、マージするための主な方法です。プルリクエストを使用すると、マイナーな変更や修正、メジャーな機能の追加、リリースされたソフトウェアの新しいバージョンのコード変更を共同でレビューできます。プルリクエストの説明の一部としてコードの変更内容と変更の意図を要約することは、コードをレビューする人の参考になるだけでなく、コード変更の経緯を理解するうえでも役に立ちます。しかし、デベロッパーは、レビューの対象となる変更内容や変更の意図について、レビュアーが理解できるように十分な詳細を記述するのではなく、コードを見ればわかるだろうと考えたり、あいまいな説明だけを提供したりしがちです。

プルリクエストを作成するときに「**説明を記述する**」機能を使用して、Amazon Q にプルリクエストに含まれる変更の説明を作成させることができます。このオプションを選択すると、Amazon Q はコード変更を含むソースブランチと、変更のマージ先ブランチの違いを分析します。その後、変更内容の要約と、変更の意図と影響に関する最善の解釈を作成します。

**注記**  
この機能は Git サブモジュールでは機能しません。プルリクエストの一部である Git サブモジュールでの変更は要約されません。  
この機能は、リンクされたリポジトリのプルリクエストでは使用できません。

この機能は、作成したプルリクエストで試すことができますが、このチュートリアルでは、Python ベースの「**Modern three-tier web application**」ブループリントで作成されたプロジェクトに含まれるコードに簡単な変更を加えてテストします。

**ヒント**  
別のブループリントまたは独自のコードで作成されたプロジェクトを使用する場合でも、このチュートリアルに沿って進めることはできますが、このチュートリアルの例は実際のプロジェクトのコードと一致しません。以下の推奨例の代わりに、ブランチでプロジェクトのコードに簡単な変更を加え、次の手順で示すようにプルリクエストを作成して機能をテストしてください。

まず、ソースリポジトリにブランチを作成します。その後、コンソールのテキストエディタを使用して、そのブランチのファイルで簡単なコード変更を行います。次に、プルリクエストを作成し、「**説明を記述する**」機能を使用して、変更内容を要約します。

**ブランチを作成するには (コンソール)**

1. CodeCatalyst コンソールで、ソースリポジトリが存在するプロジェクトに移動します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]**、**[ソースリポジトリ]** の順に選択します。

1. ブランチを作成するリポジトリを選択します。

1. リポジトリの概要ページで、**[その他]**、**[ブランチの作成]** の順に選択します。

1. ブランチの名前を入力します。

1. ブランチ元となるブランチを選択して **[作成]** を選択します。

ブランチを作成したら、そのブランチ内のファイルに簡単な変更を加えます。この例では、`test_endpoint.py` ファイルを編集して、テストの再試行回数を **3** から **5** に変更します。

**ヒント**  
また、開発環境を作成または使用して、コード変更を行うこともできます。詳細については、「[開発環境の作成](devenvironment-create.md)」を参照してください。

**コンソールで `test_endpoint.py` ファイルを編集するには**

1. **mysfits** ソースリポジトリの概要ページで、ブランチのドロップダウンから、前の手順で作成したブランチを選択します。

1. **[ファイル]** で、編集するファイルに移動します。例えば、`test_endpoint.py` ファイルを編集するには、**[tests]**、**[integ]** の順に展開して [`test_endpoint.py`] を選択します。

1. **[編集]** を選択します。

1. 7 行目で、すべてのテストを再試行する回数を変更します。

   ```
   def test_list_all(retry=3):
   ```

   変更後:

   ```
   def test_list_all(retry=5):
   ```

1. **[コミット]** を選択し、ブランチに変更をコミットします。

変更を加えたブランチができたので、プルリクエストを作成します。

**変更の要約を含むプルリクエストを作成する**

1. リポジトリの概要ページで、**[その他]**、**[プルリクエストの作成]** の順に選択します。

1. **[ターゲットブランチ]** で、コードのレビュー後、マージ先となるブランチを選択します。
**ヒント**  
この機能を簡単に実演するために、前の手順で作成したブランチの作成元として使用したブランチを選択します。例えば、リポジトリのデフォルトブランチからブランチを作成した場合は、プルリクエストの送信先ブランチとしてそのブランチを選択します。

1. **[ソースブランチ]** で、`test_endpoint.py` ファイルに対してコミットした変更を含むブランチを選択します。

1. **[プルリクエストのタイトル]** に、ユーザーが確認すべき内容と理由が理解しやすい件名を入力します。

1. **[プルリクエストの説明]** で **[説明を記述する]** を選択し、Amazon Q にプルリクエストに含まれる変更の説明を作成させます。

1. 変更の要約が表示されます。提案されたテキストを確認してから、**[承諾して説明に追加]** を選択します。

1. 必要に応じて、コードに加えた変更をより適切に反映するように要約を変更します。このプルリクエストにレビュアーを追加するか、問題をリンクすることもできます。追加の変更が完了したら、**[作成]** を選択します。

## プルリクエストのコード変更に対するコメントの要約を作成する
<a name="getting-started-project-assistance-comment-summary"></a>

ユーザーがプルリクエストをレビューする際、そのプルリクエスト内の変更について複数のコメントを残すことがよくあります。多くのレビュアーからの多数のコメントが残されている場合、フィードバックに共通するテーマを見つけ出すのは難しく、すべてのリビジョンのすべてのコメントをレビューしたかどうかを確認することさえ困難になる可能性があります。「**コメントの要約を作成する**」機能を使用すると、Amazon Q にプルリクエストのコード変更に残されたすべてのコメントを分析し、コメントの要約を作成できます。

**注記**  
コメントの要約は一時的なものです。プルリクエストを更新すると、要約は消えます。内容の要約には、プルリクエスト全体に関するコメントは含まれず、プルリクエストのリビジョンのコードの違いに関するコメントのみが残ります。  
この機能は、Git サブモジュール内のコード変更に関するコメントには対応していません。  
この機能は、リンクされたリポジトリのプルリクエストでは使用できません。

**プルリクエストのコメントの要約を作成するには**

1. 前の手順で作成したプルリクエストに移動します。
**ヒント**  
必要に応じて、プロジェクト内の未解決のプルリクエストであればどれでも使用できます。ナビゲーションバーで、**[コード]**、**[プルリクエスト]** の順に選択し、未解決のプルリクエストを選択します。

1. プルリクエストにコメントがまだない場合は、**[変更]** でプルリクエストにコメントを追加します。

1. **[概要]** で、**[コメントの要約を作成する]** を選択します。完了すると、**[コメントの要約]** セクションが展開されます。

1. プルリクエストのリビジョンでコードの変更に残されたコメントの要約をレビューし、プルリクエストのコメントと比較します。

## 問題を作成して Amazon Q に割り当てる
<a name="getting-started-project-assistance-issue-to-code"></a>

開発チームは、作業を追跡および管理するための問題を作成しますが、誰が対応すべきかが明確でない、コードベースの特定の部分を調査する必要がある、他の緊急の作業が優先されるなどの理由から、問題が長引くことがあります。CodeCatalyst には、Amazon Q Developer Agent for Software Development との統合機能が含まれています。**Amazon Q** という生成 AI アシスタントに問題を割り当て、問題の件名とその説明に基づいて問題を分析させることができます。Amazon Q に問題を割り当てると、評価用のソリューションの試案を作成しようとします。これにより、すぐにリソースを割くことができない問題の解決には Amazon Q を活用しながら、自分やチームは注意が必要な問題に集中して取り組むことで最適化を図ることができます。

**ヒント**  
**Amazon Q** は、単純な課題や簡単な問題で優れたパフォーマンスを発揮します。最良の結果を得るには、何をしてもらいたいかを明確に説明する簡潔な表現を使用してください。

**Amazon Q** に問題を割り当てると、CodeCatalyst では、ユーザーがAmazon Q に問題にどのように対処させるかを決定するまで、問題はブロックされたものとしてマークされます。続行するには、次の 3 つの質問に回答する必要があります。
+  Amazon Q が実行するステップを 1 つ 1 つ確認するか、フィードバックなしで続行するか。各ステップを確認する場合は、Amazon Q が作成するアプローチに関するフィードバックを返信することができます。これにより、Amazon Q が、必要に応じてそのアプローチを繰り返し行うことができます。このオプションを選択した場合、Amazon Q は、ユーザーが作成するプルリクエストに対して残すフィードバックをレビューすることもできます。各ステップを確認しない場合、Amazon Q は作業をより迅速に完了するかもしれませんが、その問題や作成したプルリクエストでユーザーが提供したフィードバックをレビューすることはありません。
+ ワークフローファイルを作業の一部として更新することを許可するかどうか。プロジェクトで、プルリクエストのイベントで実行を開始するようにワークフローが設定されている場合があります。その場合、Amazon Q が作成する、ワークフロー YAML の作成または更新を含むプルリクエストは、プルリクエストに含まれるワークフローの実行を開始する可能性があります。ベストプラクティスとして、Amazon Q がワークフローファイルを操作することを許可しないでください。許可する場合は、Amazon Q が作成したプルリクエストをレビューして承認する前に、これらのワークフローを自動的に実行するワークフローがプロジェクトにないことを確認してください。
+ 問題内の作業をより細かい単位に分割し、Amazon Q 自身を含む個々のユーザーに割り当てられるように、タスクの作成を提案できるようにするかどうか。Amazon Q がタスクを提案して作成できるようにすると、複雑な問題の解決において、複数のユーザーが問題の個別の部分に取り組むことができるため、開発を加速できます。また、各タスクを完了するのに必要な作業は、その元となる問題よりも単純であるはずのため、作業全体を理解するにあたっての複雑さを軽減できます。
+ どのソースリポジトリで作業させるか。プロジェクトに複数のソースリポジトリがある場合でも、Amazon Q は 1 つのソースリポジトリでしかコードを操作できません。リンクされたリポジトリはサポートされていません。

選択を行い、確定すると、**Amazon Q** は問題を **[進行中]** の状態に移行し、問題のタイトルとその説明に加え、指定されたリポジトリ内のコードを基に、リクエストの内容を判断しようとします。ピン留めされたコメントが作成され、ここに作業のステータスに関する最新情報が提供されます。データを確認した後、Amazon Q はソリューションに対して考えられるアプローチを策定します。Amazon Q は、ピン留めされたコメントを更新し、すべての段階で問題の進行状況についてコメントすることで、アクションを記録します。ピン留めされたコメントや返信とは異なり、その作業の記録を厳密に時系列で保存しません。代わりに、ピン留めされたコメントの最上位に、その作業に関する最も関連性の高い情報を配置します。リポジトリに既に存在するコードのアプローチと分析に基づいてコードを作成しようとします。潜在的なソリューションを正常に生成すると、ブランチが作成され、そのブランチにコードがコミットされます。次に、そのブランチをデフォルトのブランチとマージするプルリクエストを作成します。Amazon Q が作業を完了すると、問題が **[レビュー中]** に切り替わり、評価の準備ができたコードがあるという通知がユーザーとチームに届きます。

**注記**  
この機能は、米国西部 (オレゴン) リージョンの **[問題]** でのみ使用できます。プロジェクトで Jira と **Jira Software** 拡張機能を使用するように設定している場合は利用できません。さらに、ボードのレイアウトをカスタマイズしている場合は、問題の状態が変更されない場合があります。最良の結果を得るには、この機能は標準ボードレイアウトのプロジェクトでのみ使用してください。  
この機能は Git サブモジュールでは機能しません。リポジトリに含まれる Git サブモジュールに変更を加えることはできません。  
Amazon Q に問題を割り当てると、問題のタイトルや説明を変更したり、他のユーザーに割り当てたりすることはできません。**Amazon Q** を問題から割り当て解除すると、現在のステップを完了した後、作業を停止します。割り当てを解除すると、作業を再開させたり、問題を再び割り当てたりすることはできません。  
Amazon Q にタスクの作成を許可した場合、Amazon Q に割り当てられた問題を自動的に **[レビュー中]** 列に自動的に移動させることができます。ただし、**[レビュー中]** の問題には、**[進行中]** など、別の状態のタスクがまだ存在する場合があります。

チュートリアルのこの部分では、「**Modern three-tier web application**」ブループリントで作成されたプロジェクトに含まれるコードの潜在的な特徴に基づいて 3 つの問題を作成します。1 つは新しい mysfit クリーチャーを作成するための機能を追加し、もう 1 つはソート機能を追加し、もう 1 つは **test** という名前のブランチを含めるようにワークフローを更新します。

**注記**  
 異なるコードを持つプロジェクトで作業している場合は、そのコードベースに関連するタイトルと説明を使用して問題を作成します。

**問題を作成し、評価用のソリューションを生成するには**

1. ナビゲーションペインで、**[問題]** を選択し、**[ボード]** ビューが表示されていることを確認します。

1. **[問題の作成]** を選択します。

1. 問題に、何をしたいのかをわかりやすい言葉で説明するタイトルを付けます。例えば、この問題では、「**Create another mysfit named Quokkapus**」というタイトルを入力します。**[説明]** で、以下の詳細を指定します。

   ```
   Expand the table of mysfits to 13, and give the new mysfit the following characteristics:
   
   Name: Quokkapus
   
   Species: Quokka-Octopus hybrid
   
   Good/Evil: Good
   
   Lawful/Chaotic: Chaotic
   
   Age: 216
   
   Description: Australia is full of amazing marsupials, but there's nothing there quite like the Quokkapus. 
   She's always got a friendly smile on her face, especially when she's using her eight limbs to wrap you up 
   in a great big hug. She exists on a diet of code bugs and caffeine. If you've got some gnarly code that needsa
   assistance, adopt Quokkapus and put her to work - she'll love it! Just make sure you leave enough room for 
   her to grow, and keep that coffee coming.
   ```

1. (オプション) mysfit のサムネイルおよびプロファイル画像として使用する画像を問題に添付します。これを行う場合は、使用する画像の詳細とその理由を含めるように説明を更新します。例えば、説明に「mysfit には、ウェブサイトにデプロイする画像ファイルが必要です。この問題に添付されている画像を作業の一部としてソースリポジトリに追加し、画像をウェブサイトにデプロイしてください。」という内容を追加します。
**注記**  
このチュートリアルでの操作中に、添付画像がウェブサイトにデプロイされることもあれば、デプロイされないこともあります。画像をウェブサイトに自分で追加し、プルリクエストを作成した後に使用する画像を指すように Amazon Q にそのコードを更新するためのコメントを残すことができます。

   説明をレビューし、次のステップに進む前に必要なすべての詳細が含まれていることを確認します。

1. **[担当者]** で、**[Amazon Q に割り当てる]** を選択します。

1. **[ソースリポジトリ]** で、プロジェクトコードが含まれているリポジトリの名前を選択します。

1. 必要に応じて、**[各ステップの後に Amazon Q を停止し、作業のレビュー待ちにする]** セレクターをオンにします。
**注記**  
ステップごとに Amazon Q を停止するオプションを選択すると、問題や作成されたタスクについてコメントし、コメントに基づいて Amazon Q にアプローチを最大 3 回変更させることができます。作業内容をレビューできるようにすべてのステップの後に Amazon Q を停止しない場合、Amazon Q はフィードバックを待たないため、作業がより迅速に進む可能性がありますが、コメントによって Amazon Q の方向性に影響を与えることはできません。このオプションを選択した場合、Amazon Q は、プルリクエストに残されたコメントにも応答しません。

1. **[Amazon Q にワークフローファイルの修正を許可する]** セレクターをオフのままにします。

1. **[Amazon Q にタスク作成の提案を許可する]** セレクターをオンにします。

1. **[問題の作成]** を選択します。ビューが [問題] ボードに変更されます。

1. **[問題の作成]** を選択して別の問題を作成します。今回は、「**Change the get\$1all\$1mysfits() API to return mysfits sorted by the Age attribute**」というタイトルで作成します。この問題を **[Amazon Q]** に割り当て、問題を作成します。

1. **[問題の作成]** を選択して別の問題を作成します。今回は、「**Update the OnPullRequest workflow to include a branch named test in its triggers**」というタイトルで作成します。必要に応じて、説明でワークフローにリンクします。この問題を **[Amazon Q]** に割り当てますが、今回は、**[Amazon Q にワークフローファイルの修正を許可する]** セレクターがオンになっていることを確認します。問題を作成して、[問題] ボードに戻ります。
**ヒント**  
ワークフローファイルを含むファイルを検索するには、アットマーク (`@`) を入力し、ファイル名を入力します。

問題を作成して割り当てると、問題は **[進行中]** に移行します。Amazon Q は、ピン留めされたコメントに、問題内の進捗状況を追跡するコメントを追加します。ソリューションへのアプローチを定義できる場合、問題の説明を、コードベースの分析を含む **[背景]** セクションと、ソリューションの作成に提案されているアプローチの詳細を含む **[アプローチ]** セクションで更新します。Amazon Q が問題で説明されている問題のソリューションを考案することに成功した場合、そのブランチに提案されたソリューションを実装するブランチとコード変更が作成されます。提案されたコードに Amazon Q が認識しているオープンソースコードとの類似点がある場合、レビューできるようにそのコードへのリンクを含むファイルが提供されます。コードの準備が整うと、プルリクエストが作成され、提案されたコードの変更をレビューできるようになります。また、そのプルリクエストへのリンクを問題に追加し、問題を **[レビュー中]** に移動します。

**重要**  
プルリクエストをマージする前に、コード変更を必ず確認してください。Amazon Q によって行われたコード変更をマージすると、他のコード変更と同様に、マージされたコードが適切にレビューされておらず、エラーが含まれている場合、コードベースとインフラストラクチャコードに悪影響を及ぼす可能性があります。

**問題とリンクされたプルリクエストをレビューし、Amazon Q によって行われた変更を確認するには**

1. **[問題]** で、Amazon Q に割り当てられた **[進行中]** の問題を選択します。コメントをレビューして Amazon Q の進行状況をモニタリングします。Amazon Q が問題の説明に記録した背景やアプローチがあればレビューします。Amazon Q によるタスクの提案を許可した場合は、提案されたタスクを確認し、必要なアクションを実行します。例えば、Amazon Q によってタスクが提案され、タスクの順序を変更したり、特定のユーザーに割り当てたりする場合は、**[タスクの変更、追加、順序変更]** を選択し、必要な更新を実行します。問題の表示が完了したら、**[X]** を選択して問題ペインを閉じます。
**ヒント**  
タスクの進行状況を確認するには、問題のタスクのリストからタスクを選択します。タスクはボードに個別の項目として表示されず、問題を通じてのみアクセスできます。タスクが Amazon Q に割り当てられている場合は、タスクを開いて、実行しようとしているアクションを承認する必要があります。また、リンクされたプルリクエストは、問題ではリンクとして表示されず、タスクでのみ表示されるため、確認するには、タスクを開く必要があります。タスクから問題に戻るには、問題へのリンクを選択します。

1. 次に、Amazon Q に割り当てられた **[レビュー中]** の問題を選択します。Amazon Q が問題の説明に記録した背景とアプローチをレビューします。実行されたアクションを把握するために、コメントをレビューして、進捗状況、実行する必要があるアクション、コメントなど、この問題に関連する作業用に作成されたタスクを確認します。**[プルリクエスト]** で、**[未解決]** ラベルの横にあるプルリクエストへのリンクを選択してコードをレビューします。
**ヒント**  
タスクに対して生成されたプルリクエストは、タスクビューにリンクされたプルリクエストとしてのみ表示されます。問題に対するリンクされたプルリクエストとしては表示されません。

1. プルリクエストで、コードの変更をレビューします。詳細については、「[プルリクエストのレビュー](pull-requests-review.md)」を参照してください。Amazon Q の提案したコードを変更したい場合は、プルリクエストにコメントを残します。より良い結果を得るために、Amazon Q へのコメントは具体的に記入してください。

   例えば、**Create another mysfit named Quokkapus** に対して作成されたプルリクエストをレビューしている際に、説明に誤字があることに気付くかもしれません。「『needsa』の『needs』と『a』の間にスペースを追加して誤字を修正し、説明を変更してください」というコメントを Amazon Q に対して残すことができます。または、Amazon Q に説明を更新し、変更した説明全文を取り入れるように指示するコメントを残すこともできます。

   新しい mysfit の画像をウェブサイトにアップロードした場合は、新しい mysfit に使用する画像とサムネイルへのポインタで mysfit を更新するように指示するコメントを Amazon Q に残すことができます。
**注記**  
Amazon Q は個々のコメントには応答しません。Amazon Q がプルリクエストのコメントに残されたフィードバックを取り入れるのは、問題の作成時に、承認を受けるために各ステップの後に停止するデフォルトのオプションを選択した場合のみです。

1. (オプション) コードの変更に必要なすべてのコメントを残したら、**[リビジョンを作成]** を選択して、コメントでリクエストした変更を取り入れたプルリクエストのリビジョンを Amazon Q に作成させます。Amazon Q によるリビジョン作成の進行状況の報告は、**[変更]** ではなく **[概要]** で確認できます。リビジョンの作成時に関する Amazon Q からの最新情報を確認するには、ブラウザを更新してください。
**注記**  
プルリクエストのリビジョンを作成できるのは、問題を作成したユーザーのみです。プルリクエストのリビジョンは 1 回のみリクエストできます。コメントに関するすべての問題に対処し、コメントの内容に満足していることを確認してから、**[リビジョンを作成]** を選択します。

1. このサンプルプロジェクトのプルリクエストごとにワークフローが実行されます。プルリクエストをマージする前に、ワークフローが正常に実行されていることを確認してください。マージする前にコードをテストするための追加のワークフローと環境を作成することもできます。詳細については、「[初めてのワークフロー](workflows-getting-started.md)」を参照してください。

1. プルリクエストの最新のリビジョンに満足したら、**[マージ]** を選択します。

## 問題を作成し、Amazon Q にタスクを推奨させる
<a name="getting-started-project-assistance-issue-to-tasks"></a>

問題には、複雑な作業や長時間の作業が含まれる場合があります。CodeCatalyst には、Amazon Q Developer Agent for Software Development との統合機能が含まれています。**Amazon Q** に、タイトルとその説明に基づいて問題を分析させ、作業の個別のタスクへの論理的な分割を推奨するように要求することができます。Amazon Q は、推奨タスクのリストを作成しようとします。これをレビューし、必要に応じて変更し、作成するかどうかを選択できます。これにより、作業の各部分をより管理しやすい形でチームメンバーに割り当てることができ、より迅速に達成できるようになります。

**問題に対する推奨タスクのリストを作成してレビューするには**

1. ナビゲーションペインで、**[問題]** を選択し、**[ボード]** ビューが表示されていることを確認します。

1. **[問題の作成]** を選択します。

1. 問題に、何をしたいのかをわかりやすい言葉で説明するタイトルを付けます。例えば、この問題では、「**Change the get\$1all\$1mysfits() API to return mysfits sorted by the Good/Evil attribute**」というタイトルを入力します。**[説明]** で、以下の詳細を指定します。

   ```
   Update the API to allow sorting of mysfits by whether they are Good, Neutral, or Evil. Add a button on the website that allows users to quickly choose this sort and to exclude alignments that they don't want to see.
   ```

1. 説明をレビューし、次のステップに進む前に必要なすべての詳細が含まれていることを確認します。

1. **[担当者]** で、問題を自分に割り当てます。

1. **[問題の作成]** を選択します。ビューが [問題] ボードに変更されます。

1. 先ほど作成した問題を選択して開きます。**[タスクを推奨する]** を選択します。

1. 問題のコードが格納されているソースリポジトリを選択します。**[タスクの推奨を開始する]** を選択します。

ダイアログが閉じ、Amazon Q は問題の複雑さの分析を開始します。問題が複雑な場合は、作業を別々の連続したタスクに分割することを提案します。リストの準備ができたら、**[推奨タスクを表示する]** を選択します。その他のタスクの追加、推奨タスクの変更、タスクの順序変更を行うことができます。推奨を承諾する場合は、**[タスクの作成]** を選択するとタスクが作成されます。作成されたタスクは、ユーザーに割り当てることも、Amazon Q 自体に割り当てることもできます。

## リソースをクリーンアップする
<a name="getting-started-project-assistance-clean-up"></a>

このチュートリアルを完了したら、このチュートリアル中に作成した不要になったリソースをクリーンアップするために、次のアクションを実行することを検討してください。
+ 作業が完了した問題から Amazon Q を割り当て解除する。Amazon Q が問題への対処を完了した場合、またはソリューションが見つからなかった場合は、Amazon Q の割り当てを解除して、生成 AI 機能のクォータ上限に達しないようにします。詳細については、「[Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)」および「[Pricing](https://codecatalyst.aws/explore/pricing)」を参照してください。
+ 作業が完了した問題を **[完了]** に移動する。
+ プロジェクトが不要になった場合は、プロジェクトを削除する。