教學課程:使用 CodeCatalyst 生成式 AI 功能加速開發工作 - Amazon CodeCatalyst

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

教學課程:使用 CodeCatalyst 生成式 AI 功能加速開發工作

如果您在啟用生成 AI 功能的空間中,Amazon CodeCatalyst 中有一個專案和來源儲存庫,則可以使用這些功能來協助加速軟體開發。開發人員通常有更多的任務要做,而不是時間來完成它們。在建立提取要求以檢閱這些變更時,他們通常不會花時間向團隊成員解釋他們的程式碼變更,因此希望其他使用者能夠找到不言自明的變更。提取請求建立者和審核者也沒有時間徹底尋找和閱讀提取請求上的所有註解,特別是在提取請求有多個修訂時。 CodeCatalyst 與 Amazon Q Developer Agent 整合以進行軟體開發,提供生成式 AI 功能,協助團隊成員更快完成任務,並增加他們必須專注於工作中最重要部分的時間。

Amazon Q Developer 是採用 AI 技術的生成式對話助理,可協助您了解、建置、擴充和操作 AWS 應用程式。為了加快建置速度 AWS,支援 Amazon Q 的模型已透過高品質 AWS 內容進行擴充,以產生更完整、可操作且參考的答案。如需詳細資訊,請參閱什麼是 Amazon Q 開發人員?Amazon Q 開發人員用戶指南中。

注意

由 Amazon 基岩提供支援: AWS 實自動濫用偵測。由於為我撰寫說明建立內容摘要、建議任務使用 Amazon Q 建立或新增功能至專案,以及使用 Amazon Q 軟體開發功能將問題指派給 Amazon Q 功能,因此使用者可以充分利用 Amazon Beddrock 中實作的控制來強制執行安全性、安全性和負責任的人工智慧 (AI)。

在本教學課程中,您將學習如何使用中的生成 AI 功能 CodeCatalyst 來協助您建立具有藍圖的專案,以及將藍圖新增至現有專案。此外,您還將學習如何在創建提取請求時總結分支之間的更改,以及總結提取請求上留下的評論。您還將學習如何針對程式碼變更或改進構想建立問題,並將其指派給 Amazon Q。在處理指派給 Amazon Q 的問題時,您將學習如何允許 Amazon Q 建議任務,以及如何指派和處理它在處理問題時建立的任務。

必要條件

若要使用本自學課程中的 CodeCatalyst 功能,您必須先完成並可存取下列資源:

  • 您有 AWS 產生器 ID 或單一登入 (SSO) 身分可供登入 CodeCatalyst。

  • 您所在的空間已啟用生成 AI 功能。如需詳細資訊,請參閱管理生成 AI 功能

  • 您在該空間中的專案中具有參與者或專案管理員角色。

  • 除非您要使用生成式 AI 建立專案,否則您現有的專案至少會為其配置一個來源儲存庫。不支援連結的儲存庫。

  • 將問題指派給由生成 AI 建立的初始解決方案時,無法使用 Jira Software 延伸功能來設定專案。此功能不支援擴充功能。

如需詳細資訊,請參閱 建立空間跟踪和組織有關問題的工作 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.”

    (選擇性) 在「試用範例」下,您可以選擇藍圖來使用預先寫入的提示。例如,如果您選擇 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 問。生成 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.”

    (選擇性) 在「試用範例」下,您可以選擇藍圖來使用預先寫入的提示。例如,如果您選擇 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 問。生成 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 為基礎的 Modern Modern 三層 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. 在「目的地」分支中,選擇要在檢閱程式碼之後將其合併到的分支。

    提示

    在上一個程序中選擇您從中建立分支的分支,以進行此功能的最簡單示範。例如,如果您是從儲存庫的預設分支建立分支,請選擇該分支作為提取要求的目標分支。

  3. 在 S ource 分支中,選擇包含您剛剛提交到test_endpoint.py文件的更改的分支。

  4. 提取請求標題中,輸入一個標題,以幫助其他用戶了解需要審查的內容以及原因。

  5. 提取請求說明中,選擇為我寫入說明,讓 Amazon Q 為提取請求中包含的變更建立說明。

  6. 這時系統顯示「變更」的摘要。檢閱建議的文字,然後選擇「接受」並新增至說明

  7. 或者,您也可以修改摘要,以更好地反映您對程式碼所做的變更。您也可以選擇將審核者或連結問題新增至此提取請求。當您完成所需的其他變更之後,請選擇 [建立]。

建立提取要求中程式碼變更留下的註解摘要

當使用者檢閱提取要求時,他們通常會在該提取要求中的變更留下多個註解。如果有很多評論者的評論很多,在意見反應中挑出共同的主題可能很困難,甚至可以確定您已經審核了所有修訂版本中的所有評論。您可以使用「建立註解摘要」功能,讓 Amazon Q 分析提取請求中程式碼變更留下的所有註解,並建立這些註解的摘要。

注意

註釋摘要是暫時的。如果您重新整理提取要求,摘要將會消失。內容摘要不包含整體提取要求的註解,只包含提取要求修訂版本中程式碼差異的註解。

此功能不適用於 Git 子模組程式碼變更所留下的任何註解。

此功能不適用於連結儲存庫中的提取要求。

若要在提取要求中建立註解摘要
  1. 導覽至您在上一個程序中建立的提取請求。

    提示

    如果您願意,您可以在項目中使用任何打開的提取請求。在導覽列中,選擇「程式碼」,選擇「提取要求」,然後選擇任何開啟的提取要求。

  2. 如果提取請求尚未有註解,請在「變更」中新增一些註解至提取要求。

  3. 概觀中,選擇建立注釋摘要。完成後,「註解摘要」區段會展開。

  4. 檢閱提取請求修訂版本中程式碼變更所留下的註解摘要,並將其與提取請求中的註解進行比較。

建立問題並將其指派給 Amazon Q

開發團隊創建問題來跟踪和管理他們的工作,但有時問題仍然存在,因為要么不清楚誰應該對它進行研究,或者問題需要對代碼庫的特定部分進行研究,否則必須首先參加其他緊急工作。 CodeCatalyst 包括與 Amazon Q 開發人員代理程式進行軟體開發的整合。您可以將問題指派給名為 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,它將完成目前的步驟,然後停止工作。一旦取消指派問題,就無法繼續工作或重新指派問題。

如果指派給 Amazon Q,如果使用者選擇允許建立任務,則問題可以自動移至「審核中」欄。不過,[審閱中] 中的問題可能仍有不同狀態的工作,例如處於 [進行中] 狀態。

在本教學課程的這一部分中,您將根據使用 Modern 三層 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 所知道的開放原始程式碼相似之處,則會提供包含該程式碼連結的檔案,以便您可以檢閱該程式碼。程式碼準備就緒後,就會建立提取要求,以便您檢閱建議的程式碼變更、將該提取要求的連結新增至問題,然後將問題移至審核中

重要

在合併提取請求之前,您應該一律檢閱提取要求中的任何程式碼變更。如同任何其他程式碼變更,合併 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. 選擇包含 issuse 程式碼的來源儲存庫。選擇 [開始建議工作]。

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

清除資源

完成此教學課程後,請考慮採取下列動作來清除您在本教學課程中建立的任何不再需要的資源。

  • 從不再處理的任何問題中取消指派 Amazon Q。如果 Amazon Q 已完成問題的工作或找不到解決方案,請確保取消指派 Amazon Q,以避免達到生成 AI 功能的最大配額。如需詳細資訊,請參閱管理生成式 AI 功能定價

  • 將工作完成的任何問題移至「完」。

  • 如果不再需要該專案,請刪除該專案。