AI编程挑战: 一句提示实现贪吃蛇游戏程序

最近OpenAI的技术峰会中, 为了展示最新的o1模型的实力, OpenAI的工程师展示了用一句Prompt(提示词)自动生成贪吃蛇游戏代码。 令人影响深刻!


(图片由豆包AI生成)

那么其他的大模型人工智能是不是具有同样的智能呢? 我们用以下五种模型来测试, 四种是国内最著名或者广告最多的大语言模型AI, 一种是OpenAI 早期的版本 GPT-4o 的API模式, 采用了ambot.chat的访问入口。  

因为大语言模型AI的生产结果不确定性, 不保证重复测试会出现同样的结果。 

候选 AI 模型

豆包AI, 免费网页版

Kimi AI, 免费网页版

百度 文心一言, 免费网页版

阿里 通义千问, 免费网页版

GPT-4o, ambot.chat 网页版


测试提示词

对五个模型, 采用了统一的提示词, 包括准备, 正题, 补充提示。 

准备提示: 你知道贪吃蛇游戏吗?
正题提示: 你能给我编一个网页的贪吃蛇游戏吗?
补充提示: 根据正题答复的内容, 作出补充提示, 以获得单文件的代码。 

在测试中, 除了阿里的AI, 其他的AI都实现了生成单文件的html代码。 经过补充提示, 阿里的AI也完成了单文件的html代码。 


运行环境

操作系统    MacOS

浏览器    谷歌 Chrome, 微软 Edge

开发环境     MS VS code 免费版


测试分项

代码生成正确   
- 代码输入到VS code中, 无错误或警告

网页加载正确    
- html文件在浏览器中能正常打开

代码运行正确    
- html文件在浏览器中运行, 对上下左右按键有响应

游戏可操作性    
- 代码能产生一定难度的游戏, 允许普通人持续游戏30秒以上。 


测试结果

1. 代码生成正确    

除了阿里的通义千问, 其他的 AI 都能生成正确的代码。 

通义千问的错误: A 'viewport' meta element was not specified. 

通义千问无法参加后续的测试。 

2. 网页加载正确

除了豆包 AI, 其他剩余的候选 AI 都能正确加载代码。 

豆包的代码在浏览器中打开后, 显示空白的屏幕, 一直无法完成加载过程。 

豆包 AI 无法参加后续的测试。

3. 代码运行正确

除了 Kimi AI, 其他剩余的候选 AI 都能正确响应键盘输入。 

Kimi 的代码显示出奇怪的画面, 并且无法响应键盘输入。 

Kimi AI 无法参加后续的测试。 

4. 游戏可操作性

百度 AI 代码运行中, 贪吃蛇的速度太快, 1秒钟时间碰壁了, 无法持续30秒游戏。 

GPT-4o 的代码运行正常, 普通人可以持续30秒以上的游戏。 

百度 AI 无法完成本项测试。 


结论: 

在一句提示词完成贪吃蛇游戏代码的测试中, GPT-4o完胜。 


Snake-AI,这是一个用 C/C 语言编写的贪吃蛇游戏的人工智能。AI 的目的是让蛇尽可能的吃更多的食物,直到吃满整个地图。想参与这个项目,请查看todos。Demo使用方法编译与运行:$ make $ make run为了解详细使用方法, 请查看主函数main()算法介绍函数Snake.decideNext(): 计算蛇S1的下一个移动方向D计算从蛇S1的头部到达食物的最短路径P1。派一条与蛇S1完全一样的虚拟蛇S2沿路径P1吃掉食物。计算从蛇S2的头部到其尾部的最长路径P2。如果路径P2存在,将移动方向D设置为路径P1的第一个方向,否则进行步骤4。计算从蛇S1的头部到达其尾部的最长路径P3。如果P3存在,将移动方向D设置为路径P3的第一个方向,否则进行步骤5。将移动方向D设置为离食物最远的方向。函数Map.findMinPath(): 计算两个位置间的最短路径算法建立在BFS的基础上。为了使路径尽可能直,每次遍历邻接点时,在当前移动方向上的位置会被优先遍历。效果展示:(绿色区域为搜索算法扫描到的区域,红色区域为最后计算出的最短路径,每个位置上的数字表示了从起始位置开始到该位置的最短距离)函数Map.findMaxPath(): 计算两个位置间的最长路径算法建立在DFS与贪心算法的基础上。每次遍历邻接点时,离目标位置最远(使用曼哈顿距离估计)的位置将会被优先遍历到。另外,为了使路径尽可能直,如果两个位置到目标位置的距离相等,在当前移动方向上的位置将被优先遍历到。这个问题是一个NP完全问题,此算法得出的结果路径只是一个近似最长路径。效果展示:(绿色区域为搜索算法扫描到的区域,红色区域为最后计算出的最长路径,每个位置上的数字表示了从该位置开始到目标位置的估计距离) 标签:Snake
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值