本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
编码代理
编码代理可以推理编程任务、生成或修改代码,以及与开发者环境(例如 IDEs 和)进行交互 CLIs。这些代理将自然语言理解与结构化推理相结合,以协助、增强和自动化软件开发,从函数生成到错误修复和测试创作。
与自动完成工具不同,编码代理会主动解释用户目标,查询开发环境以获取上下文(例如,它打开文件并跟踪错误),识别需求,然后提出和执行操作。
Architecture
编码代理模式如下图所示:
描述
-
接收查询
-
用户通过命令面板、聊天窗口或 CLI(例如,“向此功能添加日志记录” 或 “重构以提高可读性”)提供自然语言指令。
-
-
提取环境上下文
-
代理从 IDE 收集上下文,包括活动文件、光标位置、代码片段和符号表。
-
它输出错误消息、测试结果和其他代理的输出。
-
-
法学硕士推理
-
代理向 LLM 发送提示,包括查询和环境上下文。
-
法学硕士通过推理来确定以下内容:
-
需要改变什么
-
如何生成解决方案
-
任何重构、重写或编码步骤
-
-
-
执行动作
-
LLM 将输出返回到代理并将其导入到 IDE 或运行时环境中。
-
这可能包括插入或修改代码、生成注释或文档,以及触发下游构建、测试和 linting 任务。
-
功能
-
高度上下文感知能力(例如,IDE 状态、光标和语法树)
-
目标和反馈的迭代推理
-
可选的代码规划和操作分离(例如,先理由,然后再行动)
-
适用于同步或异步开发者工作流程
常见使用案例
-
根据任务描述生成代码
-
代码重构和优化
-
测试用例生成和验证
-
错误解释和调试
-
文档助手
-
配对编程副驾驶
实施指导
-
您可以使用以下工具和以下工具来构建此模式 AWS 服务:
-
Amazon Bedrock 用于 LLM 驱动的生成和推理
-
Amazon Q 开发者提供编码建议和完成信息
-
AWS Lambda 或者用于运行和测试沙盒环境的亚马逊弹性容器服务 (Amazon ECS) Container Service
-
AWS Cloud9、VS Code 扩展或用于托管和评估上下文的自定义 IDE 集成
-
Amazon Simple Storage Service (Amazon S3) 用于存储中间提示、响应和修订历史记录
Summary
编码代理是基于人工智能的新开发工具,能够解释自然语言、分析上下文、生成多步骤代码更改以及与软件开发生命周期集成。