RepoAgent: 开源框架的 LLM 驱动代码仓库级别文档生成器
介绍了 GitAgent,一种能够从 GitHub 实现自主工具扩展的代理,通过四阶段的过程将仓库纳入工具集,并通过 GitHub 问题 / 拉取请求学习人类经验,实验评估结果表明 GitAgent 平均成功率为 69.4%。
Dec, 2023
使用大型语言模型的代码代理在形式化用户问题为测试用例方面具有重要能力,并且在生成相关测试用例方面表现出众,尤其是在代码修复方面,生成的测试用例是提出代码修复的一个有效过滤器。
Jun, 2024
最近在大语言模型(LLMs)的研究中取得的进展使得研究人员和开发者能够构建自主语言代理,通过自然语言界面自动解决各种任务并与环境、人类和其他代理进行交互。我们认为语言代理是通向人工通用智能的有希望方向,并发布了 Agents 这一开源库,旨在将这些进展开放给更广泛的非专业人士。Agents 经过精心设计,支持诸多重要功能,包括规划、记忆、工具使用、多代理通信和精细化符号控制。Agents 非常用户友好,因为它使非专业人士能够在无需太多编码的情况下构建、定制、测试、调优和部署最先进的自主语言代理。该库也非常友好于研究,因为其模块化设计使其易于研究人员进行扩展。Agents 库可在此 https URL 上获取。
Sep, 2023
LLMs 在代码生成任务中展示了显著的潜力,在各种基准测试中在函数或语句级别取得了有希望的结果。然而,在创建类等代码构件方面的复杂性,特别是在实际软件库的背景下,尚未得到充分探索。现有的研究通常将类级生成视为一项孤立的任务,忽视了表征实际软件开发环境的错综复杂的依赖关系和交互作用。为了填补这一空白,我们介绍了 RepoClassBench,这是一个旨在严格评估 LLMs 在创建复杂的类级代码时在实际软件库中的能力的基准测试。RepoClassBench 包括 Java 和 Python 中的自然语言到类的生成任务,来自一组公共软件库。我们确保数据集中的每个类不仅在库内跨文件存在依赖关系,而且还包括相应的测试用例来验证其功能。我们发现目前的模型在我们的基准测试中面临着现实挑战,主要是由于它们对相关库上下文的有限了解。为了解决这个缺点,我们介绍了 Retrieve-Repotools-Reflect (RRR),这是一种新颖的方法,为 LLMs 提供静态分析工具,以迭代地导航和推理库级上下文,并在基于代理的框架中进行。我们的实验表明,RRR 在 RepoClassBench 上明显优于现有基准线,展示了它在不同编程语言和各种设置中的有效性。我们的发现强调了需要结合库级依赖关系以更准确地反映软件开发的复杂性的基准测试的必要性。我们的工作说明了利用专门的工具增强 LLMs 对库上下文的理解的益处。我们计划公开我们的数据集和评估工具。
Apr, 2024
建立了 ModelScope-Agent 框架的工作介绍了一种将开放源代码的 LLMs 作为控制器的通用和可定制的代理框架,从而使 LLMs 具备工具使用能力,实现了工具使用数据收集、工具检索、工具注册、内存控制、定制模型训练和实际应用评估等全面的框架,最终展示了基于该框架的 ModelScope Community 的实际智能助理 ModelScopeGPT。
Sep, 2023
介绍了一种名为 Multi-Agent Assistant Code Generation(AgentCoder)的新方法,它使用专门的程序员代理、测试设计师代理和测试执行代理来协同生成代码,解决了代码生成和测试用例生成之间的平衡问题,并在实验中表现出优于现有模型的性能。
Dec, 2023
通过动态生成并协调多个专门的代理来构建 AI 团队,AutoAgents 框架为不同任务自适应地生成和协调多个专门的代理,结果表明它比现有的多代理方法产生更连贯和准确的解决方案,为解决复杂任务提供了新的视角。
Sep, 2023
我们开发了一种名为 RepoUnderstander 的新型自动软件工程(ASE)方法,通过指导代理程序全面了解整个代码库,将关键的整个代码库信息压缩成知识图,采用蒙特卡罗树搜索探索策略,通过分析和规划,使代理程序能够动态获取信息并生成补丁解决实际 GitHub 问题,实验证明了其优越性和有效性。
Jun, 2024
RepoCoder 是一个简单,通用且有效的框架,它通过结合基于相似度的检索器和预训练的代码语言模型来简化存储库级代码完成流程,并允许在不同的粒度级别生成代码。同时,它还利用一种新的迭代检索 - 生成范式来弥合检索上下文和完成目标之间的差距。此外,我们通过对 RepoEval 的测试表明,在各种设置中,RepoCoder 显著提高了零样本代码完成基线,始终优于普通的增强检索式代码完成方法。
Mar, 2023
该论文介绍了 RepairAgent,其是第一个基于大型语言模型(LLM)的自主代理解决程序修复挑战的工作。RepairAgent 通过调用合适的工具来自主规划和执行修复操作,包括收集有关错误的信息、收集修复材料以及验证修复结果,并在先前修复尝试的反馈和信息基础上决定调用哪些工具。该研究表明,RepairAgent 在修复 164 个错误中表现出了良好的效果,并修复了先前技术无法修复的 39 个错误。与 LLM 的交互对每个错误平均造成了 270,000 个 token 的开销,根据 OpenAI GPT-3.5 模型的当前定价,平均每个错误的成本为 14 美分。这项工作是首次提出基于 LLM 的自主代理程序修复技术,为未来软件工程的代理技术铺平了道路。
Mar, 2024