教程:使用 CodeCatalyst 生成式 AI 功能加快开发工作 - Amazon CodeCatalyst

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

教程:使用 CodeCatalyst 生成式 AI 功能加快开发工作

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

Amazon Q Developer 是一款基于人工智能的生成式对话助手,可以帮助您理解、构建、扩展和操作 AWS 应用程序。为了加快您的构建 AWS,为Amazon Q提供支持的模型增加了高质量的 AWS 内容,以生成更完整、更具可操作性和参考性的答案。有关更多信息,请参阅什么是 Amazon Q 开发者?Amazon Q 开发者用户指南中。

注意

由 Amazon Bedrock 提供支持: AWS 实现自动滥用检测。由于用于软件开发的 Amazon Q 开发者代理的 “为我写描述”、“创建内容摘要” 和 “将问题分配给 Amazon Q” 功能是在 Amazon Bedrock 上构建的,因此用户可以充分利用 Amazon Bedrock 中实施的控制措施来加强安全、保障和负责任地使用人工智能 (AI)。

在本教程中,您将学习如何使用中的生成式 AI 功能 CodeCatalyst 来帮助您使用蓝图创建项目,以及如何向现有项目添加蓝图。此外,你还将学习如何在创建拉取请求时汇总分支之间的变化,以及如何汇总拉取请求中留下的评论。您还将学习如何根据自己的代码更改或改进想法创建问题并将其分配给 Amazon Q。在处理分配给 Amazon Q 的问题时,您将学习如何允许 Amazon Q 提出任务建议,以及如何分配和处理它在处理问题时创建的任何任务。

先决条件

要使用本教程中的 CodeCatalyst 功能,您必须先完成并有权访问以下资源:

  • 您有 AWS 生成器 ID 或单点登录 (SSO) 身份可供登录。 CodeCatalyst

  • 你所在的空间启用了生成式 AI 功能。有关更多信息,请参阅管理生成式 AI 功能

  • 在该空间的项目中,您具有参与者或项目管理员角色。

  • 除非你创建的是使用生成式 AI 的项目,否则你的现有项目至少有一个为其配置的源代码库。不支持链接存储库。

  • 在分配问题以使用生成式 AI 创建初始解决方案时,无法使用 Jira Softwar e 扩展程序配置项目。此功能不支持该扩展。

有关更多信息,请参阅 创建空间跟踪和组织处理问题的工作 CodeCatalyst为带有扩展的项目添加功能 CodeCatalyst使用用户角色授予访问权限

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

创建项目或添加功能时使用 Amazon Q 选择蓝图

作为项目开发人员,在创建新项目或向现有项目添加组件时,您可以与生成式 AI 助手 Amazon Q 合作。您可以在类似聊天的界面中与 Amazon Q 进行交互,从而向其提供项目要求。根据您的要求,Amazon Q 会提出蓝图并概述无法满足的要求。如果您的房源有自定义蓝图,Amazon Q 会学习并将这些蓝图包含在推荐中。然后,如果您满意,可以继续执行 Amazon Q 的建议,它将创建必要的资源,例如包含满足您要求的代码的源存储库。Amazon Q 还会为蓝图无法满足的要求带来问题。要了解有关可用 CodeCatalyst 蓝图的更多信息,请参阅使用 CodeCatalyst 蓝图创建综合项目。要了解有关将 Amazon Q 与蓝图配合使用的更多信息,请参阅使用 Amazon Q 创建项目或通过蓝图添加功能的最佳实践

