简介
既AutoGPT之后,GPT家族又添GPT-Engineer新成员。如同其它GPT家族成员一样,它能够根据用户指令生成生成整个代码库、学习你的代码风格,易于调整、扩展。这下,程序员又要失业了。
简单易用、灵活、易于添加新的AI步骤是GPT-Engineer最强的优势。它可以逐步构建用户体验,用户也可以使用高级提示,然后将反馈输送回AI。随着时间的推移,AI能够记住这些反馈。
在使用 GPT-Engineer 时,你可以:
- 用一个提示词生成代码库
- 提出清晰的问题
- 生成技术规范
- 编写所有必要的代码
- 轻松添加自己的推理步骤、修改和实验
- 让你在几分钟内完成一个编码项目
一、实测:完成贪食蛇游戏项目
我们还实测了项目中列举的贪吃蛇游戏例子,现在描述出来,便于大家理解:完成任务大概分3步:
1)告诉GPT-Engineer你想让它完成什么;
2)GPT-Engineer询问用户输入模糊的问题,以便更明确任务需求;
3)GPT-Engineer开始构建运行代码。
- 输入提示
首先,你需要通过输入提示,让GPT-Engineer知道要干什么。贪吃蛇游戏的提示词大致为“网页版多人可玩的贪吃蛇游戏”。系统使用带有MVC组件的Python后端,必要时可以使用html、js。
- 提问
然后,GPT-Engineer对任务要求进行更细致的提问,比如蛇是如何移动的?有多少玩家可以加入这个游戏?游戏状态更新频率是多少?
值得注意的是,GPT-Engineer不是无条件地询问这些问题,而是采用QA方式确定需要澄清的缺失细节。
- 生成游戏代码
上述问题明确之后,GPT-Engineer 就能按照用户要求生成多人玩贪吃蛇游戏的代码。
二、记住代码:将互动历史存储在文件夹中
GitHub上不仅公开了从输入到输出的整个程序设置,还重点介绍了系统是如何记住代码的:
- 通过编辑文件夹中的文件指定AI标识。(identity)
- 编辑标识并改进,使AI代理“记住”项目。(main_prompt)
- 与GPT-4通信的历史都被记录存储在logs文件夹中
这项特殊的功能便于系统更容易了解你的喜好,在进行类似操作时提升生成代码的效率和准确度。
三、抛出问题:帮助用户弥补缺失细节
在这里,不得不提及项目的独特之处,即,当用户输入自己的需求时,GPT-Engineer并不会直接接受,而是会根据自己的判断提出问题,帮助程序员弥补缺失的细节。
该过程分为两个步骤进行:
(1)需求细化
(2)软件构建
- 在需求细化阶段:
1)用户提供的包含需求和问题指示的文件夹被提交给GPT-Engineer,并被放置在GPT初始消息中;
2)系统接收来自GPT-4的反馈,了解需要澄清的问题并提示用户;
3)GPT-Engineer将该过程循环,解释所有问题直到GPT-4“满意”为止。
- 在软件构建阶段:
1)上个阶段提炼出的用户需求被打包,并与GPT系统提示和另外一套用户输出指示一起包装起来。
2)GPT-Engineer接收来自GPT-4的响应,然后创建源代码文件,为用户提供指令。
四、项目理念:简单易用,为用户提供价值
GitHub上还着重强调了GPT-Engineer的主要项目理念:
- 简单易用,为用户提供价值;
你只需用谷歌登录,便可以轻易操作,输入提示词后就能生成整个代码库。
- 灵活且易于添加新的AI步骤;
- 支持高级提示,记住用户反馈;
系统能够自动记忆你的操作,并模仿你的风格完成整个项目;
- 在人类与人工智能之间快速切换;
- 所有计算可恢复并永久保存在文件系统中。
小结
AutoGPT之后,AI代码生成工具GPT-Engineer火爆全网。它作为一个根据指示生成代码的AI工具,能学习到不同的代码风格,短时间帮你搞定编码项目。全过程由需求细化促进阶段和软件构建阶段组成。项目最独特之处在于:开发者在文本文件中提交需求,GPT-Engineer不是无条件接受这些要求,而是提出许多详细的问题来让程序员澄清缺失的细节。
GPT-Engineer预示着未来创造软件将迈入人机交互新时代。此外,网友提到的dev-GPT、Auto-GPT、smol等也能够输出你想要的代码,你可以根据需求选择最适合的一款应用。未来,你将不用绞尽脑汁编写一行代码,创建项目就像和好友聊天那样简单。
参考资料:
1.https://github.com/AntonOsika/gpt-engineer
2.https://twitter.com/antonosika/status/1667641038104674306?cxt=HHwWhIC-kYms06QuAAAA