北京大学李戈教授团队提出了一种令人惊叹的新型软件开发模式——self-collaboration(自合作)。这种模式允许多个大型语言模型扮演不同的角色,组成一个无需人类参与的软件开发团队,通过大模型间的合作和交互,自主完成整个软件开发流程,甚至包括一些复杂的代码生成任务。
虽然大型语言模型在代码生成方面已经展示出了惊人的能力,但是在处理复杂任务上仍然存在挑战。在现实中的软件开发过程中,人们通常通过协同团队工作的策略来解决复杂的任务,这种策略能够显著地控制开发的复杂性并提高软件的质量。
受此启发,研究者提出了一个使用大模型进行代码生成的 self-collaboration 框架。具体来说,通过角色指令,多个大型语言模型扮演不同的 “专家” 角色,每个模型负责处理复杂任务中的特定子任务。同时,规定合作和交互的方式,使不同的角色形成一个虚拟团队,帮助彼此完成工作,最终无需人为干预就能共同完成代码生成任务。
为了有效地组织和管理这个虚拟团队,研究者巧妙地将软件开发方法论中的瀑布模型融入到了框架中,组建了一个由三个 ChatGPT 角色(即分析师、程序员和测试员)组成的基础团队,实施软件开发过程中的分析、编码和测试阶段。
实验结果表明,与直接利用大模型代码生成相比,self-collaboration 代码生成的性能大幅提升,甚至让 GPT-3.5 超越了 GPT-4。此外,研究者还展示了 self-collaboration 能使大模型有效地处理更复杂的实际代码项目,而这些项目往往是直接代码生成难以解决的。
这种 self-collaboration 模式的提出,不仅为软件开发领域带来了新的思路和方法,也为人工智能技术的发展提供了新的方向和可能性。它让我们看到了未来人工智能技术的无限潜力,也让我们更加期待未来的科技发展。