作者提出了AutoDev,这是一个完备自动化的人工智能驱动的软件开拓框架,专为 自主 方案和实行繁芜的软件工程任务而设计。

AutoDev 通过为自主 AI 代理供应直接在存储库中实行文件编辑、检索、构建、测试和 CLI 命令等操作的能力以实现用户定义的目标,从而能够自主完成繁芜的任务。

AutoDev 供应以下紧张功能:

(i) 通过 对话管理器 库 定制工具 跟踪和管理用户和 AI 代理对话的能力,

论文解读AutoDev自动化人工智能驱动开拓

(ii)用于完成各种代码和 SE 干系目标的 协同事情以实现共同目标 ,

(iii)通过代理调度程序安排各种人工智能代理 实行代码和运行测试的能力 ,

(iv)通过评估环境 。

AutoDev 框架概述:用户通过定义要实现的目标来启动流程。
对话管理器初始化对话和设置。
代理调度程序折衷 AI 代理协作完成任务,并将其命令转发给对话管理器。
对话管理器解析这些命令并调用工具库,该库供应可以在存储库上实行的各种操作。
代理的操作在安全的 Docker 环境中实行,输出返回到会话管理器,会话管理器将其合并到正在进行的会话中。
这个迭代过程一贯持续到任务成功完成。

1、配置环境,通过 yaml 文件配置规则、操作和目标配置。

2、对话管理器,用于跟踪和管理用户和代理的对话。

2.1.解析器,阐明代理天生的相应,以预定义的格式提取命令和参数。

2.2.输出组织者 ,处理从评估环境吸收到的输出。

2.3.发言结论 ,处理对话管理器确定何时结束对话。

3、 代理调度程序,卖力编排人工智能代理以实现用户定义的目标。
代理由 OpenAI GPT-4 等大型措辞模型 (LLM) 和针对代码天生优化的小措辞模型 (SLM) 组成,通过文本自然措辞进行通信。

4、工具库,供应了一系列命令,使代理能够对存储库实行各种操作。
这些命令旨在将繁芜的操作、工具和实用程序封装在大略直不雅观的命令构造后面。

5、 评估环境,在 Docker 容器内运行,许可安全实行文件编辑、检索、构建、实行和测试命令。
它抽象了低级命令的繁芜性,为代理供应了简化的界面。
评估环境将标准输出/缺点返回到输出组织器模块。

实证设计:

1、研究问题

R⁢Q1:AutoDev 在代码天生任务中的效果如何? 利用 Python 中的 HumanEval 问题办理数据集评估 AutoDev 在代码天生任务中的性能。

R⁢Q2:AutoDev 在测试天生任务中的效率如何? 修正了 HumanEval 数据集来评估 AutoDev 在测试天生方面的能力。

R⁢Q3:AutoDev 完成任务的效率如何? 研究了 AutoDev 完成 SE 任务的效率,剖析所需的步骤或推理调用的数量、利用的命令的分布以及对话中利用的令牌总数。

2、自动开拓设置 ,AutoDev 与基于 GPT-4 模型 (gpt-4-1106-preview) 的一个代理保持同等的设置。
启用的操作包括文件编辑、检索和测试。
唯一可用的通信命令是 停滞 命令,指示任务完成。
其他命令(例如 Ask )被禁用,哀求 AutoDev 自主运行,无需人工反馈或超出初始目标设置的干预。

结果:

R⁢Q1?AutoDev 的 Pass@1 率为 91.5%,在 HumanEval 排行榜上稳居第二。
提升了 30%。

R⁢Q2?AutoDev 得到了 87.8% 的 Pass@1 分数,相对提高了 17%。

R⁢Q3?对付代码天生,AutoDev 均匀实行 5.5 个命令,在测试天生的情形下每次运行均匀统共有 6.5 个命令。
AutoDev 利用更多代币,超出了基线方法8倍和6倍。

软件工程中的人工智能?AutoDev,这是一个在安全开拓环境中用于自主软件工程任务的综合框架。
AutoDev 超越了现有事情,供应了多功能工具库,使 AI 代理能够自主实行繁芜的任务,例如代码编辑、测试和集成。
AutoDev 与 LLM 无关,其根本举动步伐许可具有不同参数大小和架构的多种 AI 模型在给界说务上进行协作。

软件工程大措辞模型LLM的评估?Copilot 评估工具纳入了代码实行的考虑成分,但扩展了软件工程任务的范围(代码、测试和文档天生、事情区理解和查询解析),并增加了用于评估的指标。
该评估工具还包含大型且真实的代码库。

软件工程交互中的人工智能 ?Auto-GPT将 GPT-3.5 和 GPT-4 与自动代理配对来运行,利用户能够辅导这些措辞模型实现特定目标。
自动代理利用 GPT-3.5 和 GPT-4 以及各种程序来实行实现目标所需的步骤。
LATS是一个通用框架,可以协同LLM在操持、行动和推理方面的能力。
受基于模型的强化学习中常用的蒙特卡罗树搜索的启示,LATS 采取 LLM 作为代理、代价函数和优化器,增强决策能力。
它引入了外部反馈环境,供应了寻思熟虑的自适应问题办理机制。
Reflexion引入了一种新颖的框架,通过措辞反馈来强化措辞代理。
反射代理以口头办法反响任务反馈旗子暗记,将其反射文本保留在情景影象缓冲区中,以改进决策。
这种灵巧的框架领悟了各种类型和来源的反馈旗子暗记,并在各种任务(包括顺序决策、编码和措辞推理)中表现出比基线智能体显著的改进。
AutoDev 将这些想法专门用于软件工程领域,供应了一个灵巧的框架,许可 AI 代理完备自主地完成繁芜的 任务。

结论:

AutoDev,这是一个框架,使 AI 代理能够自主地与工具库交互、实行操作并处理繁芜的软件工程任务。
对用于代码和测试天生的 HumanEval 数据集进行的评估展示了令人印象深刻的结果,代码天生的 Pass@1 分数为 91.5,这个分数相称高。
代理现在可以通过检索操作检索高下文,并通过构建、实行、测试和验证操作验证其代码天生。

点评:

调用工具和实行代码能力的强大可以使得大措辞模型做很多不同类型的事情从而适用于不同场景,值得深入研究。
由于它是直接将gpt4做为代理根本模型,以是采取其它开源根本模型还须要做很多事情。