论文

CodeTeam:用于存储库级代码生成的 LLM 支持的多代理框架

CodeTeam: An LLM-Powered Multi-Agent Framework for Repository-Level Code Generation

智能体系统Agent 协作

摘要

自然语言到存储库生成(NL2Repo)需要一个系统根据自然语言需求文档构建整个软件存储库。与函数级代码生成相比,此任务需要更长的规划范围、跨文件的稳定接口以及跨文件不一致的迭代调试。为了应对这些挑战,我们提出了 CodeTeam,这是一个基于 LLM 的多代理框架,它将规划、决策和实施分为不同的、协调的阶段。在规划阶段,多个架构师代理起草相互竞争的软件设计草图(SDS),可以选择以检索到的设计参考为基础。然后,CTO 代理评估、选择最有前途的 SDS,并将其规范化为机器可检查的合同,该合同指定文件所有权、公共接口和依赖性约束。在实施阶段,开发人员代理在具有有界上下文和基于 Git 的轻量级协调的依赖项感知调度程序下生成代码,而 QA 代理则运行测试并驱动迭代修复。在基于综合的 SketchEval 基准上,我们明确地将 CodeTeam 的提示工程 (PE) 和监督 微调 (SFT) 变体与相应的 CodeS 变体进行比较,其中 CodeTeam 将总体 SketchBLEU 分别提高了 4.1 和 2.9 个绝对点。在用作外部验证协议的基于执行的 NL2Repo-Bench 基准测试上,CodeTeam 在两种设置中均实现了最高的平均测试通过率(34.6% PE、42.3% SFT),确认草图改进扩展到上游测试套件下的功能正确性。消融结果表明,特定于项目的开发人员分配和检索增强规划都对 SketchBLEU 的改进做出了重大贡献(分别相对 9.9% 和 8.1%)。 CodeTeam 和实验结果可在 https://github.com/WhitenWhiten/CodeTeam 获取