本文经AI新媒体量子位授权转载,转载请联系出处。
什么,七句话就让AI给我生成了一个小游戏?
还是”极简版”塞尔达这样的经典冒险游戏,不仅能捡金币、躲怪,地图也不重复的那种。
这是一位名叫AndRew Mayne的小哥的真实经历,整个过程中,他甚至一行代码都没写!
把AI生成的游戏和游戏代码po到网上后,短短数小时就收获了上千热度:
赶来围观的网友试玩了他搞出来的游戏,直呼”Mind blowing”。
所以,AndRew Mayne到底是怎么做到的?
原来,他用来做游戏的AI,是OpenAI最新版本的codex。
这个版本的codex,除了能直接生成、修改和编辑代码以外,连处理的文本长度也翻倍,从2048个Token提升到了4000个,简直像是”解开一层封印”。
第一次尝试便是被他命名为”极简塞尔达”的游戏。
别看画面抽象,整个游戏包括随机生成地图、玩家用键盘控制角色移动、有敌人会攻击玩家、收集金币加分等游戏核心要素。
走到地图边缘还能生成一张新地图,这样就能一直玩下去…总之是一个2D冒险游戏原型的样子。
所有这些规则只用英语写了七句话,AI则用JavaScript写出了190行代码。
由于小哥本人不是专业游戏设计师,描述用词不是很精确,但AI总是能产生自己的理解。
比如描述怪物的部分,描述里只有”一个红色的怪物,玩家移动时它也移动,试图接近玩家,如果玩家被碰到就减一分”。
AI则根据上下文生成了50多行完整的怪物生成、移动、判定分数的逻辑。
只需把色块替换成简单贴图,和真正的塞尔达原型是不是就很像了?
其中比较有意思的是生成《黑客帝国》字符雨视觉特效,几乎是只告诉AI”创建一个画布,加一个黑客帝国雨特效”,没有任何额外解释,AI就做出来了:
最后他总结出几条经验,介绍如何写文字描述能让AI更容易理解需求。
所以话说回来,这个最新版的codex到底有多好用?
除了AndRew Mayne最感兴趣的Token上限翻倍以外,新增加的插入和编辑两大功能也挺有意思。
先来看看codex的编辑功能,像优化代码性能就能用一句话搞定:
或是换个编程语言实现代码:
还有”单行代码编程”(One Liner),一句命令就能实现:
有了这一功能,调整代码的难度就会降低不少。
使用codex的时候,甚至可以像甲方一样,无需手动调整代码,只需要对着这位”AI程序员”发号施令,就能让它生成你想要的东西。
再来看看codex的插入功能。
不仅能主动生成注释,提醒这段代码的作用:
还能根据上下文理解这段函数,主动帮你插入它的定义:
无论是开发框架、还是写小软件,都不需要再担心”一条路走到黑”,可以根据需求再从中间进行调整。
当然,这些功能放到GPT-3上也类似。无论是换人称、改格式这种小技巧:
还是随着上下文修改并插入语句,都不在话下。
除了这两个功能以外,还有一些细节上的更新,例如UI变得更加简洁等等。
事实上,这一系列新功能,都是为了让codex和GPT-3变得更容易上手。
据OpenAI的科学家表示,他们希望通过这次更新,让更多”非职业选手”也玩上GPT-3和codex。
这也确实吸引了不少感兴趣的网友动手尝试。
像搞出”7句话让AI给我做游戏”的AndRew Mayne,原本只是一位惊悚小说家。
除了他以外,包括《连线》编辑Clive Thompson等人也在尝试用codex给自己写代码。
Clive表示,codex掌握的知识量比他们这些”业余选手”丰富不少,能选出最合适的函数和库来完成需求。例如在接到与PDF有关的需求时,调用PyPDF库。
还有网友表示,自己拿codex做了个《太空侵略者》(Space Invaders)小游戏,同样成功了。
看到这些成果,有网友感叹,当AI真的学会写代码后,留给人类做的可能就剩下两件事情:写更好的AI,或是想想能用AI生成什么。
不过,更加谨慎的网友则认为,AI生成代码容易让人对它产生依赖性,从而忽视代码本身的问题。例如这位作者用codex写的图像处理代码,就存在一些不正确的地方。
还有网友预测,用AI写代码的话,最后还是要让工程师来调整它,本质上还是殊途同归。
你会用AI来写工具、或是做游戏吗?