

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

# 編碼代理程式
<a name="coding-agents"></a>

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

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

## Architecture
<a name="architecture-coding"></a>

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

![\[編碼代理程式。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/agentic-ai-patterns/images/coding-agents.png)


## Description
<a name="description-coding"></a>

1. 接收查詢
   + 使用者透過命令調色盤、聊天視窗或 CLI 提供自然語言指示 （例如，「將記錄新增至此函數」或「Refactor for readability」)。

1. 擷取環境內容
   + 代理程式會從 IDE 收集內容，包括作用中檔案、游標位置、程式碼片段和符號表。
   + 它會輸出錯誤訊息、測試結果，以及來自其他代理程式的輸出。

1. LLM 推理
   + 代理程式會傳送提示給 LLM，包括查詢和環境內容。
     + LLM 會執行推理傳遞來判斷下列項目：
     + 需要變更的內容
     + 如何產生解決方案
     + 任何重構、重寫或編碼步驟

1. 執行動作
   + LLM 會將輸出傳回至代理程式，並將其匯入 IDE 或執行時間環境。
   + 這可能包括插入或修改程式碼、產生註解或文件，以及觸發下游建置、測試和固定任務。

## 功能
<a name="capabilities-coding"></a>
+ 高內容感知 （例如，IDE 狀態、游標和語法樹）
+ 目標和意見回饋的反覆推理
+ 選用程式碼規劃和動作分離 （例如，第一個原因，然後採取行動）
+ 適用於同步或非同步開發人員工作流程

## 常用案例
<a name="common-use-cases-coding"></a>
+ 從任務描述產生程式碼
+ 程式碼重構和最佳化
+ 測試案例產生和驗證
+ 錯誤說明和偵錯
+ 文件助理
+ 配對的程式設計 Copilot

## 實作指引
<a name="implementation-guidance-coding"></a>
+ 您可以使用下列工具和 建置此模式 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) 用於儲存中繼提示、回應和修訂歷史記錄

## 摘要
<a name="summary-coding"></a>

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