設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

GPT-Engineer 一夜爆火,一個(gè)提示生成整個(gè)代碼庫,GitHub 狂飆 19k 星

新智元 2023/6/22 18:01:06 責(zé)編:夢(mèng)澤

動(dòng)嘴寫代碼指日可待!AI 代碼生成明星項(xiàng)目 GPT-Engineer 一夜爆火,短短幾天狂攬 19k 星。

AutoGPT 之后,又一個(gè)明星項(xiàng)目誕生了!

GPT-Engineer 一夜之間火遍全網(wǎng),GitHub 項(xiàng)目已經(jīng)狂攬 19k 星。

這是一個(gè)根據(jù)指示生成代碼的 AI 工具,你只需要「動(dòng)動(dòng)嘴」,就能直接構(gòu)建整個(gè)代碼庫。

項(xiàng)目地址:https://github.com/ AntonOsika / gpt-engineer

甚至,它能學(xué)習(xí)你的代碼風(fēng)格,短短幾分鐘就能讓你搞定編碼項(xiàng)目。

網(wǎng)友表示,我們離 AGI 又進(jìn)了一步。

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

一句提示創(chuàng)建代碼庫

短短一周,GPT-Engineer 在 GitHub 熱度狂飆,引眾多開發(fā)者圍觀。

究竟有多大的魅力?

項(xiàng)目主要作者 Anton Osika 在 6 月 11 日首次推出 GPT-Engineer,并介紹了這款 AI 工具最大的特點(diǎn):

- 一個(gè)提示就能生成一個(gè)代碼庫

- 提出需要澄清的問題

- 生成技術(shù)規(guī)范

- 編寫所有必要代碼

- 易于添加自己的推理步驟、修改和實(shí)驗(yàn)

- 項(xiàng)目開源

- 分分鐘讓你完成編碼

暢想下,未來無需編寫一行代碼,開發(fā)者創(chuàng)建一個(gè)項(xiàng)目就像和好友聊天那樣簡單。

這不僅僅是一個(gè)項(xiàng)目,而是對(duì)未來的一瞥。

GPT-Engineer 預(yù)示著未來軟件創(chuàng)造將是一個(gè)人機(jī)共話的時(shí)代。

另外,根據(jù) GitHub 介紹了 GPT-Engineer 主要項(xiàng)目理念:

- 簡單易用,能夠?yàn)橛脩籼峁﹥r(jià)值;

- 靈活且易于添加新的「AI 步驟」;

- 支持高級(jí)提示,可以記住用戶反饋;

- 能快速在 AI 和人類之間快速切換;

- 所有計(jì)算都是「可恢復(fù)的」,并持久地保存到文件系統(tǒng)。

這個(gè)項(xiàng)目獨(dú)特地方在于,開發(fā)者在文本文件中提交需求,GPT-Engineer 不是無條件接受這些要求,而是提出許多詳細(xì)的問題來讓程序員澄清缺失的細(xì)節(jié)。

整個(gè)過程分兩個(gè)階段執(zhí)行,即(1)需求細(xì)化促進(jìn)階段和(2)軟件構(gòu)建階段。

第一階段的步驟是:

用戶提供的包含軟件需求的文本文件被提交給 GPT-Engineer,并被放置在 OpenAI 的 GPT 的初始消息中,同時(shí)還包括確定澄清問題的指示。

GPT-Engineer 系統(tǒng)接收來自 OpenAI GPT-4 的反饋,了解哪些需求需要澄清,并回應(yīng)提示用戶澄清的問題。

GPT-Engineer 會(huì)將這一過程循環(huán),直到所有問題澄清到 OpenAI GPT-4 滿意為止。

第二階段的步驟是:

前一階段提煉的需求被打包,并與 OpenAI 的 GPT 指令(即系統(tǒng)提示)和另外一套 GPT-Engineer 希望看到的輸出指令(即用戶提示)一起包裝起來。

GPT-Engineer 收到來自 OpenAI GPT-4 的響應(yīng),然后…

GPT-Engineer 為用戶提供指令的軟件項(xiàng)目創(chuàng)建源代碼文件。

貪吃蛇上手實(shí)操

說了這么多,不如上手試練一番。做一個(gè)多人可玩的貪吃蛇網(wǎng)頁版游戲。

你只需要輸入一些關(guān)鍵提示:

使用有 MVC 組件的 Python 后端,視圖需要將狀態(tài)流傳輸給所有玩家,用你所生成的代碼直接直接運(yùn)行 html 和 js。

對(duì)于這個(gè)游戲代碼生成,GPT-Engineer 就會(huì)讓你繼續(xù)回答一些細(xì)節(jié)的問題。