使用 Amazon Q 创建项目
  1. 打开 CodeCatalyst 控制台,网址为 https://codecatalyst.aws/

  2. 在 CodeCatalyst 控制台中,导航到要创建蓝图的空间。

  3. 在空间控制面板上,选择使用 Amazon Q 创建

  4. 在 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.”

    (可选)在 Try ex amples 下,您可以通过选择蓝图来使用预先写好的提示。例如,如果您选择 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.”

  5. 选择 “发送” 将您的说明提交给 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.
  6. (可选)要查看建议蓝图的详细资料,请选择查看详细信息

  7. 请执行以下操作之一:

    1. 选择 “是”,如果您对建议感到满意,请使用此蓝图

    2. 如果要修改提示,请选择 “编辑提示”。

    3. 如果要完全清除提示,请选择 “重新开始”。

  8. 请执行以下操作之一:

    1. 如果要配置建议的蓝图,请选择配置。您也可以在以后配置蓝图。

    2. 如果您目前不想修改蓝图配置,请选择 “跳过”。

  9. 如果您选择配置蓝图,请在修改项目资源后选择继续

  10. 出现提示时,输入要分配给项目的名称及其关联的资源名称。该名称在空间内必须是唯一的。

  11. 选择 “创建项目” 以使用蓝图创建项目。Amazon Q 使用蓝图创建资源。例如,如果您使用单页应用程序蓝图创建项目,则会为 CI/CD 的相关代码和工作流程创建源存储库。

  12. (可选)默认情况下,Amazon Q 还会为蓝图无法满足的要求创建问题。你可以选择不想为哪些项目创建议题。在您选择让 Amazon Q 创建问题后,您也可以将问题分配给 Amazon Q。它将在给定源存储库的上下文中分析问题,提供相关源文件和代码的摘要。有关更多信息,请参阅 查找和查看问题创建议题并将其分配给 Amazon Q创建和处理分配给 Amazon Q 的问题时的最佳实践

使用 Amazon Q 创建项目后,您还可以使用 Amazon Q 添加新组件,因为它会根据您的要求建议 CodeCatalyst 蓝图。

使用 Amazon Q 添加蓝图
  1. 打开 CodeCatalyst 控制台,网址为 https://codecatalyst.aws/

  2. 在 CodeCatalyst 控制台中,导航到要在其中添加蓝图的项目。

  3. 选择 “使用 Amazon 添加 Q”。

  4. 在 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.”

    (可选)在 Try ex amples 下,您可以通过选择蓝图来使用预先写好的提示。例如,如果您选择 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.”

  5. 选择 “发送” 将您的说明提交给 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
  6. (可选)要查看建议蓝图的详细资料,请选择查看详细信息

  7. 请执行以下操作之一:

    1. 选择 “是”,如果您对建议感到满意,请使用此蓝图

    2. 如果要修改提示,请选择 “编辑提示”。

    3. 如果要完全清除提示,请选择 “重新开始”。

  8. 请执行以下操作之一:

    1. 如果要配置建议的蓝图,请选择配置。您也可以在以后配置蓝图。

    2. 如果您目前不想修改蓝图配置,请选择 “跳过”。

  9. 如果您选择配置蓝图,请在修改项目资源后选择继续

  10. 选择 “添加到项目”,使用蓝图向项目添加资源。Amazon Q 使用蓝图创建资源。例如,如果您使用单页应用程序蓝图添加到项目中,则会创建 CI/CD 相关代码和工作流程的源存储库。

  11. (可选)默认情况下,Amazon Q 还会为蓝图无法满足的要求创建问题。你可以选择不想为哪些项目创建议题。在您选择让 Amazon Q 创建问题后,您也可以将问题分配给 Amazon Q。它将在给定源存储库的上下文中分析问题,提供相关源文件和代码的摘要。有关更多信息,请参阅 创建议题并将其分配给 Amazon Q创建和处理分配给 Amazon Q 的问题时的最佳实践

创建拉取请求时创建分支之间的代码更改摘要

拉取请求是您和其他项目成员审阅、评论代码更改以及将代码更改从一个分支合并到另一个分支的主要方式。您可以使用拉取请求以协作方式查看代码更改,以了解已发布软件的细微更改或修复、主要功能添加或新版本。作为拉取请求描述的一部分,总结代码更改和变更背后的意图对其他要查看代码的人很有帮助,也有助于了解代码随时间推移而发生的变化的历史记录。但是,开发人员通常依靠自己的代码来解释自己或提供模棱两可的细节,而不是用足够的细节来描述他们的更改,让审阅者了解他们正在审查的内容或代码变更背后的意图。

