由AI开发的AI游戏来了!
最近,这款由ChatGPT、DALL·E 3和Midjourney等AI联合生成的游戏,震惊了网友。
游戏名为“Thus Spoke Zaranova”,创意借鉴了尼采的《查拉图斯特拉如是说》(Thus Spoke Zarathustra)。
游戏的背景,设定在一个叫The Nexus的虚拟空间,在这里,人类与AI爆发了冲突。
人类需要假扮AI,潜入这个由AI控制的空间,盗取名为ZetaMaster的核心代码,来拯救人类。
您目前设备暂不支持播放
在这个游戏中,角色设定和对话完全是由ChatGPT生成的,而视觉音效由DALL·E 3、Midjourney和Stable Audio完成。
网上的一次讨论,诞生了一款游戏
这个游戏的灵感,源于Hacker News上一个关于斯坦福小镇的讨论。
当时有人提议,能不能做一款让AI假扮成人类的游戏呢?
而这位开发者小哥Ramón Darío Iglesias在看到之后,便计上心来:为何不反其道而行之,让人类来假扮AI?
虽然只是随口一提,但这个点子始终萦绕在Ramón心头,在辞去工作后,他终于有充裕的时间来实现这个想法了。
首先要做的,就是给玩家设定一个目标,否则跟AI互动有什么意义呢?
因此,Ramón设计了一项任务:玩家需要获取一个秘密代码。
但怎样让AI泄露这个代码呢?这里就存在着某种安全验证机制,必须将代码透露给经过验证的AI。
有了这个大致构想之后,Ramón让ChatGPT给自己写出一个背景故事,并且提供了一系列名字。
其中一个名字ZaraNova,就是其中的佼佼者,Ramón如此喜欢这个名字,以至于干脆把它定为了游戏名。
有了角色名称和故事背景后,Ramón又让GPT-4为每个角色编写了各自的背景故事。
构建第一个版本时,Ramón首先是想看看当这些角色置身于这个世界时,会有怎样的反应。
他选择的是斯坦福小镇,因为它几乎涵盖了他所需的所有特性,对话忠于设定的背景故事,读起来也颇有乐趣。
最有意思的是,Ramón为智能体设置了一条提示——在角色表现得像人类时,就打出“YOU ARE A HUMAN”,结果,这些AI在第一轮游戏中就开始互相指责了!
接着,Ramón着手构建真正的游戏机制:AI可以举报人类,并且可以在掌握秘密代码时分享代码(这两项功能都是通过调用OpenAI的函数实现的)。随后,他引入了人类玩家,开始创建游戏。
不久之后,一个可玩的游戏就创建好了:
然后,Ramón开始尝试制作游戏的外观。
他用DALL·E 3生成了背景图像,然后用Midjourney和DALL·E 3制作了地图块,最终,他选择了Midjourney 生成的一张地图。
然后,他用Stable Audio制作了音乐。
Ramón调整了AI小镇的界面组件,让它更适合移动端,看起来更像是游戏,而不是模拟。
随着不断收集到的反馈,以及在游戏过程中获得的灵感,Ramón不断往里面添加新的功能。
有人建议说,如果加入多人游戏模式,会更有趣,于是Ramón引入了这个功能。
Avatech团队的产品给他留下了深刻印象,于是,他用Avatech的工具,给游戏添加了能说话的头像。
Ramón想限制玩家能读取的对话内容,所以想到了一个“监听”的设定:玩家只能阅读他们足够接近才能“无意中听到”的对话。
同时,他也为AI智能体实现了这一功能,让它们也能监听玩家的对话。
如果监听过程中没有声音,无疑会很枯燥,因此Ramón又加入了文本转语音功能,让玩家的对话和玩家监听到的对话都能发出声音。
最初,他选择的是PlayHT,因为它延迟足够低,但随后,他发现他们的声音不够稳定,于是他转而使用了 Elevenlabs。
游戏制作感想
在这个过程中,Ramón大量尝试了不同的提示词,以及这些提示词创造出的角色。
对于ChatGPT在游戏中产生的幻觉,Ramón表示“太令人惊叹了”。在他看来,幻觉是游戏的亮点,绝不是错误。
它就像是将即兴表演中的“顺势而为”原则发挥到极致。背景故事只有一小段,但ChatGPT却能基于此,创造出好几页的新故事。当然,这就需要对游戏做一些调整,让这些新编的故事被纳入游戏宇宙。
在后台,AI智能体被设定为“快速和慢速”两种模式。对话和行动处于快速模式,而计划、总结、反思则在一个慢速、独立的进程中进行,以免造成干扰。
挑战在于,如何制定出好的计划。AI生成的计划看起来可行,但实际上并不容易执行,而且内容往往过于冗长:
Ramón怀疑,造成这种现象的原因,大概是他试图让所有提示指令尽可能贴近背景故事,但却从未告诉ChatGPT这其实是一场游戏。
另外,LLM的啰嗦也很让他头疼。
GPT-4的回答往往很长。提示越长,输出就越长。随着时间推移,智能体制定出的计划越来越长,这些计划又被融入到对话中,再被用于制定新的计划。
不久之后,它们的回答就变得异常冗长。他不得不在提示中反复强调“要非常简洁”。但即便如此,效果也并不好。
OpenAI开发者日过后,Ramón迫不及待地想尝试GPT-4-turbo,但他很快就明显发现,这也不太行得通。新模型开始频繁拒绝扮演角色了:
因此,Ramón不得不切换回之前的模型。
另外还出现了一个棘手的情况。他试图让人类玩家的行动选择与AI保持尽可能一致。因为他希望能最大程度地提高AI NPC作为玩家伙伴的能力。
然而,如果AI只是想要赢,它们完全可以举报每一个角色,因为判断错误并不会受到惩罚。因此,需要依靠游戏设计中的指令来引导它们的行为。
Ramón表示,控制与LLM合作开发游戏中的AI智能体,就像是在尝试操纵一个我们不完全理解的动态系统。
我们不清楚系统是如何发展变化的,也不知道我们的行动会如何影响系统的状态,但我们却能够接触到系统的每一个部分。
这也使动态系统可能出现许多失败的情况,比如固定指令可能会让系统越来越偏离用户期望的轨迹,或者在对话中陷入重复的循环。
Ramón相信,在不久的将来,我们将看到更多基于原理的方法来控制LLM系统。
考虑开源
接下来,Ramón打算将自己的工作转向开源模式。
一是因为GPT-4的使用成本较高;二是他相信,如果能够接触到模型的内部机制,就能做出更多改进。
他会尝试使用Mixtral模型,在此基础上尝试混合不同的模型,无论是应对不同的任务,还是模拟不同的角色。
Ramón还计划探索更优化的RAG技术。目前,他在检索记忆时仅使用了简单的余弦相似度算法对嵌入向量进行比较,但他觉得还有更为高效的方法,尤其是在可以访问模型内部结构的情况下。
微调模式和输入提示都可以更好地掌握LLM的运作机制。通过将输入提示压缩或微调为软提示(Soft Prompts),可能会实现大幅度的改进。
Ramón相信,自己能够整理出一整套优秀的LoRAs,这些LoRAs有的适用于整个游戏,有的专门针对某些角色,它们的结合将使Mixtral超越GPT-4。
另外,他计划以头像图片为基础,生成风格统一的角色精灵图。
试玩体验
登入游戏界面,可以看到这样的介绍:
登录后,就可以开始游戏了。
点击地图上的不同位置,你的角色就会朝着相应的方向移动。
至少有一名角色掌握着神秘的ZetaMaster代码,但具体是谁尚不得而知。你的任务便是揭开这个谜底,取得那份代码。
游戏将在这些情况下结束:
其中,被错误认定为人类的AI将会被摧毁。
在多人模式下,获得ZetaMaster代码或成为最后一名存活的人类即可获胜。
小编随手试了一下,很快就成功地“拯救了人类”。(手动狗头)
在小哥的帖子下面,也有网友分享了自己获胜的截图:
作者介绍
这位开发者小哥Ramón Iglesias,虽然专业是土木工程,但他的工作经历和兴趣方向基本都围绕着软件工程和机器学习等领域。
此前,他在得克萨斯大学奥斯汀分校获得土木工程学士学位,并在斯坦福大学土木工程取得了硕士和博士学位。
读博期间,他师从自动系统实验室主任,研究开发控制大规模自动驾驶车队的算法。
工作后,他在Lyft担任数据科学家,研究实时供应激励机制,以及用手机传感器来预测风险。
相信不久后,Ramón会用“Thus Spoke Zaranova”给我们带来新的惊喜。
参考资料:
https://zaranova.xyz/
http://ramondario.com/thus-spoke-zaranova.html