

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 编码代理
<a name="coding-agents"></a>

编码代理可以推理编程任务、生成或修改代码，以及与开发者环境（例如 IDEs 和）进行交互 CLIs。这些代理将自然语言理解与结构化推理相结合，以协助、增强和自动化软件开发，从函数生成到错误修复和测试创作。

与自动完成工具不同，编码代理会主动解释用户目标，查询开发环境以获取上下文（例如，它打开文件并跟踪错误），识别需求，然后提出和执行操作。

## 架构
<a name="architecture-coding"></a>

编码代理模式如下图所示：

![\[编码代理。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-patterns/images/coding-agents.png)


## 说明
<a name="description-coding"></a>

1. 接收查询
   + 用户通过命令面板、聊天窗口或 CLI（例如，“向此功能添加日志记录” 或 “重构以提高可读性”）提供自然语言指令。

1. 提取环境上下文
   + 代理从 IDE 收集上下文，包括活动文件、光标位置、代码片段和符号表。
   + 它输出错误消息、测试结果和其他代理的输出。

1. 法学硕士推理
   + 代理向 LLM 发送提示，包括查询和环境上下文。
     + 法学硕士通过推理来确定以下内容：
     + 需要改变什么
     + 如何生成解决方案
     + 任何重构、重写或编码步骤

1. 执行动作
   + LLM 将输出返回到代理并将其导入到 IDE 或运行时环境中。
   + 这可能包括插入或修改代码、生成注释或文档，以及触发下游构建、测试和 linting 任务。

## 功能
<a name="capabilities-coding"></a>
+ 高度上下文感知能力（例如，IDE 状态、光标和语法树）
+ 目标和反馈的迭代推理
+ 可选的代码规划和操作分离（例如，先理由，然后再行动）
+ 适用于同步或异步开发者工作流程

## 常见使用案例
<a name="common-use-cases-coding"></a>
+ 根据任务描述生成代码
+ 代码重构和优化
+ 测试用例生成和验证
+ 错误解释和调试
+ 文档助手
+ 配对编程副驾驶

## 实施指导
<a name="implementation-guidance-coding"></a>
+ 您可以使用以下工具和以下工具来构建此模式 AWS 服务：
+ Amazon Bedrock 用于 LLM 驱动的生成和推理
+ Amazon Q 开发者提供编码建议和完成信息
+ AWS Lambda 或者用于运行和测试沙盒环境的亚马逊弹性容器服务 (Amazon ECS) Container Service
+ AWS Cloud9、VS Code 扩展或用于托管和评估上下文的自定义 IDE 集成
+ Amazon Simple Storage Service (Amazon S3) 用于存储中间提示、响应和修订历史记录

## Summary
<a name="summary-coding"></a>

编码代理是基于人工智能的新开发工具，能够解释自然语言、分析上下文、生成多步骤代码更改以及与软件开发生命周期集成。