你知道的,GPT-4 发布了。
目前你想要用上 GPT-4,主要的渠道是 ChatGPT Plus 。作为交了订阅费的用户,你可以在对话的时候选择模型来使用。
另一种渠道,就是申请官方 API 的排队。我在申请 New Bing Chat 的时候,耐心被折磨了 20 天。所以这次申请完就放在一边了。啥时候通过申请,听天由命吧。
有了 GPT-4 ,你可以干什么呢?
有人看了官方的演示视频后,就兴冲冲打算上传图片进行「看图说话」。然后你会发现,连上传图片的地儿都没有。即便是用上 ChatGPT Plus,你也依然只能守着文本框发呆。
哦,对了,刚才差点儿忘了说。即便你交了钱用上 ChatGPT Plus,每 4 个小时周期内,也只能有 100 条 GPT-4 对话限额。
那咱们该如何利用这宝贵的对话权限呢?
我昨天尝试了 GPT-4 各种推理和翻译能力,印象深刻。但是今天我要跟你介绍的,是它的编程功能。精确来说,是游戏编程。
这是我今天在网上看到的例子。这位老兄(Andre)就是说了一句话,然后 GPT-4 就编好了创新性的融合游戏(生命游戏 + Pong)。
Andre 于是用丰富的语言内容表达了自己的惊喜。
我觉得这就是个噱头。你说一句话,游戏就能编出来了?你也太小瞧开发者的能力门槛了吧?
为了揭穿这个谎言,我决定把他说的话原封不动扔到我的 GPT-4 对话里,看看出来的是啥玩意儿。
嗯,程序有了,我直接把程序贴到了 Visual Studio Code 里面,运行。
哈哈,你看,报错了吧?
我就知道不靠谱嘛!
且慢,好像人家早就给我提示,让我安装软件包来着。
好吧,算我没看清楚,好吧?我根据提示安装上 pygame
软件包,然后运行。
居然没有报错,就能用了。
不过运行的效果,是这样的:
你看你看,啥玩意儿嘛?分明就是两个游戏。而且右边这半边最可恨。是可以拿着板子上下飞舞,可是球哪儿去了?
不过按照以往的经验,我们可以用自然语言让它改进。
于是我怒气冲冲,这么说:
至少你需要给我一个球让我打,还要一个记分牌。
它还挺懂礼貌,先跟我道歉,然后把代码做了更新。
我把更新的代码弄了进来运行,依然没有报错。
这次确实有了球可拍,而且也能计分了。但是问题多多啊。你看,分数规则奇怪,而且球和左侧的游戏交互也缺乏。
于是我继续提要求:
如果球击中左侧的组件,则该组件应相应消失。请修改代码。
之后又提出:
添加一个重新开始游戏的按钮。此外,如果球撞到左侧组件,则得分 + 1。谢谢。
GPT-4 很认真修改代码,之后运行效果是这样的:
不过,还是有不尽如人意的地方。例如得分总会突然归零。以及左侧那堆网格线,看得我头晕。
于是我继续给 GPT-4 提出要求:
添加开始和暂停按钮。同时,除非球飞出右边界,否则保留得分。此外,左侧的网格有点烦人,请您把它们擦掉好吗?
这次结果代码执行起来,效果是这样的:
你看这感觉,是不是好多了呢?
我知道这游戏还有很多缺点,而且我的做法毫无原创性可言。但是这个复现过程,至少证明了一件事 —— 原帖的作者 Andre 没有夸大其词 —— 完全用自然语言提要求,GPT-4 确实就可以帮你写游戏了。
我于是发了一番感慨:
当然,任何一个有经验的程序员,都可以站出来指出 GPT-4 辅助编程的种种缺点,然后断言它永远替代不了优秀的开发者。
你别忘了, GPT-4 发布还不到 48 小时,目前一众大语言模型还在以狂飙的姿态进化中。再说了,谁说它的目标是替代「优秀的开发者」了?
借用好友川总的话说,优秀的开发者会利用它,效率提升 100 倍;编程入门者会利用它,享受私教带来因材施教的愉悦。
我非常赞同,但是提出了一个疑问 —— 中间层开发者的被 AI 冲击后,入门者该怎么成长为顶级优秀的专业人士呢?
目前,我还没有答案。想听听你的看法。欢迎留言,咱们一起交流讨论。