每天 0 点更新数据,热度根据全网互动数计算
最热 · 今天
最新
Agentless: Demystifying LLM-based Software Engineering Agents
Chunqiu Steven Xia ,
Yinlin Deng ,
Soren Dunn ,
...
2024年07月01日
最近,大型语言模型(LLMs)的最新进展显著推进了软件开发任务的自动化,包括代码合成、程序修复和测试生成。最近,研究人员和行业从业者开发了各种自主的LLM代理来执行端到端的软件开发任务。这些代理具备使用工具、运行命令、观察环境反馈和规划未来动作的能力。然而,这些基于代理的方法的复杂性,加上当前LLMs的有限能力,引发了以下问题:我们真的需要使用复杂的自主软件代理吗?为了尝试回答这个问题,我们构建了Agentless——一种无代理的自动解决软件开发问题的方法。与基于代理的方法冗长而复杂的设置相比,Agentless采用了一个简单的定位后修复的两阶段过程,而不让LLM决定未来的动作或使用复杂的工具。我们在流行的SWE-bench Lite基准测试上的结果表明,令人惊讶的是,简单的Agentless能够实现最高性能(27.33%)和最低成本(\$0.34),并与所有现有的开源软件代理进行比较!此外,我们手动分类了SWE-bench Lite中的问题,并发现了存在确切修补程序的问题或问题描述不足/误导的问题。因此,我们构建了SWE-bench Lite-S,排除了这些问题,以进行更严格的评估和比较。我们的工作强调了一种简单、可解释的技术在自主软件开发中被当前忽视的潜力。我们希望Agentless将有助于重新设置自主软件代理的基线、起点和视野,并激发沿着这个重要方向的未来工作。
12
热度
SoftEng
AI
NLP
PDF
解读
CREF: An LLM-based Conversational Software Repair Framework for Programming Tutors
Boyang Yang ,
Haoye Tian ,
Weiguo Pian ,
...
2024年06月20日
程序修复技术为软件开发和编程教育场景中的调试提供了节省成本的好处。随着大型语言模型(LLM)在与代码相关的任务中的有效性得到证明,研究人员探索了它们在程序修复方面的潜力。然而,必须认识到现有的修复基准可能已经影响了LLM的训练数据,可能导致数据泄漏。为了评估LLM的实际修复能力,(1)我们介绍了一个广泛的、非爬取的基准,称为TutorCode,包括1,239个C++缺陷代码和相关信息,如导师指导、解决方案描述、失败的测试用例和修正代码。我们的工作评估了12个LLM在TutorCode上的修复性能,测量修复正确性(TOP-5和AVG-5)和补丁精度(RPSR)。(2)然后,我们对哪些类型的额外信息可以帮助LLM提高其修复缺陷的性能进行了全面调查。在这些类型中,发现导师指导是增强LLM修复能力最有效的信息。为了充分利用LLM的对话能力和增强信息的好处,(3)我们介绍了一种新的对话式半自动修复框架CREF,协助人类导师。与基线相比,它展示了惊人的AVG-5改进,达到了76.6%的印象。这些结果突显了通过与导师互动和涉及错误响应的历史对话来增强LLM的修复能力的潜力。CREF在现实世界的教育环境中的成功应用证明了它在减轻导师工作量和改善学生学习体验方面的有效性,同时也展示了它在促进其他软件工程任务方面的潜力,如代码审查。
SoftEng
PDF
解读
AutoCodeRover: Autonomous Program Improvement
Yuntong Zhang ,
Haifeng Ruan ,
Zhiyu Fan ,
...
2024年04月08日
在过去几十年中,研究人员在自动化软件开发过程方面取得了显著进展。最近,大型语言模型(LLM)的进展对开发过程产生了重大影响,开发人员可以使用基于LLM的编程助手实现自动编码。然而,软件工程除了编码之外还涉及程序改进的过程,特别是为了实现软件维护(例如修复错误)和软件演化(例如添加功能)。在本文中,我们提出了一种自动化方法来解决GitHub问题,以实现程序改进。在我们的方法AutoCodeRover中,LLM与复杂的代码搜索功能相结合,最终导致程序修改或补丁。与AI研究人员和从业者最近的LLM代理方法不同,我们的展望更加注重软件工程。我们使用程序表示(抽象语法树)而不是将软件项目视为仅仅是文件的集合。我们的代码搜索利用类/方法的程序结构形式来增强LLM对问题根本原因的理解,并通过迭代搜索有效地检索上下文。使用基于光谱的故障定位测试进一步锐化上下文,只要测试套件可用。在由300个真实GitHub问题组成的SWE-bench-lite上的实验显示,在解决GitHub问题方面具有更高的效力(在SWE-bench-lite上为22-23%)。在包含2294个GitHub问题的完整SWE-bench上,AutoCodeRover解决了约16%的问题,这比最近报道的Cognition Labs的AI软件工程师Devin的效力更高,而时间相当。我们认为,我们的工作流程实现了自主软件工程,在未来,LLM生成的自动生成代码可以自主改进。
SoftEng
AI
PDF
解读