在创建拉取请求时,您可以使用 “为我写描述” 功能,让 Amazon Q 为拉取请求中包含的更改创建描述。当您选择此选项时,Amazon Q 会分析包含代码更改的源分支与要合并这些更改的目标分支之间的差异。然后,它总结了这些变化的内容,以及对这些变化的意图和效果的最佳解释。

注意

此功能不适用于 Git 子模块。它不会汇总作为拉取请求一部分的 Git 子模块中的任何更改。

此功能不适用于链接仓库中的拉取请求。

你可以用你创建的任何拉取请求试用这个功能,但在本教程中,我们将通过对在基于 Python 的 Moder n 三层 Web 应用程序蓝图中创建的项目中包含的代码进行一些简单的更改来对其进行测试。

提示

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

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

创建分支(控制台)
  1. 在 CodeCatalyst 控制台中,导航到源存储库所在的项目。

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

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

  4. 在存储库的概述页面上,选择更多,然后选择创建分支

  5. 输入分支的名称。

  6. 选择要从中创建分支的分支,然后选择 “创建”。

有了分支后,只需进行简单的更改即可编辑该分支中的文件。在此示例中,您将编辑test_endpoint.py文件以将测试的重试次数从更改35

提示

您也可以选择创建或使用开发环境来更改此代码。有关更多信息,请参阅 创建开发环境

在控制台中编辑test_endpoint.py文件
  1. mysfits源存储库的概述页面上,选择分支下拉列表并选择您在上一个过程中创建的分支。

  2. 在 “文件” 中,导航到要编辑的文件。例如,要编辑test_endpoint.py文件,请展开测试,展开 integ,然后选择test_endpoint.py

  3. 选择编辑

  4. 在第 7 行,将重试所有测试的次数更改为:

    def test_list_all(retry=3):

    更改为:

    def test_list_all(retry=5):
  5. 选择 “提交”,然后将更改提交到您的分支。

现在,您已经有一个包含更改的分支,您可以创建拉取请求。

创建包含更改摘要的拉取请求
  1. 在存储库的概述页面上,选择更多,然后选择创建拉取请求

  2. 在 D est ination 分支中,在查看代码后,选择要将代码合并到的分支。

    提示

    选择您在前面的过程中创建分支的分支,以最简单地演示此功能。例如,如果您从存储库的默认分支创建了分支,请选择该分支作为拉取请求的目标分支。

  3. 源分支中,选择包含您刚刚提交给该test_endpoint.py文件的更改的分支。

  4. Pull req uest 标题中,输入一个标题,以帮助其他用户了解需要审阅的内容及其原因。

  5. 拉取请求描述中,选择为我写描述,让 Amazon Q 为拉取请求中包含的更改创建描述。

  6. 此时将显示更改摘要。查看建议的文本,然后选择接受并添加到描述中。

  7. (可选)修改摘要以更好地反映您对代码所做的更改。您也可以选择添加审阅者或将议题链接到此拉取请求。完成所需的任何其他更改后,选择 “创建”。

创建拉取请求中对代码更改留下的评论摘要

当用户查看拉取请求时,他们通常会对该拉取请求中的更改留下多条评论。如果有很多审稿人发表了很多评论,则可能很难在反馈中挑选出共同的主题,甚至很难确保你已经审阅了所有修订版中的所有评论。您可以使用 “创建评论摘要” 功能让 Amazon Q 分析拉取请求中代码更改时留下的所有评论,并创建这些评论的摘要。

注意

评论摘要是短暂的。如果您刷新拉取请求,摘要将消失。内容摘要不包括对整个拉取请求的评论,只包括对拉取请求修订版中代码差异的评论。

