GPT-Engineer一夜爆火!一个提示生成整个代码库,GitHub狂飙19k星

来自:新智元

进NLP群—>加入NLP交流群

【导读】动嘴写代码指日可待!AI代码生成明星项目GPT-Engineer一夜爆火,短短几天狂揽19k星。

AutoGPT之后,又一个明星项目诞生了!

GPT-Engineer一夜之间火遍全网,GitHub项目已经狂揽19k星。

这是一个根据指示生成代码的AI工具,你只需要「动动嘴」,就能直接构建整个代码库。

20401de4ceba5e22a8c25db1d2f4f375.png

项目地址:https://github.com/AntonOsika/gpt-engineer

甚至,它能学习你的代码风格,短短几分钟就能让你搞定编码项目。

网友表示,我们离AGI又进了一步。

193312d06cfba8763bcf985636033f7f.png

程序猿又要被淘汰一波了。

92290b5ac2dea431705db4bbc7327d28.png

一句提示创建代码库


短短一周,GPT-Engineer在GitHub热度狂飙,引众多开发者围观。

究竟有多大的魅力?

项目主要作者Anton Osika在6月11日首次推出GPT-Engineer,并介绍了这款AI工具最大的特点:

- 一个提示就能生成一个代码库

- 提出需要澄清的问题

- 生成技术规范

- 编写所有必要代码

- 易于添加自己的推理步骤、修改和实验

- 项目开源

- 分分钟让你完成编码

e5608024ffdb0a0a830b2643ed75318f.png

畅想下,未来无需编写一行代码,开发者创建一个项目就像和好友聊天那样简单。

这不仅仅是一个项目,而是对未来的一瞥。

GPT-Engineer预示着未来软件创造将是一个人机共话的时代。

另外,根据GitHub介绍了GPT-Engineer主要项目理念:

- 简单易用,能够为用户提供价值;

- 灵活且易于添加新的「AI步骤」;

- 支持高级提示,可以记住用户反馈;

- 能快速在AI和人类之间快速切换;

- 所有计算都是「可恢复的」,并持久地保存到文件系统。

529c4d38328b667126fe44b8f552ce3f.gif

这个项目独特地方在于,开发者在文本文件中提交需求,GPT-Engineer不是无条件接受这些要求,而是提出许多详细的问题来让程序员澄清缺失的细节。

整个过程分两个阶段执行,即(1)需求细化促进阶段和(2)软件构建阶段。

第一阶段的步骤是:

用户提供的包含软件需求的文本文件被提交给GPT-Engineer,并被放置在OpenAI的GPT的初始消息中,同时还包括确定澄清问题的指示。

GPT-Engineer系统接收来自OpenAI GPT-4的反馈,了解哪些需求需要澄清,并回应提示用户澄清的问题。

GPT-Engineer会将这一过程循环,直到所有问题澄清到OpenAI GPT-4满意为止。

b03ba1edd133af6d084e4c1824dfef4b.png

第二阶段的步骤是:

前一阶段提炼的需求被打包,并与OpenAI的GPT指令(即系统提示)和另外一套GPT-Engineer希望看到的输出指令(即用户提示)一起包装起来。

GPT-Engineer收到来自OpenAI GPT-4的响应,然后…

GPT-Engineer为用户提供指令的软件项目创建源代码文件。

f5e19465309597aec427d20da9ea762d.png

贪吃蛇上手实操


说了这么多,不如上手试练一番。做一个多人可玩的贪吃蛇网页版游戏。

你只需要输入一些关键提示:

使用有MVC组件的Python后端,视图需要将状态流传输给所有玩家,用你所生成的代码直接直接运行html和js。

a8d1a9fd820530dd4010795f24badb31.png

对于这个游戏代码生成,GPT-Engineer就会让你继续回答一些细节的问题。

a9f63b14fdc13052dfed50c336c5f81c.png

游戏规则和机制:确切给出贪吃蛇如何移动、生长,以及与其他玩家如何交互,有没有什么power-ups,或者特殊游戏元素?

