本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
編碼代理程式
編碼代理程式可以說明程式設計任務、產生或修改程式碼,以及與開發人員環境互動的原因,例如 IDEs和 CLIs。這些代理程式將自然語言理解與結構化推理相結合,以協助、增強和自動化軟體開發,從函數產生到錯誤修正和測試編寫。
與自動完成工具不同,編碼代理程式會主動解譯使用者目標、查詢開發環境的內容 (例如,它會開啟檔案並追蹤錯誤)、識別需求,然後提議和執行動作。
Architecture
下圖顯示編碼代理程式模式:
說明
-
接收查詢
-
使用者透過命令調色盤、聊天視窗或 CLI 提供自然語言指示 (例如,「將記錄新增至此函數」或「Refactor for readability」)。
-
-
擷取環境內容
-
代理程式會從 IDE 收集內容,包括作用中檔案、游標位置、程式碼片段和符號表。
-
它會輸出錯誤訊息、測試結果,以及來自其他代理程式的輸出。
-
-
LLM 推理
-
代理程式會傳送提示給 LLM,包括查詢和環境內容。
-
LLM 會執行推理傳遞來判斷下列項目:
-
需要變更的內容
-
如何產生解決方案
-
任何重構、重寫或編碼步驟
-
-
-
執行動作
-
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 技術的新開發工具,能夠解譯自然語言、分析內容、產生多步驟程式碼變更,以及與軟體開發生命週期整合。