此功能不适用于在 Git 子模块中对代码更改留下的任何评论。

此功能不适用于链接仓库中的拉取请求。

在拉取请求中创建评论摘要
  1. 导航到您在上一个过程中创建的拉取请求。

    提示

    如果您愿意,可以在项目中使用任何已打开的拉取请求。在导航栏中,选择代码,选择拉取请求,然后选择任何已打开的拉取请求。

  2. 如果拉取请求还没有评论,请在 “更改” 中向拉取请求添加一些评论。

  3. 概述中,选择创建评论摘要。完成后,评论摘要部分将展开。

  4. 查看拉取请求修订版中对代码变更留下的评论摘要,并将其与拉取请求中的评论进行比较。

创建议题并将其分配给 Amazon Q

开发团队会创建问题来跟踪和管理他们的工作,但有时问题会持续存在,因为要么不清楚谁应该处理这个问题,要么问题需要对代码库的特定部分进行研究,要么必须先处理其他紧急工作。 CodeCatalyst 包括与 Amazon Q 开发者代理集成,用于软件开发。您可以将问题分配给名为 A mazon Q 的生成式 AI 助手,该助手可以根据问题的标题和描述来分析问题。如果您将问题分配给 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 Soft ware 扩展的 Jira,则该扩展不可用。此外,如果您自定义了看板的布局,则问题可能不会改变状态。为获得最佳效果,请仅在采用标准电路板布局的项目中使用此功能。

此功能不适用于 Git 子模块。它无法对仓库中包含的任何 Git 子模块进行更改。

将问题分配给 Amazon Q 后,您就无法更改问题的标题或描述或将其分配给其他任何人。如果您从问题中取消分配 Amazon Q,它将完成当前步骤,然后停止工作。一旦取消指定,它就无法恢复工作或重新分配给问题。

如果用户选择允许问题创建任务,则如果将问题分配给 Amazon Q,则该问题可以自动移至 “正在审核” 列。但是,“审阅中” 中的问题可能仍有处于不同状态的任务,例如处于 “进行” 状态。

在本教程的这一部分中,您将根据使用现代三层 Web 应用程序蓝图创建的项目中包含的代码的潜在功能创建三个问题:一个用于添加一个用于创建新的 mysfit 生物,一个用于添加排序功能,另一个用于更新工作流程以包含名为的分支。test

注意

如果您在使用不同代码的项目中工作,请使用与该代码库相关的标题和描述来创建问题。

创建问题并生成解决方案供您评估
  1. 在导航窗格中,选择 “问题”,并确保您处于 “看” 视图。

  2. 选择 “创建问题”。

  3. 给问题起一个标题,用通俗易懂的语言解释你想做什么。例如,对于本期,请输入标题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.
  4. (可选)在问题上附加一张用作 mysfit 缩略图和个人资料图片的图片。如果您这样做,请更新描述以包含您要使用哪些图像及其原因的详细信息。例如,您可以在描述中添加以下内容:“mysfit 要求将图像文件部署到网站。作为工作的一部分,将本期所附的这些图像添加到源存储库中,然后将这些图像部署到网站。”

    注意

    在本教程的互动过程中,附加的图像可能会部署到网站,也可能不会部署到网站。您可以自己将图片添加到网站,然后在创建拉取请求后留言,让 Amazon Q 更新其代码以指向您希望它使用的图片。

    在继续下一步之前,请查看描述并确保其中包含可能需要的所有详细信息。

  5. 在 “受托人” 中,选择 “分配给 Amazon Q”。

  6. 源存储库中,选择包含项目代码的源存储库。

  7. 如有必要,请将 “要求 Amazon Q 停止” 滑动到活动状态,等待对其工作选择器的审核

    注意

    选择在每个步骤后让 Amazon Q 停止,这样您就可以对问题或任何已创建的任务发表评论,从而可以选择让 Amazon Q 根据您的评论最多三次更改其方法。如果您选择不让 Amazon Q 在每个步骤后停止,以便您可以查看其工作,则工作可能会更快地进行,因为 Amazon Q 不在等待您的反馈,但您将无法通过发表评论来影响 Amazon Q 所走的方向。如果您选择该选项,Amazon Q 也不会回复拉取请求中留下的评论。

  8. 让 “允许 Amazon Q 修改工作流程文件” 选择器保持非活动状态。

  9. 将 “允许 Amazon Q 建议创建任务” 选择器滑动到活动状态。

  10. 选择 “创建问题”。您的视图将更改为 “问题” 面板。

  11. 选择 “创建议题” 以创建另一个议题,这次是标题为的议题Change the get_all_mysfits() API to return mysfits sorted by the Age attribute。将此问题分配给 Amazon Q 并创建问题。

  12. 选择 “创建议题” 以创建另一个议题,这次是标题为的议题Update the OnPullRequest workflow to include a branch named test in its triggers。(可选)在描述中链接到工作流程。将此问题分配给 Amazon Q,但这次请确保将 “允许 Amazon Q 修改工作流程文件” 选择器设置为活动状态。创建问题以返回问题板。

    提示

    您可以通过输入 at 符号 (@) 并输入文件名来搜索文件,包括工作流程文件。

