Self-collaboration:一种基于大模型的团队协作代码生成框架

新知榜官方账号

2023-07-29 22:02:34

背景

人类可以通过合作的方式解决复杂问题,这种模式同样适用于AI领域。对于复杂的任务,人们通过团队合作策略来解决。但在AI世界中,这样的模式是否也适用呢?北京大学李戈教授团队提出了一种全新的Self-collaboration(自合作)模式。它允许多个大模型模型扮演不同的角色,组成了一个无需人类参与的软件开发团队,通过大模型间的合作和交互,自主完成整个软件开发流程,甚至包括一些复杂的代码生成任务。

为了有效地组织和管理这个虚拟团队,研究者巧妙地将软件开发方法论中的瀑布模型融入到了框架中,组建了一个由三个ChatGPT角色(即分析师、程序员和测试员)组成的基础团队,实施软件开发过程中的分析、编码和测试阶段。

Self-collaboration框架

Self-collaboration框架由两部分组成:分工和合作。在分工部分,研究者运用先验知识将复杂任务分解为一系列阶段并构建一些不同的角色,这些角色基于大模型和角色指令。每个阶段由一个或多个角色负责。在合作部分,研究者关注于促进在Self-collaboration框架内承担不同角色的大模型之间的有效交互。每个大模型在其指定角色指令的指导下,通过履行其分配的职责为整体任务做出贡献。随着阶段的进展,大模型与其他大模型交流他们的输出,交互信息并输出y。

实例

研究者将软件工程方法论中的经典瀑布模型引入到Self-collaboration框架中,使代码生成的团队协作更加高效。具体来说,研究者设计了一个由分析、编码和测试三个阶段组成的简化瀑布模型,作为Self-collaboration代码生成的实例。该实例的工作流程遵循瀑布模型从一个阶段流向下一阶段,如果发现问题,则返回上一阶段进行细化。因此,研究者建立了一个基本团队,包括分析师、编码员和测试员,负责分析、编码和测试阶段。

实验结果

实验结果表明,Self-collaboration框架显著提高了基础大模型的性能。值得注意的是,即使是一个简单的三人团队(包括分析师、程序员和测试员),基于ChatGPT(GPT-3.5)的Self-collaboration代码生成在四个代码生成基准测试中也取得了最佳性能,甚至超过了GPT-4。研究者进一步研究了仅使用自然语言描述的代码生成,实验结果表明,与仅使用程序员角色相比,无论是二位角色还是三位角色组建的团队,性能都有显著提高。研究者还将Self-collaboration框架应用于更复杂的实际代码项目的两个例子,实验结果表明,Self-collaboration可以有效地处理更复杂的实际代码项目。

本页网址:https://www.xinzhibang.net/article_detail-8918.html

寻求报道,请 点击这里 微信扫码咨询

关键词

Self-collaboration 大模型 团队协作 代码生成 软件开发

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