AutoDev-微软发布的AI编程和软件开发智能体框架

AutoDev是什么?

AutoDev是一款由微软发布的AI编程和软件开发智能体框架,旨在执行复杂的软件工程任务。它允许定义软件工程目标,并由AI代理自主完成,包括代码编辑、测试和Git操作等。AutoDev在Docker容器中运行,确保了开发环境的安全性。在HumanEval数据集上的测试显示,AutoDev在代码生成和测试生成任务上表现出色,分别达到了91.5%和87.8%的Pass@1率。

AutoDev

AutoDev的功能特性

AutoDev的主要功能特性包括:

  1. 自主AI代理:AutoDev使用AI代理来自动执行定义的软件工程目标,如代码编写、测试和文件操作。
  2. 多操作支持:AI代理能够在代码库上执行多种操作,包括文件编辑、信息检索、构建过程、代码执行、测试以及版本控制(Git)操作。
  3. 上下文理解:代理可以访问文件、编译器输出、构建和测试日志、静态分析工具等,以全面理解执行任务所需的上下文信息。
  4. 安全开发环境:通过在Docker容器中执行所有操作,AutoDev确保了开发过程的安全性,并提供了用户隐私和文件安全的防护措施。
  5. 用户控制:用户可以定义特定的允许或限制命令和操作,从而对AI代理的行为进行精细控制。
  6. 集成开发环境(IDE)兼容性:AutoDev设计为可以集成到IDE中,提供聊天机器人体验,并计划与CI/CD管道和PR审查平台结合,以简化开发工作流程。
  7. 高效性能:在HumanEval数据集上的测试表明,AutoDev在代码生成和测试生成任务上具有高效性,分别达到了91.5%和87.8%的Pass@1率。

AutoDev的技术架构

AutoDev-微软发布的AI编程和软件开发智能体框架 AI开发编程 图2张
AutoDev架构的简单示意图

AutoDev主要由4个功能模块组成:

  1. 用于跟踪和管理用户与代理对话的对话管理器(Conversation Manager);
  2. 为代理提供各种代码和集成开发环境相关工具的工具库(Tools library);
  3. 用于调度各种代理的代理调度器(Agents Scheduler);
  4. 以及用于执行操作的评估环境(Evaluation Environment)。

如何使用AutoDev?

目前微软只是发布了论文,暂无直接可用的产品。了解更多信息,请访问论文。

论文地址:https://arxiv.org/pdf/2403.08299.pdf

   特别声明    本页内容仅供参考,版权终归原著者所有,若有侵权,请联系我们删除。