创建并分配议题后,问题将移至 “处理”。Amazon Q 将在固定评论中添加评论,跟踪其在问题中的进展。如果它能够定义解决方案的方法,它将使用包含其对代码库的分析的 “背景” 部分和详细介绍其创建解决方案的建议方法的 “方法” 部分来更新问题的描述。如果 Amazon Q 成功提出问题中描述的问题的解决方案,它将创建一个分支并在该分支中更改代码以实现其建议的解决方案。如果提议的代码与 Amazon Q 知道的开源代码有相似之处,它将提供一个包含该代码链接的文件,以便您可以查看。代码准备就绪后,它会创建一个拉取请求,以便您可以查看建议的代码更改,添加指向该议题的拉取请求的链接,然后将问题移至 In revie w 中。

重要

在合并拉取请求之前,您应始终查看其中的任何代码更改。与任何其他代码更改一样,如果合并后的代码未经过适当审查并且在合并时包含错误,则合并 Amazon Q 所做的代码更改可能会对您的代码库和基础设施代码产生负面影响。

查看问题和包含 Amazon 所做更改的关联拉取请求 Q
  1. 在 “问题” 中,选择分配给 Amazon Q 且正在处理的问题。查看评论以监控 Amazon Q 的进展情况。如果有,请查看背景并与其在问题描述中记录的方法进行比较。如果您选择允许 Amazon Q 建议任务,请查看所有建议的任务并采取任何必要的操作。例如,如果 Amazon Q 建议了任务,而您想更改顺序或将任务分配给特定用户,请选择更改、添加或重新排序任务并执行任何必要的更新。查看完问题后,选择 X 关闭问题窗格。

    提示

    要查看任务的进度,请从问题中的任务列表中选择任务。任务不会作为单独的项目显示在图板上,只能通过议题进行访问。如果任务分配给 Amazon Q,则必须打开该任务才能批准其要执行的任何操作。您还必须打开任务才能看到任何链接的拉取请求,因为它们不会作为链接出现在议题中,而只出现在任务中。要从任务中返回议题,请选择指向该议题的链接。

  2. 现在,选择一个分配给 Amazon Q 且正在审核中的问题。查看问题描述中记录的背景和方法。查看评论以了解其执行的操作。查看为与此问题相关的工作创建的所有任务,包括其进度、可能需要采取的任何操作以及任何评论。在拉取请求中,选择打开标签旁边的拉取请求链接以查看代码。

    提示

    为任务生成的拉取请求仅在任务视图中以链接拉取请求的形式出现。它们不会以问题的链接拉取请求的形式出现。

  3. 在拉取请求中,查看代码更改。有关更多信息,请参阅 查看拉取请求。如果您希望 Amazon Q 更改其任何建议的代码,请在拉取请求上留下评论。为了获得最佳效果,请在 Amazon Q 上发表评论时务必具体说明。

    例如,在查看为创建的拉取请求时Create another mysfit named Quokkapus,您可能会注意到描述中有一个错字。你可以在 Amazon Q 上留言,上面写着 “通过在 “需求” 和 “a” 之间添加一个空格来更改描述以修复 “needsa” 的错字。” 或者,您可以发表评论,告诉 Amazon Q 更新描述并提供修改后的完整描述以供其纳入。

    如果你将新 mysfit 的图片上传到网站,你可以留言,让 Amazon Q 更新 mysfit,并附上用于新 mysfit 的图像指针和缩略图。

    注意

    Amazon Q 不会回复个人评论。只有当您在创建问题时选择了在每个步骤后停止审批的默认选项时,Amazon Q 才会将评论中留下的反馈纳入拉取请求中。

  4. (可选)在您和其他项目用户留下您想要更改代码的所有评论后,选择 “创建修订版”,让 Amazon Q 创建拉取请求的修订版,其中包含您在注释中请求的更改。Amazon Q 将在 “概述” 中而不是在 “更改” 中报告修订创建进度。请务必刷新浏览器,以查看 Amazon Q 关于创建修订版的最新更新。

    注意

    只有创建议题的用户才能创建拉取请求的修订版。您只能请求拉取请求的一个修订版。在选择 “创建修订版” 之前,请确保您已解决了所有评论问题,并且对评论的内容感到满意。

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

  6. 如果您对拉取请求的最新版本感到满意,请选择合并

