关注我们丨文末赠书
Part.1
用 ChatGPT 开一家 AI 软件开发公司
用 7 分钟开发一个游戏出来,听起来有点像天方夜谭?借助 ChatGPT,一切皆有可能。
近日,来自布朗大学和多所中国大学的研究人员,基于 ChatGPT 进行了一项实验,成功证明 AI 具备软件开发的能力。做开发的小伙伴们一定很好奇基于 AI 的自动化编程是怎么玩的吧,我们一步一步来揭开谜底。
研究人员首先在 ChatGPT 上开了一家叫作ChatDev的虚拟软件开发公司。IT 公司该有的角色一应俱全:CEO、CTO、资深程序员、测试工程师、美工等。
对每个角色给予描述性的定义,让“他们”知道自己该干什么。这可以理解为将人才网站上的职位描述拿来用就好,例如程序员的定义就是计算机基础知识牢固,工作经验丰富,能熟练使用多种编程语言,包括 Python、Java、C/C 等。
然后是开发流程设定,这里选择了传统的瀑布式模型,即完成上个阶段的工作后,才进入下个阶段。整个过程划分为设计、编码、测试和文档四个阶段。
规定每个阶段都有一个团队参与,团队成员包括程序员、代码审核员、测试人员。这就是人类的组织形式和工作流程在 AI 世界的映射,看起来初具章法。
为了驱动工作,研究人员建立了一个聊天链(ChatChain)架构,即将任务按阶段划分,每个阶段内包含若干节点所代表的子任务。有两个角色参与节点的上下文多轮讨论,提出并验证解决方案。
至此,ChatDev 的草台班子搭起来,可以开门营业了。要看看这家公司的业务能力如何,先给它提一个“五子棋(Gomoku game)”游戏的需求吧。
Part.2
自动化编程做出了五子棋游戏
我们现在来仔细观察一下,看看 ChatDev 公司的各个角色是如何交流合作来完成开发任务的。
设计阶段
由 CEO、CPO(首席产品官)、CTO 三方会谈,从产品顶层出发,确定软件的主要功能形式、整体架构,以及开发语言。可以看到,讨论集中在大方向与整体框架上,没有纠缠于技术细节,也没有人类才有的利益算计,果然是一次高效的沟通。
讨论的结果是把五子棋游戏设计成桌面应用程序,它将提供用户友好的界面和交互式游戏体验。Python 和 Pygame 库是实现基本 Gomoku 游戏的合适选择。