AutoDev: Automated AI-Driven Development

2024年03月13日
  • 简介
    随着AI助手(如GitHub Copilot)的出现,软件开发的格局发生了变革。然而,现有的解决方案并没有利用IDE中的所有潜在能力,如构建、测试、执行代码、git操作等,因此它们受到了其有限能力的限制,主要集中在建议代码片段和在基于聊天的界面中进行文件操作。为了填补这一空白,我们提出了AutoDev,这是一个完全自动化的、基于AI的软件开发框架,旨在实现复杂软件工程任务的自主规划和执行。AutoDev使用户能够定义复杂的软件工程目标,并分配给AutoDev的自主AI代理来实现。这些AI代理可以对代码库执行各种操作,包括文件编辑、检索、构建过程、执行、测试和git操作。它们还可以访问文件、编译器输出、构建和测试日志、静态分析工具等。这使得AI代理能够在全自动化的方式下执行任务,并全面了解所需的上下文信息。此外,AutoDev通过将所有操作限制在Docker容器内,建立了一个安全的开发环境。该框架包含了防护措施,以确保用户的隐私和文件安全,并允许用户在AutoDev中定义特定的允许或限制命令和操作。在我们的评估中,我们在HumanEval数据集上测试了AutoDev,获得了有希望的结果,代码生成和测试生成的Pass@1分别为91.5%和87.8%,证明了它在自动化软件工程任务的同时保持了安全和用户控制的开发环境的有效性。
  • 作者讲解·3
  • 图表
  • 解决问题
    AutoDev试图解决软件开发中AI助手的局限性,通过建立一个全自动的AI驱动软件开发框架来实现自主规划和执行复杂的软件工程任务。
  • 关键思路
    AutoDev包括一组自主的AI代理,可以执行多种操作,包括文件编辑、检索、构建过程、执行、测试和git操作,并在Docker容器中限制所有操作,确保用户隐私和文件安全。
  • 其它亮点
    AutoDev的自主AI代理可以执行多种操作,包括文件编辑、检索、构建过程、执行、测试和git操作,并在Docker容器中限制所有操作,确保用户隐私和文件安全。在评估中,AutoDev在HumanEval数据集上获得了很好的结果,证明了其在自动化软件工程任务方面的有效性。
  • 相关研究
    近期在这个领域中还有一些相关的研究,例如GitHub Copilot等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问