基于 LLM 的软件工程代理程序解密
通过对基于大语言模型的自主代理的综合调查,本文提出了一个统一框架来概括以往研究,并总结了在社会科学、自然科学和工程领域中应用大语言模型的人工智能代理的各种应用及评估策略。同时,我们还讨论了该领域的挑战和未来方向。
Aug, 2023
使用大型语言模型的代码代理在形式化用户问题为测试用例方面具有重要能力,并且在生成相关测试用例方面表现出众,尤其是在代码修复方面,生成的测试用例是提出代码修复的一个有效过滤器。
Jun, 2024
提出了一种自动化的方法 AutoCodeRover,将 LLMs 与复杂的代码搜索能力相结合,从而实现对 Github 问题的自主解决,进而实现程序改进。
Apr, 2024
最近大型语言模型 (LLM) 代理实现的自动代码生成取得了重要进展,但现有的单代理方法面对生成和改进大规模复杂代码库的限制,该论文提出了自组织多代理框架 (SoA),这是一种新的多代理框架,能够实现大规模代码的可扩展和高效生成优化。在 SoA 中,自组织代理独立操作以生成和修改代码组件,并无缝协作构建整体代码库,其关键特点是根据问题复杂度自动增加代理数量,从而实现动态可扩展性,使得代码量可以无限增加,而每个代理管理的代码量保持恒定。该论文在 HumanEval 基准上评估了 SoA,并证明与单一代理系统相比,SoA 中的每个代理处理的代码显著减少,但生成的整体代码量大幅增加。此外,SoA 在 Pass@1 准确率方面超过了强大的单代理基准 5%。
Apr, 2024
该论文介绍了 RepairAgent,其是第一个基于大型语言模型(LLM)的自主代理解决程序修复挑战的工作。RepairAgent 通过调用合适的工具来自主规划和执行修复操作,包括收集有关错误的信息、收集修复材料以及验证修复结果,并在先前修复尝试的反馈和信息基础上决定调用哪些工具。该研究表明,RepairAgent 在修复 164 个错误中表现出了良好的效果,并修复了先前技术无法修复的 39 个错误。与 LLM 的交互对每个错误平均造成了 270,000 个 token 的开销,根据 OpenAI GPT-3.5 模型的当前定价,平均每个错误的成本为 14 美分。这项工作是首次提出基于 LLM 的自主代理程序修复技术,为未来软件工程的代理技术铺平了道路。
Mar, 2024
最近在大语言模型(LLMs)的研究中取得的进展使得研究人员和开发者能够构建自主语言代理,通过自然语言界面自动解决各种任务并与环境、人类和其他代理进行交互。我们认为语言代理是通向人工通用智能的有希望方向,并发布了 Agents 这一开源库,旨在将这些进展开放给更广泛的非专业人士。Agents 经过精心设计,支持诸多重要功能,包括规划、记忆、工具使用、多代理通信和精细化符号控制。Agents 非常用户友好,因为它使非专业人士能够在无需太多编码的情况下构建、定制、测试、调优和部署最先进的自主语言代理。该库也非常友好于研究,因为其模块化设计使其易于研究人员进行扩展。Agents 库可在此 https URL 上获取。
Sep, 2023
大型语言模型(LLMs)正在改变人工智能,使得自主代理能够在不同领域执行多样化任务。这些代理具备类似人类的文本理解和生成能力,有望在从客户服务到医疗保健等各个领域引发革命。然而,它们面临着诸如多模态、人类价值取向、幻觉和评估等挑战。推动、推理、工具利用和上下文学习等技术正在被探索,以增强它们的功能。像 AgentBench、WebArena 和 ToolLLM 这样的评估平台为在复杂场景中评估这些代理提供了强大的方法。这些进展正在引领更加有韧性和能力的自主代理的发展,预计它们将成为我们数字生活中不可或缺的一部分,协助我们完成从邮件回复到疾病诊断等任务。拥有 LLMs 带头的人工智能的未来充满了希望。
Apr, 2024
大型语言模型在互动环境中以多轮开放式生成的方式评估 LLMs 作为代理的推理和决策能力,显示出商业 LLMs 和开源竞争对手之间的性能差距。
Aug, 2023
介绍了一种名为 SWE-agent 的自主系统,它使用一种语言模型与计算机进行交互解决软件工程任务。通过自定义的 agent-computer interface (ACI) 界面,SWE-agent 能够增强代理程序创建和编辑代码文件、浏览整个代码库和执行程序的能力。在 SWE-bench 上,与检索增强生成 (retrieval-augmented generation, RAG) 技术达到的 3.8% 相比,SWE-agent 能够解决 12.5% 的问题。研究还探讨了 ACI 设计对代理程序行为和性能的影响,并提供了有效设计的建议。
May, 2024