

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 教程：使用 CodeCatalyst 生成式 AI 功能加快开发工作
<a name="getting-started-project-assistance"></a>

如果您在启用生成人工智能功能的 Amazon CodeCatalyst 中有一个项目和源代码库，则可以使用这些功能来帮助加快软件开发。开发人员要完成的任务往往多于完成任务所需的时间。在创建拉取请求以审查这些更改时，开发人员通常不会花时间向队友解释他们的代码更改，而是期望其他用户发现这些更改一目了然。拉取请求的创建者和审阅者也没有时间彻底查找和阅读拉取请求中的所有评论，尤其是在拉取请求有多个修订版的情况下。 CodeCatalyst 与 Amazon Q Developer Agent 集成以进行软件开发，提供生成式 AI 功能，这些功能既可以帮助团队成员更快地完成任务，又可以增加他们专注于工作中最重要部分的时间。

Amazon Q Developer 是一款基于人工智能的生成式对话助手，可以帮助您理解、构建、扩展和操作 AWS 应用程序。为了加快您的构建 AWS，为Amazon Q提供支持的模型增加了高质量的 AWS 内容，以生成更完整、更具可操作性和参考性的答案。有关更多信息，请参阅《Amazon Q Developer User Guide》**中的 [What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html)。

**注意**  
**由 Amazon Bedrock** 提供支持： AWS 实现[自动滥用检测](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由于**为我编写描述**、**创建内容摘要**、**推荐任务**、**使用 Amazon Q 创建功能或将功添加到项目**以及**将事务分配给 Amazon Q** 功能与用于软件开发的 Amazon Q 开发者版代理程序的功能都是基于 Amazon Bedrock 构建的，因此，用户可以充分利用 Amazon Bedrock 中实施的控制措施来强制实施安全性并负责任地使用人工智能（AI）。

在本教程中，您将学习如何使用中的生成式 AI 功能 CodeCatalyst 来帮助您创建带有蓝图的项目，以及如何向现有项目添加蓝图。此外，您将学习如何在创建拉取请求时汇总分支之间的变化，以及如何汇总拉取请求中留下的注释。您还将学习如何根据自己的代码更改或改进想法创建事务并将其分配给 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 功能，您必须先完成并有权访问以下资源：
+ 您有 AWS 生成器 ID 或单点登录 (SSO) 身份可供登录。 CodeCatalyst
+ 您所在的空间启用了生成式人工智能功能。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。
+ 在该空间的项目中，您具有贡献者或项目管理员角色。
+ 除非您在使用生成式人工智能创建项目，否则您的现有项目至少有一个为其配置的源存储库。不支持链接的存储库。
+ 在分配事务以使用生成式人工智能创建初始解决方案时，无法使用 **Jira Software** 扩展来配置该项目。该扩展不受此功能的支持。

有关更多信息，请参阅[创建空间](spaces-create.md)、[跟踪和组织处理问题的工作 CodeCatalyst跟踪和整理有关事务的工作](issues.md)、[为带有扩展程序的项目添加功能 CodeCatalyst使用扩展向项目添加功能](extensions.md)和[使用用户角色授予访问权限](ipa-roles.md)。

本教程基于使用带有 Python 的**现代三层 Web 应用程序**蓝图创建的项目。如果您使用的项目是用其他蓝图创建的，您仍然可以按照这些步骤进行操作，但有些细节会有所不同，例如示例代码和语言。

## 创建项目或添加功能时使用 Amazon Q 选择蓝图
<a name="getting-started-project-assistance-create-apply-bp"></a>

作为项目开发人员，在创建新项目或者向现有项目添加组件时，您可以与生成式人工智能助手 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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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。生成式人工智能助手会提供建议，并概述蓝图无法满足的要求。例如，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 使用蓝图创建资源。例如，如果您使用单页应用程序蓝图创建项目，则会为其创建相关代码和工作流程的 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 添加新组件，因为它会根据您的要求建议 CodeCatalyst 蓝图。

**使用 Amazon Q 添加蓝图**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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。生成式人工智能助手会提供建议，并概述蓝图无法满足的要求。例如，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 使用蓝图创建资源。例如，如果您使用单页应用程序蓝图添加到项目中，则会为其创建相关代码和工作流程的 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 的**现代三层 Web 应用程序**蓝图中创建的项目所包含的代码进行一些简单的更改，对此功能进行测试。

**提示**  
如果您使用的项目是用不同蓝图或自己代码创建的，您仍然可以按照本教程进行操作，但是本教程中的示例与您项目中的代码会不匹配。与其使用下面建议的示例，不如在一个分支中对项目代码进行简单更改，然后创建一个拉取请求来测试该功能，如以下步骤所示。

首先，需要在源存储库中创建一个分支。然后，使用控制台中的文本编辑器对该分支中的一个文件进行简单的代码更改。然后，创建一个拉取请求，并使用**为我编写描述**功能来总结您所做的更改。

**创建分支（控制台）**

1. 在 CodeCatalyst 控制台中，导航到源存储库所在的项目。

1. 从项目的源存储库列表中选择存储库的名称。或者，在导航窗格中，选择**代码**，然后选择**源存储库**。

1. 选择要在其中创建分支的存储库。

1. 在存储库的概述页面上，选择**更多**，然后选择**创建分支**。

1. 输入分支的名称。

1. 选择要从中创建分支的分支，然后选择**创建**。

有了分支后，只需对该分支中的文件进行简单的更改。在本例中，您将编辑 `test_endpoint.py` 文件，将测试的重试次数从 **3** 更改为 **5**。

**提示**  
您还可以选择创建或使用一个开发环境来进行这次的代码更改。有关更多信息，请参阅 [创建开发环境](devenvironment-create.md)。

**在控制台中编辑 `test_endpoint.py` 文件**

1. 在 **mysfits** 源存储库的概述页面上，选择分支下拉列表，并选择您在上一个过程中创建的分支。

1. 在**文件**中，导航到要编辑的文件。例如，要编辑 `test_endpoint.py` 文件，请展开**测试**，展开 **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 开发者代理集成，用于软件开发。您可以将事务分配给名为 **Amazon Q** 的生成式人工智能助手，该助手可以根据事务的标题和描述来分析事务。如果您将事务分配给 Amazon Q，它将尝试创建解决方案草稿以供您评估。这有助于您和您的团队专注于并优化处理需要您关注的事务，而 Amazon Q 则专注于解决您没有资源来立即解决的问题。

**提示**  
**Amazon Q** 能够出色地处理简单的事务和问题。为了获得最佳结果，请使用简明易懂的语言来清楚地说明您要执行的操作。

当您将问题分配给 A **mazon Q** 时， CodeCatalyst 会将该问题标记为已阻止，直到您确认希望 Amazon Q 如何处理该问题。它需要您回答三个问题才能继续：
+  无论您是想确认它所采取的每个步骤，还是希望它在没有反馈的情况下继续进行。如果您选择确认每个步骤，则可以回复 Amazon Q，并提供有关其创建方法的反馈，以便它可以在需要时对其方法进行迭代。如果您选择此选项，Amazon Q 还可以查看用户在该软件创建的任何拉取请求中留下的反馈。如果您选择不确认每个步骤，Amazon Q 可能会更快地完成工作，但它不会审查您在事务中或它创建的任何拉取请求中给出的任何反馈。
+ 您是否要让它能够更新工作流文件作为其工作的一部分。您的项目可能已将工作流配置为在拉取请求事件上开始运行。如果是这样的话，Amazon Q 创建的任何拉取请求（包括创建或更新工作流 YAML）都可能启动拉取请求中包含的那些工作流的运行。作为最佳实践，请不要选择让 Amazon Q 能够使用工作流文件，除非您确定项目中没有将自动运行这些工作流文件的工作流，然后再审核和批准它创建的拉取请求。
+ 您是否让它能够建议创建任务，将事务中的工作分解为可以单独分配给用户（包括 Amazon Q 本身）的较小增量。让 Amazon Q 能够建议和创建任务可以让多人处理事务的不同部分，从而有助于加快复杂事务的处理。它还可以帮助降低整个工作的理解复杂性，因为理想情况下，完成每项任务所需的工作比它所属的事务更简单。
+ 您想让它在哪个源存储库中工作。即使您的项目有多个源存储库，Amazon Q 也只能处理一个源存储库中的代码。不支持链接的存储库。

在您做出并确认选择后，**Amazon Q** 会将事务移至**进行中**状态，同时它会尝试根据事务标题及其描述以及指定存储库中的代码，来确定请求的内容。它将创建一个固定注释，在其中提供有关其工作状态的最新信息。在审查数据后，Amazon Q 将制定一种潜在的解决方案方法。Amazon Q 通过更新其固定注释，并在每个阶段注释该事务的进展，来记录自己的操作。与固定的注释和回复不同，它没有严格按时间顺序记录其工作。相反，它将有关其工作的最相关信息放在固定注释的顶部。它将尝试根据其方法和对存储库中已有代码的分析来创建代码。如果它成功生成了潜在的解决方案，它将创建一个分支，并将代码提交给该分支。然后，它会创建一个拉取请求，用于将该分支与默认分支合并。当 Amazon Q 完成其工作后，它会将事务移至**审核中**，以便您和您的团队知道有可供您评估的代码。

**注意**  
此功能仅通过美国西部（俄勒冈州）区域中的**事务**提供。如果您已将项目配置为使用带有 **Jira Software** 扩展的 Jira，则该功能不可用。此外，如果您自定义了面板的布局，则事务可能不会改变状态。为获得最佳效果，请仅在采用标准面板布局的项目中使用此功能。  
此功能不适用于 Git 子模块。它无法对存储库中包含的任何 Git 子模块进行更改。  
您将事务分配给 Amazon Q 后，就无法更改事务的标题或描述，也不能将其分配给其他任何人。如果您从事务中取消分配 **Amazon Q**，它将完成当前步骤，然后停止工作。一旦取消分配它，它就无法恢复工作或重新分配给事务。  
如果用户选择让 Amazon Q 能够创建任务，则如果将事务分配给 Amazon Q，则该事务可以自动移至**审核中**列。但是，**审阅中**状态的事务可能仍有处于不同状态的任务，例如处于**进行中**状态。

在本教程的这一部分中，您将根据使用**现代三层 Web 应用程序**蓝图所创建项目中包含的代码的潜在功能，创建三个事务：一个用于创建新的 mysfit 生物，一个用于添加排序功能，另一个用于更新工作流以包含名为 **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 根据您的注释最多三次更改其方法。如果您选择不让 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 建议了任务，而您想更改任务顺序或者将任务分配给特定用户，请选择**更改、添加或重新排序任务**，并执行任何必要的更新。查看完事务后，选择 **X** 关闭事务窗格。
**提示**  
要查看任务的进度，请从事务的任务列表中选择任务。任务不会作为单独的项目显示在面板上，只能通过事务进行访问。如果任务分配给 Amazon Q，则您必须打开该任务才能批准其要执行的任何操作。您还必须打开任务，才能看到任何关联拉取请求，因为它们不会作为链接出现在事务中，而只出现在任务中。要从任务中返回事务，请选择指向该事务的链接。

1. 现在，选择一个分配给 Amazon Q 且处于**审核中**状态的事务。查看事务描述中记录的背景和方法。查看注释以了解该软件执行的操作。查看为与此事务相关的工作创建的所有任务，包括任务进度、您可能需要采取的任何操作以及任何注释。在**拉取请求**中，选择**打开**标签旁边的拉取请求链接以查看代码。
**提示**  
为任务生成的拉取请求仅在任务视图中以关联拉取请求形式出现，不会以事务的关联拉取请求形式出现。

1. 在拉取请求中，查看代码更改。有关更多信息，请参阅 [审核拉取请求](pull-requests-review.md)。如果您希望 Amazon Q 更改其建议的任何代码，请在拉取请求上留下注释。为了获得最佳效果，在 Amazon Q 上添加注释时，请务必具体说明。

   例如，在查看为 **Create another mysfit named Quokkapus** 创建的拉取请求时，您可能会注意到描述中有一个拼写错误。您可以在 Amazon Q 上添加一条注释，注明“通过在‘needs’和‘a’之间添加一个空格来更改描述，以修复拼写错误‘needsa’”。或者，您也可以添加一条注释，指示 Amazon Q 更新描述，并提供修改后的完整描述以便其采纳。

   如果您将新 mysfit 的图像上传到网站，您可以添加一条注释，让 Amazon Q 更新 mysfit，在其中添加用于新 mysfit 的图像和缩略图指针。
**注意**  
Amazon Q 不会回复个人注释。仅当您在创建事务时选择了在每个步骤后停止的默认选项，Amazon Q 才会将注释中留下的反馈纳入拉取请求中。

1. （可选）在您和其他项目用户留下您希望更改代码的所有注释后，选择**创建修订**，让 Amazon Q 创建拉取请求的修订，其中包含您在注释中请求的更改。Amazon Q 将在**概述**中报告修订创建进度，而不是在**更改**中报告。请务必刷新浏览器，以查看 Amazon Q 关于创建修订的最新更新。
**注意**  
只有创建了该事务的用户才能创建拉取请求的修订。对于一个拉取请求，您只能请求创建一个修订。在选择**创建修订**之前，请确保您已经解决了注释中的所有问题，并且对注释的内容感到满意。

1. 在此示例项目中，将为每个拉取请求运行一个工作流。在合并拉取请求之前，请确保看到工作流已成功运行。在合并之前，您也可以选择创建其他工作流和环境来测试代码。有关更多信息，请参阅 [入门工作流](workflows-getting-started.md)。

1. 如果您对拉取请求的最新修订感到满意，请选择**合并**。

## 创建事务并让 Amazon Q 为其推荐任务
<a name="getting-started-project-assistance-issue-to-tasks"></a>

问题有时可能包含复杂或漫长的工作量。 CodeCatalyst 包括与 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，以免达到生成式人工智能功能的最大配额。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html) 和 [Pricing](https://codecatalyst.aws/explore/pricing)。
+ 将所有已处理完的事务移至**完成**。
+ 如果不再需要该项目，请删除它。