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

【导读】动嘴写代码指日可待!ai代码生成明星项目gpt-engineer一夜爆火,短短几天狂揽19k星。
autogpt之后,又一个明星项目诞生了!
gpt-engineer一夜之间火遍全网,github项目已经狂揽19k星。
这是一个根据指示生成代码的ai工具,你只需要「动动嘴」,就能直接构建整个代码库。
项目地址:https://github.com/antonosika/gpt-engineer
甚至,它能学习你的代码风格,短短几分钟就能让你搞定编码项目。
网友表示,我们离agi又进了一步。
程序猿又要被淘汰一波了。
一句提示创建代码库
短短一周,gpt-engineer在github热度狂飙,引众多开发者围观。
究竟有多大的魅力?
项目主要作者anton osika在6月11日首次推出gpt-engineer,并介绍了这款ai工具最大的特点:
- 一个提示就能生成一个代码库 - 提出需要澄清的问题 - 生成技术规范 - 编写所有必要代码 - 易于添加自己的推理步骤、修改和实验 - 项目开源
- 分分钟让你完成编码
畅想下,未来无需编写一行代码,开发者创建一个项目就像和好友聊天那样简单。
这不仅仅是一个项目,而是对未来的一瞥。
gpt-engineer预示着未来软件创造将是一个人机共话的时代。
另外,根据github介绍了gpt-engineer主要项目理念:
- 简单易用,能够为用户提供价值; - 灵活且易于添加新的「ai步骤」; - 支持高级提示,可以记住用户反馈; - 能快速在ai和人类之间快速切换;
- 所有计算都是「可恢复的」,并持久地保存到文件系统。
这个项目独特地方在于,开发者在文本文件中提交需求,gpt-engineer不是无条件接受这些要求,而是提出许多详细的问题来让程序员澄清缺失的细节。
整个过程分两个阶段执行,即(1)需求细化促进阶段和(2)软件构建阶段。
第一阶段的步骤是:
用户提供的包含软件需求的文本文件被提交给gpt-engineer,并被放置在openai的gpt的初始消息中,同时还包括确定澄清问题的指示。
gpt-engineer系统接收来自openai gpt-4的反馈,了解哪些需求需要澄清,并回应提示用户澄清的问题。
gpt-engineer会将这一过程循环,直到所有问题澄清到openai gpt-4满意为止。
第二阶段的步骤是:
前一阶段提炼的需求被打包,并与openai的gpt指令(即系统提示)和另外一套gpt-engineer希望看到的输出指令(即用户提示)一起包装起来。
gpt-engineer收到来自openai gpt-4的响应,然后…
gpt-engineer为用户提供指令的软件项目创建源代码文件。
贪吃蛇上手实操
说了这么多,不如上手试练一番。做一个多人可玩的贪吃蛇网页版游戏。
你只需要输入一些关键提示:
使用有mvc组件的python后端,视图需要将状态流传输给所有玩家,用你所生成的代码直接直接运行html和js。
对于这个游戏代码生成,gpt-engineer就会让你继续回答一些细节的问题。
游戏规则和机制:确切给出贪吃蛇如何移动、生长,以及与其他玩家如何交互,有没有什么power-ups,或者特殊游戏元素?
玩家互联:有多少玩家能加入游戏,是否有游戏大厅或者匹配?
游戏状态更新:多久更新一次游戏状态,多久把状态流传输给玩家,延迟率是?
用户界面:游戏界面长什么样?有任何特别设计需求和喜好吗?
游戏控制:玩家如何控制蛇?是否有其他控制或设置?
游戏结束状况:游戏如何结束?是否有评分体系或排行榜?
代码结构:对python后端、html和javascript代码的组织有什么具体要求吗?
当你简单回答完这些问题后,gpt-engineer就根据这些信息,给出了能够实现目标所需的文件、类和方法的列表。
具体步骤唰唰唰地来了。
最后一款完美的贪吃蛇游戏代码就完成了。
网友热评
网友表示,「澄清问题」是真正使gpt-engineer脱颖而出的原因,因为修复生成代码中的问题往往比编写代码本身需要更多的时间。这似乎是朝着正确方向迈出的一大步。
真希望我上学时候就有这样利器了。
还有网友对gpt-engineer和gpt-4的区别感到困惑。
然而,这个项目火虽火,一位网友测试了gpt-engineer,给出了体验:
难设置
实际上不是创建文件,只是让你从命令行中运行一次(即不能调试)
与chatgpt4的能力相当
最后总结,理想很丰满,现实很骨感。
还有网友对基准指出了问题,
gpt-engineer做了几个简单的编程任务,并将它们作为基准。它可以为你快速开发一个currency_converter,但不能正确编码一个pomodoro_timer(还没有!)
安装方法
要么选择稳定版(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
anton osika是depict.ai的首席技术官。这是一家创建机器学习推荐系统的初创公司,通过尖端的机器学习、计算机视觉和自然语言处理来理解产品。
就在4小时前,他还发了一条动态称,gpt-engineer已经跃升到17k星,一点也没有减速迹象。

快门保护电路中“反应迅捷”的振动传感器
为新iPhone8开路?Apple申请实体店面无线充电专利!
OpenAI将推出GPT Store,供用户销售及分享基于GPT的聊天机器人
不同的环境下对电机会有什么影响呢?
车联网大数据驱动智能汽车发展
GPT-Engineer一夜爆火!一个提示生成整个代码库,GitHub狂飙19k星
[组图]电阻、电容的识别
心理学大数据是AI应用领域的独角兽?
聚焦黄氏定律:NVIDIA 首席科学家 Bill Dally 介绍推动 GPU 性能提升的关键因素
绿芯工业级ArmourDrive系列固态硬盘开始出货 可耐受从-40℃到85℃的温度范围
小米MAX2什么时候上市?小米MAX2最新消息:取其精华去其糟粕,较小米MAX大升级
Nginx架构介绍 Nginx服务器模型分析
说说Face ID,说说刷脸技术
怎样解读我国传感器行业的现状
中国工业机器人聚合效应初显产业链逐渐形成
微流控离子泵可直接将抑制癫痫的药物分子泵入大脑
UVLED固化机与传统UV汞灯的区别有哪些呢?
iphone8什么时候上市?iphone8的黑科技,这些手机竟然用上了!
物联网对体育界产生的影响
为什么使用减速器代替电机转速来控制机器人关节运动?
s