近日,一项关于使用OpenAI的ChatGPT进行游戏编程的研究在网上引起了广泛关注。该研究通过生成Flappy Bird游戏35次,试图验证AI是否能够让非程序员轻松创建复杂的游戏应用程序。然而,研究结果表明,AI编程并不像人们想象的那么容易。
实验由DiverSE研究小组进行,他们使用Python编程语言和ChatGPT3.5以及4版本进行了多次尝试。研究涵盖了不同的提示和策略,包括:
简单描述游戏的提示、提供详细功能列表、简要描述最重要的功能、提供完整的代码示例并寻求匹配提示,以及在不查看中间代码的情况下使用一系列提示生成代码。
然而,研究人员并未找到一个能够始终生成可玩游戏的"魔法提示"。有些尝试生成了可玩的游戏,无需额外的技术干预,但许多会话导致了需要修复代码的无法使用的游戏。
有趣的是,即使使用相同的提示,ChatGPT也生成了完全不同的代码版本,产生了完全不同的结果。研究小组称输出质量存在显著的不一致性,有时甚至会陷入死局。
研究还发现,虽然技术知识有限的业余者可以利用ChatGPT创建游戏,但在没有编程知识的情况下,这几乎不可能系统地实现。通常需要直接介入代码以修复错误。如果游戏从一开始就处于糟糕状态,那么在没有编程知识的情况下修复它会更加困难,因为缺乏视觉反馈。如果无法阅读代码,只能指出在游戏中可见的错误,但如果游戏无法运行,这种可能性就会消失。
在实验过程中,ChatGPT经常将问题拆分并将占位符插入代码中,而不更新实施。这对开发人员有益,但对最终用户来说,游戏是不完整且无法使用的。
研究小组强调了ChatGPT在编程中的好处,包括为游戏提供新的变体或独特功能的灵感,将生成的代码用作起点,以及最终用户有时能够创建有趣的、有时可运行的游戏。
对于解决这些问题,研究小组建议尝试使用不同的编程语言、寻找更好的提示或更好地控制ChatGPT的语言,并改进将ChatGPT输出更有效地整合到开发环境中以节省时间。他们还提到,关于35个使用GPT-3.5和GPT-4通过ChatGPT生成的会话、代码、观察和结果的详细信息都可以在GitHub上找到。
这项研究揭示了使用AI编程工具来创建复杂游戏应用程序的挑战,尽管有潜力,但远没有达到一种轻松的程度。AI在编程领域的应用仍然需要进一步的研究和改进,以使非程序员能够更轻松地创建复杂的程序。