7分钟开发一个游戏,用ChatGPT如何做到?(文末送书)
用 7 分钟开发一个游戏出来,听起来有点像天方夜谭?借助 ChatGPT,一切皆有可能。
近日,来自布朗大学和多所中国大学的研究人员,基于 ChatGPT 进行了一项实验,成功证明 AI 具备软件开发的能力。做开发的小伙伴们一定很好奇基于 AI 的自动化编程是怎么玩的吧,我们一步一步来揭开谜底。
研究人员首先在 ChatGPT 上开了一家叫作ChatDev的虚拟软件开发公司。IT 公司该有的角色一应俱全:CEO、CTO、资深程序员、测试工程师、美工等。
对每个角色给予描述性的定义,让“他们”知道自己该干什么。这可以理解为将人才网站上的职位描述拿来用就好,例如程序员的定义就是计算机基础知识牢固,工作经验丰富,能熟练使用多种编程语言,包括 Python、Java、C/C++等。
然后是开发流程设定,这里选择了传统的瀑布式模型,即完成上个阶段的工作后,才进入下个阶段。整个过程划分为设计、编码、测试和文档四个阶段。
规定每个阶段都有一个团队参与,团队成员包括程序员、代码审核员、测试人员。这就是人类的组织形式和工作流程在 AI 世界的映射,看起来初具章法。
为了驱动工作,研究人员建立了一个聊天链(ChatChain)架构,即将任务按阶段划分,每个阶段内包含若干节点所代表的子任务。有两个角色参与节点的上下文多轮讨论,提出并验证解决方案。
至此,ChatDev 的草台班子搭起来,可以开门营业了。要看看这家公司的业务能力如何,先给它提一个“五子棋(Gomoku game)”游戏的需求吧。
我们现在来仔细观察一下,看看 ChatDev 公司的各个角色是如何交流合作来完成开发任务的。
由 CEO、CPO(首席产品官)、CTO 三方会谈,从产品顶层出发,确定软件的主要功能形式、整体架构,以及开发语言。可以看到,讨论集中在大方向与整体框架上,没有纠缠于技术细节,也没有人类才有的利益算计,果然是一次高效的沟通。
讨论的结果是把五子棋游戏设计成桌面应用程序,它将提供用户友好的界面和交互式游戏体验。Python 和 Pygame 库是实现基本 Gomoku 游戏的合适选择。
![](//www.dabaobao.net/wp-content/uploads/2023/12/71701418376.png)
由 CTO、程序员和美工主导本阶段工作。聊天链将此过程分解为多个子任务,通常由两个角色参与完成。例如, CTO 提出具体功能规格说明,程序员就生成 Python 代码。美工设计 GUI 界面,程序员将其与代码集成。
AI 写的代码也是要进行测试的,这一步由程序员、审查员、测试工程师参与完成。先是代码评审(code review),其过程与人类活动相似,由同行查看代码以查漏补缺。然后是测试人员使用解释器验证软件功能,以黑盒测试的方式完成系统测试。
通过下图可以看到,测试人员果然发现了 GomokuGame 未定义的 bug,还给出了解决建议。程序员根据测试报告修复了 bug。测试人员最后给出了“代码结构良好,符合规范,成功通过测试”的评价。
写文档大概是人类程序员最不爱干的事,但人家 AI 表示这不是问题,而且文档是由 CEO、CPO、CTO、程序员来写的,看看这重视程度。文档包括运行环境依赖文件、用户手册等。文档内容也做到了格式正确、条理分明、简洁易懂。
最后,一款五子棋游戏就诞生了。
研究团队按照这种生产方式,开发了 70 款软件,那么成效如何呢?
用数据来说明,ChatDev 生成的工程一般有 2 至 8 个文件,平均是 4.26 个文件。每个文件一般包含 39 至 359 行代码,平均是 131.6 行。
从软件运行结果来看,大约 86.66% 的软件执行正常,但也有 13.33% 的软件执行失败。失败的原因有的是 API 令牌长度限制,有的是受外部依赖的影响。不过总体上成功率还是很高的。
总体来说,软件生产的平均时间是 409.84 秒,生产成本是 0.2976 美元。用不到 7 分钟的时间,以及小于 1 美元的代价,就能产出一款合格的软件,这就是基于 ChatGPT 自动化编程的威力。
想玩转 ChatGPT 自动化编程吗,看懂《AIGC自动化编程》这本书就可以。本书分别从 ChatGPT 基本概念、自动化编程工具、行业应用三个部分进行说明,我们具体了解一下。
此部分详细解释了 ChatGPT 技术的原理,介绍了 ChatGPT 可以赋能的行业领域,并展示了注册、登录 ChatGPT 的方法。对于如何应用 ChatGPT 解决问题,给出了具体的提问技巧建议。
重点展示了 GitHub Copilot 在软件开发工作中的重要作用。先介绍了 GitHub Copilot 的安装和使用,然后详细说明了各种自动化编程方法,包括根据函数名自动生成实现代码、无中生有代码生成模式、检查和弥补安全漏洞等。
另外还对 New Bing、Bard、Claude2 等大模型工具也一一做了介绍,读者可以根据需要去深入探索。
我们已经看到 AIGC 工具开发出了五子棋游戏,其实它能应用在诸多行业中。书中给出以下实战示例:基于 PyQt6 和 Tkinter 的桌面应用;Web 应用;太空大战等游戏应用;处理 Excel、Word、PPT 的办公自动化应用;移动应用;数据库开发,等等。
自动编程实战:桌面应用
这本书涵盖的内容真不少,作者为什么知道得那么多?因为本书作者李宁热爱技术而且乐于分享,他是 51CTO 金牌讲师,制作视频课程超过 2000 小时。还有更厉害的,李宁老师出版了 40 多本 IT 畅销书,输出技术文章超 2000 万字,阅读量超千万。
大家跟着李宁老师学肯定错不了,对于要如何有效学习,书中也给出了具体建议。
· 逐步深入:先学习基础概念,然后再掌握工具的使用;
· 交叉学习:在学习新工具时,将其与以往内容对比,触类旁通,提高效率;
· 广泛实践:边看边练,对于实战内容一定要亲手实践;
· 积极探索:不要满足于书本内容,要对 AIGC 工具有创造性的使用。
《AIGC自动化编程》内容新颖,追踪业界先进技术成果,以实用为目标。同时书中理论扎实,代码案例丰富,用图文并举的方式解说复杂的操作,让读者的学习成为一趟轻松愉快的旅程。
本书的深度与广度也赢得业界一片赞誉之声,让我们看下大佬们的评价吧。
本书深入浅出地解读了人工智能在编程领域的强大潜力,为程序员和技术爱好者提供了宝贵的实践经验。通过详尽的分析和实例,本书展现了一个充满无限可能的技术未来。本书不仅是一本关于编程的书,还是一本探索如何更高效、更智能地编写代码的启示录。本书内容实用,对于每一位开发者来说都非常有价值,值得作为程序员的参考手册,强烈推荐!
–张荣超,OpenHarmony技术指导委员会委员
本书是关于生成式人工智能技术的指南,深度解读ChatGPT和GitHub Copilot。从GPT的发展历程到如何与ChatGPT交流,从GitHubCopilot的编码实战到如何使用ChatGPTAPI,本书系统阐述了相关内容。无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。书中关于使用ChatGPT进行项目开发、算法编写以及图像处理的内容为那些希望探索人工智能在实际应用中的无限可能性的读者提供了宝贵的参考。
–夏曹俊,南京捷帝科技有限公司创始人
本书不仅深入讲述了ChatGPT的核心功能,还系统讨论了ChatGPT 在各个领域的影响和潜力,以及OpenAIAPI的应用和其他生成式人工智能产品,本书有助于读者迅速提高编程水平。
–唐佐林,开源鸿蒙Py4OH框架作者
从GPT的基础知识到如何与ChatGPT进行有效交流,再到基于OpenAIAPI的众多应用,本书深入探讨了ChatGPT及其生态圈的各个方面。另外,本书还介绍了其他生成式人工智能产品,展现了当前技术的前沿趋势。无论你是初学者还是有经验的开发人员,本书都有助于你提高自己的开发水平。
–李洋,深圳市蛟龙腾飞网络科技有限公司首席执行官与首席技术官
本书不仅讲解了ChatGPT的强大功能,还讲述了其他先进的生成式AI工具。无论你是新手还是专业人士,都能从本书中受益匪浅。
–连志安,江苏润和软件股份有限公司生态技术总监
对于 IT 行业的广大技术人来说,讨论 AI 会不会让自己失业已经没有意义,重要的是能否及时更新技术栈,掌握 AIGC 场景下的自动化编程,从而成为新时代的超级个体。
[1] ChenQian, XinCong, WeiLiu, ChengYang, WeizeChen, YushengSu, YufanDang, JiahaoLi, JuyuanXu, DahaiLi, ZhiyuanLiu and MaosongSun. Communicative Agents for Software Development.
上述书籍赠送给两位中奖者,不分先后顺序,每位一本,解释权归本公众号所有
1、关注微信公众号:网络工程师笔记
大家多多把文章转发到朋友圈邀请好友点赞哦!切记,是评论区的点赞前二名哦!
活动截止时间为10月27日 18:00点。