探索GPT-Engineer:使用AI构建HTML游戏的经验
在最近深入探索AI编码的过程中,我偶然发现了Matthew Berman的一个视频,他在视频中介绍了gpt-engineer项目。作为一个经验丰富的smol开发者,我感到很有兴趣,决定踏上这段新的旅程。
我开始探索的方式是模仿我之前和 smol 开发者一起使用的方法:构建一个简单的 Android 应用程序。然而,出乎我的意料,GPT-工程师一下子生成了所有的代码,绕过了必要的应用程序组件以确保功能的实现。这不是我预期的结果。
决定改变方向,我选择了一个更易管理的项目;一个足够复杂以推动我的极限,但对于AI来说却相对简单的项目。
挑战是在一个5x5的网格上,用户可以种植并收获蔬菜的小型HTML游戏。这是GPT-Garden。
白天和黑夜的循环会根据日期而变化(它模拟纽约的纬度)。在夜间,蔬菜不会生长,这给游戏带来了一个不错的节奏。顺便说一下,这是机器人的主意。
释放工程师
这个过程始于对应用程序的详细描述。接下来的步骤是请求ChatGPT(GPT-4)对其进行重构。以下是完整的提示。
GPT工程师令人印象深刻地开始提问。有些问题很相关,比如蔬菜在晚上是否会生长。有些问题则稍微不太相关,但从未脱离上下文。
然而,生成的代码使用的是Python,这不是我打算的。看来我忽略了GPT-Engineer的一个重要部分。
工程师哲学
使用GPT-Engineer,您可以定制您的智能工程师 - 从设置其技术偏好到决定它应遵循的编码规范。
在我的情况下,我移除了Python的偏好和类系统,并用以下内容进行了替换:
“你使用用户提供的技术。你尊重良好的架构实践,但保持简单。”
在我的第二次尝试中,GPT-Engineer提供了我所寻求的HTML、CSS和JavaScript。然而,它再次把一些功能推迟到“以后再说”,类似于移动应用程序的情况。
完成工作
鉴于GPT-Engineer打下的基础,我使用GPT-4来填补空缺,并独立测试和调试代码。总共仅用了约两个小时的时间,我就成功地制作出了游戏的MVP版本。
我使用了Recraft.ai来用蔬菜插图来说明游戏。
你可以在这里测试游戏。代码、提示和日志可以在我的Github上找到。
亮点与不足
我欣赏该系统的简单性和个性化潜力,特别是提问机制。它激发了创新思维,并确保在编码开始前解决了大多数细节问题。
然而,存在一些限制。GPT-4为了产生清晰易懂的代码,倾向于推迟一些任务。虽然这比GPT-3.5有了显著的改善,但在GPT-Engineer的一次性操作方面并不有效。这就是smol开发者的优势所在。然而,我对未来的改进仍然抱有希望:GPT-Engineer的改进。
我尝试了gpt3.5-16k模型,但结果远非最佳。它一次性展示所有问题,导致超时。
总结思考
尽管有一些障碍,我对这个项目的兴趣仍然很高。就像Smol和其他人工智能代理一样,GPT-Engineer代表了语言学习模型(LLMs)作为编码助手的令人兴奋的进化。
参考文献:
- GPT工程师
- 马修·伯曼的视频
- 重新制作