创建议题并让 Amazon Q 为其推荐任务

问题有时可能包含复杂或漫长的工作量。 CodeCatalyst 包括与 Amazon Q 开发者代理集成,用于软件开发。您可以让 Amazon Q 根据问题的标题和描述分析问题,并建议将工作按逻辑分解为不同的任务。它将尝试创建推荐任务列表,然后可以对这些任务进行审查、修改和选择是否创建。这可以帮助您和您的团队以更易于管理的方式将工作的各个部分分配给用户,从而可以更快地完成。

创建和查看议题的建议任务列表
  1. 在导航窗格中,选择 “问题”,并确保您处于 “看” 视图。

  2. 选择 “创建问题”。

  3. 给问题起一个标题,用通俗易懂的语言解释你想做什么。例如,对于本期,请输入标题Change the get_all_mysfits() 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.
  4. 在继续下一步之前,请查看描述并确保其中包含可能需要的所有详细信息。

  5. 在 “受托人” 中,选择将事务分配给自己。

  6. 选择 “创建问题”。您的视图将更改为 “问题” 面板。

  7. 选择你刚才创建的议题将其打开。选择 “推荐任务”。

  8. 选择包含问题代码的源存储库。选择 “开始推荐任务”

对话框将关闭,Amazon Q 将开始分析问题的复杂性。如果问题很复杂,则会建议将工作分解为单独的、连续的任务。列表准备就绪后,选择 “查看推荐的任务”。您可以添加其他任务、修改推荐的任务以及对任务重新排序。如果您同意这些建议,则选择 “创建任务” 将创建任务。然后,您可以将这些任务分配给用户进行处理,甚至可以分配给 Amazon Q 本身。

清理资源

完成本教程后,可以考虑采取以下操作来清理在本教程中创建的不再需要的所有资源。

  • 取消分配 Amazon Q 以解决任何不再处理的问题。如果 Amazon Q 已完成问题工作或找不到解决方案,请务必取消分配 Amazon Q,以免达到生成人工智能功能的最大配额。有关更多信息,请参阅管理生成式 AI 功能定价

  • 将所有工作已完成的议题移至 “完成”。

  • 如果不再需要该项目,请删除该项目。