创建一个软件项目就像和好友聊天一样简单,你要做的就是提出需求,AI 就能帮你实现,而你不需要编写一行代码。星标量已经达到 34.7K左右(截止2023年7月01日)。
这个项目的名字叫 GPT-Engineer,和代码生成类工具差不多,其能根据提示生成代码库(codebase)。
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/Snipaste_2023-07-01_09-25-19.png)
项目地址: GPT-Engineer
根据项目作者 Anton Osika 说法,GPT-Engineer 具有以下特点:
- 可以根据一个提示生成代码库;
- 提出针对任务的详细问题;
- 生成的技术非常规范;
- 帮你编写必要的代码;
- 用户可以添加推理步骤,进行修改,还可以在此基础上进行实验;
- 项目是开源的;
- 让你在几分钟内完成编码。
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/1.png)
另外,项目主页介绍了 GPT-Engineer 理念:
- 简单易用;
- 灵活且易于添加新的 AI 步骤;
- 可以逐步构建用户体验:用户可以使用高级提示,此外,用户还可以将反馈输送给 AI,随着时间的推移,AI 能够记住这些反馈;
- 人类和 AI 可以快速的切换,相互接手对方的任务;
- 所有计算都是可恢复的,并持久化到文件系统中。
为了让大家更好的理解 GPT-Engineer,项目中还列举了贪吃蛇游戏的例子。完成这项任务大致分为三步:第一步,告诉 GPT-Engineer 你想让它完成的任务是什么;第二步,GPT-Engineer 会询问一些用户输入的比较模糊的问题,以便更明确任务需求;第三步,GPT-Engineer 开始构建运行代码。
首选你需要通过输入提示,让 GPT-Engineer 知道它自己要干什么,贪吃蛇游戏的提示大致为网页版多人可玩的贪吃蛇游戏;使用带有 MVC 组件的 Python 后端;请按照上述要求实现,必要时可以使用 html、js。
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/2.png)
然后,GPT-Engineer 对任务要求进行更细致的提问,比如蛇是如何移动的?有多少玩家可以加入这个游戏?游戏状态更新的频率应该是多少?对于 Python 后端、HTMl 和 JavaScript 代码的组织是否有任何特定的要求等等。
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/3.png)
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/4.png)
值得注意的是,GPT-Engineer 不是无条件地询问这些问题,而是采用 QA 的方式来确定需要澄清的缺失细节。
上述问题明确之后,GPT-Engineer 就能按照用户要求生成多人玩贪吃蛇游戏的代码:整个过程可概括为:(1)需求细化阶段和(2)软件构建阶段,这两个阶段的流程图如下所示:
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/5.png)
需求细化阶段
![GPT-Engineer|提需求即可生成整个代码库,已34.7K星](https://www.haocxy.com/wp-content/uploads/2023/07/6.png)
软件构建阶段
项目一出,网友不禁赞叹:GPT-Engineer 真是杀疯了,用户只需使用提示指定自己想要构建的内容,AI 智能体就会构建整个代码库。不过也有网友上手体验了一番,表示 GPT-Engineer 可以快速为用户开发一个 currency_converter,但是不能正确地编写一个 pomodoro_timer。
参考链接:https://www.linkedin.com/pulse/conversational-code-exploration-gpt-engineer-tom-glaser/