

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：使用 CodeCatalyst 生成式 AI 功能來加速開發工作
<a name="getting-started-project-assistance"></a>

如果您在啟用生成式 AI 功能的空間中有 Amazon CodeCatalyst 中的專案和來源儲存庫，您可以使用這些功能來協助加速軟體開發。開發人員經常需要執行的任務多於完成任務的時間。在建立提取請求以檢閱這些變更時，他們通常不會花時間向其團隊成員解釋程式碼變更，並期望其他使用者自行尋找變更。提取請求建立者和檢閱者也沒有時間完整尋找和讀取提取請求的所有評論，特別是在提取請求有多個修訂時。CodeCatalyst 與軟體開發的 Amazon Q 開發人員代理程式整合，提供生成式 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 技術**： AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由於**為我撰寫說明**、**建立內容摘要**、**建議的任務**、**使用 Amazon Q 建立或新增功能至專案**，以及**將問題指派給 Amazon Q** 功能，搭配適用於軟體開發的 Amazon Q Developer 代理程式功能建置在 Amazon Bedrock 上，因此使用者可以充分利用 Amazon Bedrock 中實作的控制措施，來加強安全性、資安和負責任的人工智慧 (AI) 運用。

在本教學課程中，您將了解如何使用 CodeCatalyst 中的生成式 AI 功能來協助您建立具有藍圖的專案，以及將藍圖新增至現有專案。此外，您將了解如何在建立提取請求時摘要分支之間的變更，以及摘要提取請求上留下的評論。您也將了解如何建立有關程式碼變更或改進想法的問題，並將其指派給 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。
+ 您的 位於已啟用生成式 AI 功能的空間中。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。
+ 您在該空間的專案中具有貢獻者或專案管理員角色。
+ 除非您使用生成式 AI 建立專案，否則現有專案至少會為其設定一個來源儲存庫。不支援連結的儲存庫。
+ 指派問題讓生成式 AI 建立初始解決方案時，無法使用 **Jira Software** 延伸設定專案。此功能不支援 擴充功能。

如需詳細資訊，請參閱 [建立空間](spaces-create.md)、[追蹤和組織 CodeCatalyst 中的問題追蹤和組織處理問題的工作](issues.md)、[在 CodeCatalyst 中將功能新增至具有擴充功能的專案將功能新增至具有擴充功能的專案](extensions.md) 和 [使用使用者角色授予存取權](ipa-roles.md)。

本教學課程是以使用**現代三層 Web 應用程式**藍圖搭配 Python 建立的專案為基礎。如果您使用以不同藍圖建立的專案，您仍然可以遵循這些步驟，但某些細節會有所不同，例如範例程式碼和語言。

## 建立專案或新增功能時，使用 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 也會針對無法滿足藍圖的要求建立問題。若要進一步了解可用的 CodeCatalyst 藍圖，請參閱 [使用 CodeCatalyst 藍圖建立全面的專案使用藍圖建立全面的專案](project-blueprints.md)。若要進一步了解如何搭配藍圖使用 Amazon Q，請參閱 [使用 Amazon Q 建立專案或新增具有藍圖的功能時的最佳實務](projects-create.md#projects-create-amazon-q)。

**使用 Amazon Q 建立專案**

1. 在 https：//[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 會使用藍圖建立資源。例如，如果您使用單頁應用程式藍圖建立專案，則會建立 CI/CD 相關程式碼和工作流程的來源儲存庫。

1. （選用） 根據預設，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. 在 https：//[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 會使用藍圖建立資源。例如，如果您使用單頁應用程式藍圖將 新增至專案，則會建立 CI/CD 相關程式碼和工作流程的來源儲存庫。

1. （選用） 根據預設，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 三層式 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`檔案、展開**測試**、展開**整數**，然後選擇 `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 整合以進行軟體開發。您可以將問題指派給名為 **Amazon Q** 的生成式 AI 助理，可根據問題標題及其描述來分析問題。如果您將問題指派給 Amazon Q，它會嘗試建立草稿解決方案供您評估。這可協助您和您的團隊專注於和最佳化需要您注意的問題，而 Amazon Q 可解決您沒有資源可立即解決的問題。

