3 个月前

SOEN-101:基于大语言模型代理模拟软件过程模型的代码生成

SOEN-101:基于大语言模型代理模拟软件过程模型的代码生成

摘要

软件过程模型对于促进软件团队之间的协作与沟通、高效解决复杂开发任务至关重要。受软件工程实践的启发,我们提出了FlowGen——一种基于多个大语言模型(LLM)智能体模拟软件过程模型的代码生成框架。通过为LLM智能体分配对应角色(如需求工程师、架构师、开发者、测试人员和Scrum主管),FlowGen模拟了三种典型过程模型:FlowGenWaterfall、FlowGenTDD与FlowGenScrum,并据此组织各角色间的沟通模式,以映射日常开发活动。这些智能体通过链式思维(chain-of-thought)与提示词组合(prompt composition)进行协同工作,并结合持续自我优化机制,不断提升生成代码的质量。本研究以GPT-3.5作为底层大语言模型,并在四个基准测试集(HumanEval、HumanEval-ET、MBPP和MBPP-ET)上,与多个基线方法(RawGPT、CodeT、Reflexion)进行对比评估。实验结果表明,FlowGenScrum在各项指标上均表现最优,分别在HumanEval、HumanEval-ET、MBPP和MBPP-ET上取得75.2、65.5、82.5和56.7的Pass@1得分(相较RawGPT平均提升15%)。相较于其他先进方法,FlowGenScrum在MBPP基准上优于CodeT,而两者均显著超越Reflexion。尤为值得注意的是,将CodeT集成至FlowGenScrum框架后,实现了统计学意义上的显著性能提升,达到了最高Pass@1分数。进一步分析发现,不同开发活动对代码异味(code smell)和异常处理的影响存在差异:设计阶段与代码评审环节显著增强了异常处理能力,同时有效减少了代码异味。此外,FlowGen系列模型在不同GPT-3.5版本及多种温度(temperature)设置下均保持稳定的Pass@1表现,充分证明了软件过程模型在提升大语言模型生成代码的质量与稳定性方面的有效性。

基准测试

基准方法指标
code-generation-on-mbppGPT-3.5 Turbo + FlowGenScrum + Test
Accuracy: 83.8±0.6

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
SOEN-101:基于大语言模型代理模拟软件过程模型的代码生成 | 论文 | HyperAI超神经