这个「公司」被命名为「ChatDev」,顾名思义,就是通过聊天来进行开发。在「公司」中,十多个聊天机器人分别扮演着不同的角色,串联在一起完成开发工作。
整个过程用ChatGPT就能完成,无需为每个环节专门训练相应的模型。这个「公司」开发一款游戏的平均时间是409.84秒,最快的甚至不到三分钟,最慢的也不过17分钟。
消耗方面,ChatDev使用的是ChatGPT的API(3.5-turbo),平均每款游戏使用约48.5K个token。根据这一数据计算,用它来开发游戏,平均每款的成本仅需0.2967美元。
研究团队为这个「公司」设计了一套由ChatGPT串联起的「ChatChain」。每个bot分别扮演CEO、程序员、设计师等不同角色,涵盖了游戏研发涉及的所有岗位。
具体而言,ChatDev在制作游戏时一共需要经历设计-编程-测试-文档这四个大环节。在设计环节开始之前,人类会提供一个初步的想法,这也是唯一需要人类的地方。
ChatDev 借鉴软件工程瀑布模型的思想,将其分为软件设计(Designing)、系统开发(Coding)、集成测试(Testing)、文档编制(Documenting)四个主要环节。之后,通过对软件开发瀑布模型的进一步分解,形成由原子任务构成的交流链(Chat Chain)。整条链可视为由原子任务组成的“软件生产线”,链中每个子任务通过专业角色(例如产品设计官、Python 程序员、测试工程师等)的智能体进行对话式信息交互和决策;驱动其进行自动化需求分析、头脑风暴、系统开发、集成测试、GUI 创作、文档编制等全流程软件工程。
ChatDev 在 7 月发表的论文中声明:由于生成式大语言模型对下一个 Token 采样本身具有一定随机性、ChatDev 里的艺术设计师对 GUI 各个图像素材均是独立生成的、ChatDev 对编程语言存在一定的归纳偏置等,ChatDev 还存在软件生产过程具有一定不确定性、GUI 配图不自然、导致系统隐患、不能胜任中大规模的软件系统开发等局限。
两个月来,ChatDev 的作者努力克服局限,不断完善 ChatDev。7月30日,用户可以自定义 ChatChain、Phase 和 Role 设置,并且支持在线 Log 模式和 replay 模式。8月17日,V1.0.0 版本准备好发布;8月28日,系统公开提供使用。通过未来持续的研究和改进,相信 ChatDev 未来会展现出更加出色的表现。
➤ ChatDev 论文 https://arxiv.org/abs/2307.07924
➤ ChatDev 的 GitHub 链接 https://github.com/OpenBMB/Chat