**提示**  
**Amazon Q **在簡單問題和直接問題上表現最佳。為了獲得最佳結果，請使用純語言來清楚說明您想要做什麼。

當您將問題指派給 **Amazon 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 **軟體延伸使用 Jira**，則無法使用此功能。此外，如果您已自訂電路板的配置，問題可能不會變更狀態。為了獲得最佳結果，請將此功能用於具有標準主機板配置的專案。  
此功能不適用於 Git 子模組。它無法對儲存庫中包含的任何 Git 子模組進行變更。  
將問題指派給 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 修改工作流程檔案**選取器設定為作用中狀態。建立問題以返回問題面板。
**提示**  
您可以輸入 at 符號 (`@`) 並輸入檔案名稱來搜尋檔案，包括工作流程檔案。

建立並指派問題後，問題會進入**進行中**。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 留下註解，指出「變更描述以修正錯別字「需要」，方法是在「需要」和「a」之間新增空格。 或者，您可以留下註解，指示 Amazon Q 更新描述，並提供整個修訂後的描述以供其納入。

   如果您將新 mysfit 的影像上傳到網站，您可以為 Amazon Q 留下註解，以使用影像和縮圖的指標來更新 mysfit，以用於新的 mysfit。
**注意**  
Amazon Q 不會回應個別評論。如果您在建立問題時選擇在每個步驟核准之後停止的預設選項，Amazon Q 只會在提取請求中納入評論中留下的意見回饋。

1. （選用） 在您和其他專案使用者留下您想要變更程式碼的所有註解之後，請選擇**建立修訂**，讓 Amazon Q 建立提取請求的修訂，將您在註解中請求的變更納入其中。Amazon Q in **Overview** 將報告修訂建立進度，而不是在**變更**中。請務必重新整理瀏覽器，以檢視建立修訂時來自 Amazon Q 的最新更新。
**注意**  
只有建立問題的使用者可以建立提取請求的修訂。您只能請求提取請求的一個修訂。在選擇**建立修訂**之前，請確定您已解決評論的所有問題，而且您對評論的內容感到滿意。

1. 此範例專案中的每個提取請求都會執行工作流程。在合併提取請求之前，請確定您看到成功的工作流程執行。您也可以選擇建立其他工作流程和環境，以便在合併程式碼之前進行測試。如需詳細資訊，請參閱[工作流程入門](workflows-getting-started.md)。

1. 如果您對提取請求的最新版本感到滿意，請選擇**合併**。

## 建立問題，並讓 Amazon Q 為其建議的任務
<a name="getting-started-project-assistance-issue-to-tasks"></a>

問題有時可能包含複雜或冗長的工作量。CodeCatalyst 包含與 Amazon Q Developer Agent 整合以進行軟體開發。您可以要求 **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. 選擇包含 issuse 程式碼的來源儲存庫。選擇**開始重新建議任務**。

對話方塊會關閉，Amazon Q 會開始分析問題的複雜性。如果問題很複雜，它會建議將工作分解為個別的循序任務。當清單準備就緒時，選擇**檢視建議的任務**。您可以新增其他任務、修改建議的任務，以及重新排序任務。如果您同意建議，選擇**建立任務**將建立任務。然後，您可以將這些任務指派給使用者來處理，甚至是 Amazon Q 本身。

## 清除資源
<a name="getting-started-project-assistance-clean-up"></a>

完成本教學課程後，請考慮採取下列動作來清除您在本教學課程中建立的任何不再需要的資源。
+ 從不再處理的任何問題取消指派 Amazon Q。如果 Amazon Q 已完成問題的工作或找不到解決方案，請務必取消指派 Amazon Q，以避免達到生成式 AI 功能的最大配額。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)和[定價](https://codecatalyst.aws/explore/pricing)。
+ 將工作完成的任何問題移至**完成**。
+ 如果不再需要專案，請刪除專案。