機(jī)器之心報(bào)道
(資料圖片僅供參考)
編輯:陳萍
想象一下這樣一個(gè)場景:創(chuàng)建一個(gè)軟件項(xiàng)目就像和好友聊天一樣簡單,你要做的就是提出需求,AI 就能幫你實(shí)現(xiàn),而你不需要編寫一行代碼。
近日,一個(gè)爆火 GitHub 的項(xiàng)目實(shí)現(xiàn)了這一愿景,項(xiàng)目上線短短幾天,星標(biāo)量已經(jīng)達(dá)到 20k 左右。這個(gè)項(xiàng)目的名字叫 GPT-Engineer,和代碼生成類工具差不多,其能根據(jù)提示生成代碼庫(codebase)。就像前面講到的,只要你提出合理的要求,GPT-Engineer 都能完成。
項(xiàng)目地址:https://github.com/AntonOsika/gpt-engineer
根據(jù)項(xiàng)目作者 Anton Osika 說法,GPT-Engineer 具有以下特點(diǎn):
可以根據(jù)一個(gè)提示生成代碼庫;
提出針對任務(wù)的詳細(xì)問題;
生成的技術(shù)非常規(guī)范;
幫你編寫必要的代碼;
用戶可以添加推理步驟,進(jìn)行修改,還可以在此基礎(chǔ)上進(jìn)行實(shí)驗(yàn);
項(xiàng)目是開源的;
讓你在幾分鐘內(nèi)完成編碼。
另外,項(xiàng)目主頁介紹了 GPT-Engineer 理念:
簡單易用;
靈活且易于添加新的 AI 步驟;
可以逐步構(gòu)建用戶體驗(yàn):用戶可以使用高級提示,此外,用戶還可以將反饋輸送給 AI,隨著時(shí)間的推移,AI 能夠記住這些反饋;
人類和 AI 可以快速的切換,相互接手對方的任務(wù);
所有計(jì)算都是可恢復(fù)的,并持久化到文件系統(tǒng)中。
為了讓大家更好的理解 GPT-Engineer,項(xiàng)目中還列舉了貪吃蛇游戲的例子。完成這項(xiàng)任務(wù)大致分為三步:第一步,告訴 GPT-Engineer 你想讓它完成的任務(wù)是什么;第二步,GPT-Engineer 會(huì)詢問一些用戶輸入的比較模糊的問題,以便更明確任務(wù)需求;第三步,GPT-Engineer 開始構(gòu)建運(yùn)行代碼。
首選你需要通過輸入提示,讓 GPT-Engineer 知道它自己要干什么,貪吃蛇游戲的提示大致為網(wǎng)頁版多人可玩的貪吃蛇游戲;使用帶有 MVC 組件的 Python 后端;請按照上述要求實(shí)現(xiàn),必要時(shí)可以使用 html、js。
然后,GPT-Engineer 對任務(wù)要求進(jìn)行更細(xì)致的提問,比如蛇是如何移動(dòng)的?有多少玩家可以加入這個(gè)游戲?游戲狀態(tài)更新的頻率應(yīng)該是多少?對于 Python 后端、HTMl 和 JavaScript 代碼的組織是否有任何特定的要求等等。
值得注意的是,GPT-Engineer 不是無條件地詢問這些問題,而是采用 QA 的方式來確定需要澄清的缺失細(xì)節(jié)。
上述問題明確之后,GPT-Engineer 就能按照用戶要求生成多人玩貪吃蛇游戲的代碼:
整個(gè)過程可概括為:(1)需求細(xì)化階段和(2)軟件構(gòu)建階段,這兩個(gè)階段的流程圖如下所示:
需求細(xì)化階段
軟件構(gòu)建階段
項(xiàng)目一出,網(wǎng)友不禁贊嘆:GPT-Engineer 真是殺瘋了,用戶只需使用提示指定自己想要構(gòu)建的內(nèi)容,AI 智能體就會(huì)構(gòu)建整個(gè)代碼庫。
不過也有網(wǎng)友上手體驗(yàn)了一番,表示 GPT-Engineer 可以快速為用戶開發(fā)一個(gè) currency_converter,但是不能正確地編寫一個(gè) pomodoro_timer。
不管怎樣,想要嘗試的小伙伴,可以上手一試了。更多使用、配置信息,可參考原項(xiàng)目。
參考鏈接:https://www.linkedin.com/pulse/conversational-code-exploration-gpt-engineer-tom-glaser/