機器之心報道
編輯:陳萍
項目上線短短幾天,星标量已經接近 20k。
想象一下這樣一個場景:建立一個軟體項目就像和好友聊天一樣簡單,你要做的就是提出需求,AI 就能幫你實作,而你不需要編寫一行代碼。
近日,一個爆火 GitHub 的項目實作了這一願景,項目上線短短幾天,星标量已經達到 20k 左右。這個項目的名字叫 GPT-Engineer,和代碼生成類工具差不多,其能根據提示生成代碼庫(codebase)。就像前面講到的,隻要你提出合理的要求,GPT-Engineer 都能完成。
項目位址:https://github.com/AntonOsika/gpt-engineer
根據項目作者 Anton Osika 說法,GPT-Engineer 具有以下特點:
可以根據一個提示生成代碼庫;
提出針對任務的詳細問題;
生成的技術非正常範;
幫你編寫必要的代碼;
使用者可以添加推理步驟,進行修改,還可以在此基礎上進行實驗;
項目是開源的;
讓你在幾分鐘内完成編碼。
另外,項目首頁介紹了 GPT-Engineer 理念:
簡單易用;
靈活且易于添加新的 AI 步驟;
可以逐漸建構使用者體驗:使用者可以使用進階提示,此外,使用者還可以将回報輸送給 AI,随着時間的推移,AI 能夠記住這些回報;
人類和 AI 可以快速的切換,互相接手對方的任務;
所有計算都是可恢複的,并持久化到檔案系統中。
為了讓大家更好的了解 GPT-Engineer,項目中還列舉了貪吃蛇遊戲的例子。完成這項任務大緻分為三步:第一步,告訴 GPT-Engineer 你想讓它完成的任務是什麼;第二步,GPT-Engineer 會詢問一些使用者輸入的比較模糊的問題,以便更明确任務需求;第三步,GPT-Engineer 開始建構運作代碼。
首選你需要通過輸入提示,讓 GPT-Engineer 知道它自己要幹什麼,貪吃蛇遊戲的提示大緻為網頁版多人可玩的貪吃蛇遊戲;使用帶有 MVC 元件的 Python 後端;請按照上述要求實作,必要時可以使用 html、js。
然後,GPT-Engineer 對任務要求進行更細緻的提問,比如蛇是如何移動的?有多少玩家可以加入這個遊戲?遊戲狀态更新的頻率應該是多少?對于 Python 後端、HTMl 和 JavaScript 代碼的組織是否有任何特定的要求等等。
值得注意的是,GPT-Engineer 不是無條件地詢問這些問題,而是采用 QA 的方式來确定需要澄清的缺失細節。
上述問題明确之後,GPT-Engineer 就能按照使用者要求生成多人玩貪吃蛇遊戲的代碼:
整個過程可概括為:(1)需求細化階段和(2)軟體建構階段,這兩個階段的流程圖如下所示:
需求細化階段
軟體建構階段
項目一出,網友不禁贊歎:GPT-Engineer 真是殺瘋了,使用者隻需使用提示指定自己想要建構的内容,AI 智能體就會建構整個代碼庫。
不過也有網友上手體驗了一番,表示 GPT-Engineer 可以快速為使用者開發一個 currency_converter,但是不能正确地編寫一個 pomodoro_timer。
不管怎樣,想要嘗試的小夥伴,可以上手一試了。更多使用、配置資訊,可參考原項目。
參考連結:https://www.linkedin.com/pulse/conversational-code-exploration-gpt-engineer-tom-glaser/