編碼代理程式 - AWS 方案指引

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

編碼代理程式

編碼代理程式可以說明程式設計任務、產生或修改程式碼,以及與開發人員環境互動的原因,例如 IDEs和 CLIs。這些代理程式將自然語言理解與結構化推理相結合,以協助、增強和自動化軟體開發,從函數產生到錯誤修正和測試編寫。

與自動完成工具不同,編碼代理程式會主動解譯使用者目標、查詢開發環境的內容 (例如,它會開啟檔案並追蹤錯誤)、識別需求,然後提議和執行動作。

Architecture

下圖顯示編碼代理程式模式:

編碼代理程式。

說明

  1. 接收查詢

    • 使用者透過命令調色盤、聊天視窗或 CLI 提供自然語言指示 (例如,「將記錄新增至此函數」或「Refactor for readability」)。

  2. 擷取環境內容

    • 代理程式會從 IDE 收集內容,包括作用中檔案、游標位置、程式碼片段和符號表。

    • 它會輸出錯誤訊息、測試結果,以及來自其他代理程式的輸出。

  3. LLM 推理

    • 代理程式會傳送提示給 LLM,包括查詢和環境內容。

      • LLM 會執行推理傳遞來判斷下列項目:

      • 需要變更的內容

      • 如何產生解決方案

      • 任何重構、重寫或編碼步驟

  4. 執行動作

    • LLM 會將輸出傳回至代理程式,並將其匯入 IDE 或執行時間環境。

    • 這可能包括插入或修改程式碼、產生註解或文件,以及觸發下游建置、測試和固定任務。

功能

  • 高內容感知 (例如,IDE 狀態、游標和語法樹)

  • 目標和意見回饋的反覆推理

  • 選用程式碼規劃和動作分離 (例如,第一個原因,然後採取行動)

  • 適用於同步或非同步開發人員工作流程

常用案例

  • 從任務描述產生程式碼

  • 程式碼重構和最佳化

  • 測試案例產生和驗證

  • 錯誤說明和偵錯

  • 文件助理

  • 配對的程式設計 Copilot

實作指引

  • 您可以使用下列工具和 建置此模式 AWS 服務:

  • Amazon Bedrock,用於 LLM 驅動的產生和推理

  • Amazon Q Developer 用於編碼建議和完成

  • AWS Lambda 或 Amazon Elastic Container Service (Amazon ECS),用於執行和測試沙盒環境

  • AWS Cloud9、VS 程式碼延伸模組或自訂 IDE 整合,以託管和評估內容

  • Amazon Simple Storage Service (Amazon S3) 用於儲存中繼提示、回應和修訂歷史記錄

Summary

編碼代理程式是採用 AI 技術的新開發工具,能夠解譯自然語言、分析內容、產生多步驟程式碼變更,以及與軟體開發生命週期整合。