玩家互联:有多少玩家能加入游戏,是否有游戏大厅或者匹配?

游戏状态更新:多久更新一次游戏状态,多久把状态流传输给玩家,延迟率是?

用户界面:游戏界面长什么样?有任何特别设计需求和喜好吗?

游戏控制:玩家如何控制蛇?是否有其他控制或设置?

游戏结束状况:游戏如何结束?是否有评分体系或排行榜?

代码结构:对Python后端、HTML和JavaScript代码的组织有什么具体要求吗?

3ff7c0797d45e9c0b8e2640d751fc9b8.gif

当你简单回答完这些问题后,GPT-Engineer就根据这些信息,给出了能够实现目标所需的文件、类和方法的列表。

具体步骤唰唰唰地来了。

44692a90a1449f4182fba3e71a08aa38.gif

最后一款完美的贪吃蛇游戏代码就完成了。

a97dc1e4784b7a347df19a12b2440c36.gif

网友热评


网友表示,「澄清问题」是真正使GPT-Engineer脱颖而出的原因,因为修复生成代码中的问题往往比编写代码本身需要更多的时间。这似乎是朝着正确方向迈出的一大步。

a5822a469f54c03115f448c175c05135.png

真希望我上学时候就有这样利器了。

0969a91db66a26d7f0faf1d852987864.png

还有网友对GPT-Engineer和GPT-4的区别感到困惑。

8dcf4187aa043212944a739e58713065.png

然而,这个项目火虽火,一位网友测试了GPT-Engineer,给出了体验:

难设置

实际上不是创建文件,只是让你从命令行中运行一次(即不能调试)

与ChatGPT4的能力相当

865a126ebd05c1b6f56c87c55cceb5b7.png

c31f39351f8d9e86e5a332e56ab15da7.png

最后总结,理想很丰满,现实很骨感。

cd2181a89f8d2c646216bc6eb0a76085.png

还有网友对基准指出了问题,

gpt-engineer做了几个简单的编程任务,并将它们作为基准。它可以为你快速开发一个currency_converter,但不能正确编码一个pomodoro_timer(还没有!)

e091a180cdb3a61ebe0996495539f649.png

安装方法


要么选择稳定版(stable),要么选择开发版(development)。

对于稳定版本:

- pip install gpt-engineer

对于开发版:

- git clone git@github.com:AntonOsika/gpt-engineer.git

- cd gpt-engineer

- make install

- source venv/bin/activate

设置

使用GPT4访问权限的API密钥运行:

- export OPENAI_API_KEY=[your api key]

运行

创建一个空文件夹。如果在repo中,你可以运行:

- cp -r projects/example/ projects/my-new-project

- 在新文件夹中填写 main_prompt 文件

- 运行:gpt-engineer projects/my-new-project

结果

- 检查 projects/my-new-project/workspace 中生成的文件

限制

使用额外的思想链提示,如Reaffon,应该能够让其更可靠,并且不会错过主要提示中请求的功能。

特点

你可以通过编辑 identity 文件夹中的文件来指定AI智能体的「身份」。

编辑「身份」和改进 main_prompt 是让智能体记住项目之间的事情的方法。

steps.py 中的每个步骤都将其与GPT4的对话历史记录存储在logs文件夹中,并且可以使用 scripts/rerun_edited_message_logs.py 重新运行。

项目主要作者


Anton Osika

9716898bf1a3223fdd3121e251050569.png

Anton Osika是Depict.ai的首席技术官。这是一家创建机器学习推荐系统的初创公司,通过尖端的机器学习、计算机视觉和自然语言处理来理解产品。

就在4小时前,他还发了一条动态称,GPT-Engineer已经跃升到17k星,一点也没有减速迹象。

9ea10eccd0c8d45fe3a0d803f1111bbd.png

037cc6299490ddf1204742ca35ae5b0d.png

参考资料:

https://github.com/AntonOsika/gpt-engineer

https://twitter.com/rowancheung/status/1670829363137499137

https://twitter.com/antonosika/status/1667641038104674306

https://twitter.com/antonosika


进NLP群—>加入NLP交流群

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值