游戲規(guī)則和機(jī)制:確切給出貪吃蛇如何移動(dòng)、生長,以及與其他玩家如何交互,有沒有什么 power-ups,或者特殊游戲元素?

玩家互聯(lián):有多少玩家能加入游戲,是否有游戲大廳或者匹配?

游戲狀態(tài)更新:多久更新一次游戲狀態(tài),多久把狀態(tài)流傳輸給玩家,延遲率是?

用戶界面:游戲界面長什么樣?有任何特別設(shè)計(jì)需求和喜好嗎?

游戲控制:玩家如何控制蛇?是否有其他控制或設(shè)置?

游戲結(jié)束狀況:游戲如何結(jié)束?是否有評(píng)分體系或排行榜?

代碼結(jié)構(gòu):對(duì) Python 后端、HTML 和 JavaScript 代碼的組織有什么具體要求嗎?

當(dāng)你簡單回答完這些問題后,GPT-Engineer 就根據(jù)這些信息,給出了能夠?qū)崿F(xiàn)目標(biāo)所需的文件、類和方法的列表。

具體步驟唰唰唰地來了。

最后一款完美的貪吃蛇游戲代碼就完成了。

網(wǎng)友熱評(píng)

網(wǎng)友表示,「澄清問題」是真正使 GPT-Engineer 脫穎而出的原因,因?yàn)樾迯?fù)生成代碼中的問題往往比編寫代碼本身需要更多的時(shí)間。這似乎是朝著正確方向邁出的一大步。

真希望我上學(xué)時(shí)候就有這樣利器了。

還有網(wǎng)友對(duì) GPT-Engineer 和 GPT-4 的區(qū)別感到困惑。

然而,這個(gè)項(xiàng)目火雖火,一位網(wǎng)友測試了 GPT-Engineer,給出了體驗(yàn):

難設(shè)置

實(shí)際上不是創(chuàng)建文件,只是讓你從命令行中運(yùn)行一次(即不能調(diào)試)

與 ChatGPT4 的能力相當(dāng)

最后總結(jié),理想很豐滿,現(xiàn)實(shí)很骨感。

還有網(wǎng)友對(duì)基準(zhǔn)指出了問題,

gpt-engineer 做了幾個(gè)簡單的編程任務(wù),并將它們作為基準(zhǔn)。它可以為你快速開發(fā)一個(gè) currency_converter,但不能正確編碼一個(gè) pomodoro_timer(還沒有?。?/p>

安裝方法

要么選擇穩(wěn)定版(stable),要么選擇開發(fā)版(development)。

對(duì)于穩(wěn)定版本:

- pip install gpt-engineer

對(duì)于開發(fā)版:

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

- cd gpt-engineer

- make install

- source venv/bin/activate

設(shè)置

使用 GPT4 訪問權(quán)限的 API 密鑰運(yùn)行:

- export OPENAI_API_KEY=[your api key]

運(yùn)行

創(chuàng)建一個(gè)空文件夾。如果在 repo 中,你可以運(yùn)行:

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

- 在新文件夾中填寫 main_prompt 文件

- 運(yùn)行:gpt-engineer projects / my-new-project

結(jié)果

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

限制

使用額外的思想鏈提示,如 Reaffon,應(yīng)該能夠讓其更可靠,并且不會(huì)錯(cuò)過主要提示中請(qǐng)求的功能。

特點(diǎn)

你可以通過編輯 identity 文件夾中的文件來指定 AI 智能體的「身份」。

編輯「身份」和改進(jìn) main_prompt 是讓智能體記住項(xiàng)目之間的事情的方法。

steps.py 中的每個(gè)步驟都將其與 GPT4 的對(duì)話歷史記錄存儲(chǔ)在 logs 文件夾中,并且可以使用 scripts / rerun_edited_message_logs.py 重新運(yùn)行。

項(xiàng)目主要作者

Anton Osika

Anton Osika 是 Depict.ai 的首席技術(shù)官。這是一家創(chuàng)建機(jī)器學(xué)習(xí)推薦系統(tǒng)的初創(chuàng)公司,通過尖端的機(jī)器學(xué)習(xí)、計(jì)算機(jī)視覺和自然語言處理來理解產(chǎn)品。

就在 4 小時(shí)前,他還發(fā)了一條動(dòng)態(tài)稱,GPT-Engineer 已經(jīng)躍升到 17k 星,一點(diǎn)也沒有減速跡象。

參考資料:

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

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

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

  • https://twitter.com/antonosika

本文來自微信公眾號(hào):新智元 (ID:AI_era)

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:AutoGPT人工智能

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知