📢 Gate廣場 #NERO发帖挑战# 秀觀點贏大獎活動火熱開啓!
Gate NERO生態周來襲!發帖秀出NERO項目洞察和活動實用攻略,瓜分30,000NERO!
💰️ 15位優質發帖用戶 * 2,000枚NERO每人
如何參與:
1️⃣ 調研NERO項目
對NERO的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與NERO生態周相關活動,並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
NERO熱門活動(帖文需附以下活動連結):
NERO Chain (NERO) 生態周:Gate 已上線 NERO 現貨交易,爲回饋平台用戶,HODLer Airdrop、Launchpool、CandyDrop、餘幣寶已上線 NERO,邀您體驗。參與攻略見公告:https://www.gate.com/announcements/article/46284
高質量帖子Tips:
教程越詳細、圖片越直觀、互動量越高,獲獎幾率越大!
市場見解獨到、真實參與經歷、有帶新互動者,評選將優先考慮。
帖子需原創,字數不少於250字,且需獲得至少3條有效互動
GameGPT進軍遊戲製作! 全自動生成遊戲,時間可縮百倍
原文來源:新智元
不得了了! GPT技能樹再成長,現在直接連遊戲都能做了!?
要知道,現在這個時代,已經不是過去那個做個小遊戲就可以搶佔市場的時代了。 如今的遊戲開發流程超級複雜。
先說人力,每個遊戲團隊的人員都是數以幾十甚至上百來記。 有人負責程式設計,有人負責美工,有人負責維護,等等。
每個遊戲還都有龐大的代碼庫、素材庫。
結果就是,開發一款優秀的遊戲大作,需要大量人員,投入大量時間才能完成。 而這個時間週期,往往要長達數年。
遊戲團隊開發一款能讓人們記住並且愛玩兒的大作,預算動不動就要超過1億美元。
要不然怎麼說,遊戲製作算是一種用愛發電呢。
現在,情況有變!
有研究人員開發了一個叫GameGPT的模型,GameGPT可以整合多個AI智慧體(agent)來自動完成遊戲開發中的部分流程。
而不同的智慧體各司其職,工作起來井井有條。
有智慧體負責審查遊戲的設計計劃,並進行相應的修改和調整; 有的負責將任務轉化為具體的代碼; 有的負責對上一步生成的代碼進行檢查,對運行結果進行審核; 還有智慧體負責驗證全部的工作是否符合初始預期。
研究人員表示,GameGPT可以簡化傳統遊戲開發流程中一些重複和死板的內容,比如代碼測試。
大量開發人員就可以從繁雜的檢驗工作中解放出來,專注於AI所不能替代的,更有挑戰性的設計環節。
當然,這篇論文目前還處於一個比較初步的階段。 目前還沒有任何具體的結果或者實驗來證明性能上的提高。
換句話說,還沒人用GameGPT真的開發過遊戲,這個模型目前還處在概念形成階段,在有具體的應用結果以及可量化的數據之前,咱也不好評估。
不過,總歸是個努力的方向。
有網友表示,人們對LLM的想法是有一定偏差的。 現在,研究人員有了一種能夠100%解決NLP問題的工具,而人們卻只關心如何實現某些工作流程的自動化。
舉例來說,想像一下如果遊戲世界對你的決定做出的反應,要比你在五分鐘內判斷出基於規則的硬編碼引擎的反應更正常,那將會是怎樣的情景。
再想像一下,如果一款遊戲能根據你做出的決定(比如在路上隨機屠殺你看到的敵人等),為你臨時安排一些支線任務,那會是什麼場景。
而開發者在創建這樣一個系統時,會使用提示工程來指導LLM,而不是編碼這些東西。
但是,這樣做的目的不是為了節省成本,而是為了在以前無法製作更多遊戲的階段製作遊戲(是不是有點拗口)。
遊戲GPT
首先,讓我們來看看GameGPT模型的大框架——全流程。
流程最左側是用戶端,向GameGPT輸入,然後開發經理和審核進行初步計劃。
接著,再把需求發送給開發工程師,以及遊戲引擎工程師,來執行具體的任務,生成代碼。
最後檢查一下有沒有遺漏,有的話發回左側,再跑一遍。 沒有就繼續向右,由負責檢查的工程師來進行testing。
**AI開發遊戲?? **
實際上,AI開發遊戲歷史的雛形也許可以追溯到更早。
AI在遊戲開發中的應用可以追溯到「星際爭霸」和「暗黑破壞神」等經典遊戲。 在當時,開發人員需要用AI系統來製作互動式的虛擬世界和角色。
而這些系統已成為此類互動平臺開發的標準配置。
早期和遊戲開發AI相關的研究強調控制非玩家的角色(NPC),而隨著自然語言處理(NLP)技術的發展,出現了一些利用深度學習技術生成關卡的開創性工作。
其中代表作是MarioGPT,它通過微調的GPT-2模型成功生成了「超級馬里奧兄弟」中的部分關卡。
而眾所周知,LLM又在今年取得了巨大進步,在NLP和計算機視覺(CV)領域都取得了不錯的成績。
我們知道,LLM的訓練是一個多階段的過程。 初始階段包括在廣泛的語料庫中訓練這些模型,促進基本語言能力的獲得。
隨後就是更重要的階段了,通過指令(instruction)生成各種NLP任務的數據對模型進行微調。 這種指令調整,增強了模型在廣泛應用中的泛化能力,從而可以讓LLM能夠在之前訓練中沒有執行過的任務中取得零誤差的性能。
最後,人類反饋強化學習(RLHF)階段保證了模型的結構完整性和可靠性。
此外,LLM的進步還促進了智慧體在軟體開發過程中的自動化。 許多研究都曾經把目光放在過這個問題上——如何開發一個基於LLM的智慧體,用來執行不同的任務。
比方說AutoGPT就曾經採用LLM智慧體來處理現實世界中的某些決策任務,而HuggingGPT則採用的是單個LLM作為一種控制器,來協調完成更加複雜的AI任務。
雖說這些方法都依賴於唯一的LLM智慧體,但它們都加入了一個審核者(就是上面流程圖裡的reviewer)來完善決策。
還是拿AutoGPT舉例,模型會從監督學習器中獲取一些輔助性的意見來提高自身性能,HuggingGPT也可以接入GPT-4,弄成一個reviewer,來評估決策的準確性。
還有一些別的例子,比方說MetaGPT就引入了一個多智慧體框架,可以用於各種軟體的自動化開發。
而回到我們今天討論的遊戲開發,我們要知道,與一般的軟體開發不同,遊戲開發行業的運作需要緊跟潮流,因此整個開發過程必須更加精確和簡潔,以達到最佳效率。
此外,在沒有幻覺和高精度的情況下,調整和使用單個LLM來服務於遊戲開發的整個開發週期是不切實際的,而且成本高昂。
因此,遊戲開發AI的框架需要多個reviewer參與,這樣就能有效緩解語言模型所固有的幻覺傾向。
研究人員還發現,在遊戲開發中,語言模型還有另一個局限性——冗餘性。 LLM在遊戲生成時,可能會生成不必要的、無資訊量的任務或代碼片段。
為了有效解決幻覺和冗餘問題,今天的主角——GameGPT戰略性地採用了多種方法來解決這個問題,包括雙重協作、通過內部詞彙庫進行指令調整以及代碼的解耦。
值得我們關注的是,雙重協作涉及到LLM與小型深度學習模型之間的互動,以及負責執行的智慧體與reviewer智慧體之間的協作參與。
研究人員表示,這些協同作用已被證明,在減輕GameGPT的幻覺和冗餘方面是有效的。
方法介紹
接下來,研究人員從全流程剖析一下GameGPT的創新。
首先,在遊戲設計階段,在收到使用者請求后,GameGPT的任務包括生成整個遊戲的開發計劃。 這個計劃階段是關鍵步驟之一,極大地影響了整個開發過程的無縫進展。
這個階段由基於LLM的遊戲開發經理策劃,先提出一個初始計劃,隨後分解成任務清單。
值得注意的是,由於LLM固有的局限性,這個初始計劃經常會出現幻覺,從而產生意想不到的任務,包括沒有資訊或不必要的冗餘任務。
為了應對這些問題,研究人員提出了四項可以減輕這些難題的策略,這四種策略相互正交的,並且可以分層執行以獲得更好的效果。
方案一:對傳入請求進行分類,目的是辨別遊戲的類型。 目前,GameGPT框架支援五種不同遊戲類型的開發,即:動作、策略、角色扮演、模擬和冒險。
對於每種類型,研究人員都會提供標準化的計劃範本,指導遊戲開發經理智慧體使用相關信息完成範本。
通過採用這種方法,冗餘任務的頻率顯著降低,同時減少了幻覺發生的可能性。
策略二:涉及計劃審查員智慧體的參與,這是另一個基於LLM的代理。 這個智慧體通過精心設計的進行操作,以此來對任務計劃進行全面的審查。
它的主要目標是盡量減少幻覺和冗餘的發生。 該智慧體評估計劃並提供反饋,旨在改進並提高其準確性、效率和簡潔性。
同時,這一部分生成的指令可以作為遊戲開發經理智慧體的新輸入,使任務計劃更加準確和完善。
策略三:通過專門的指令來調整遊戲開發經理智慧體的LLM本身,以便更好的進行遊戲開發層面的規劃。 這個微調過程的目的就是讓模型能生成一個既準確又簡潔的計劃。
為了方便起見,研究團隊收集並整合了一個內部數據集,其中包括許多輸入輸出的搭配。 雖然這些組合在長度或結構上不符合標準格式,但它們都圍繞著遊戲開發的要求。
通過採用這種方法,研究人員有效地彌合了LLM的一般語言能力與遊戲開發規劃能力之間的差距。
策略四:規劃階段的「安全網」。 在整個計劃過程中,遊戲開發經理智慧體始終在前端介面上與使用者分享中期結果,使其餘的智慧體能夠隨時瞭解正在進行的開發是什麼。
為了增強這一點,研究人員集成了一種互動式方法,使用戶能夠根據他們的期望積極地審查、糾正和增強計劃。 這種方法也保證了設計計劃和使用者需求之間的一致性。
說完了這些策略,我們來看看GameGPT的優越性。
因此,研究人員為了確保這一階段的準確性,創建了一個名為遊戲開發工程師的智慧體。 該智慧體由兩個模型共同組成,它們協同參與任務分類的流程。
這種協作方法提高了任務識別的準確性和有效性。 同時為了避免LLM幻覺的出現,提高任務分類的準確性,研究人員提供了遊戲開發中可能出現的任務類型清單。
為了對此進行更好的分類,他們採用了BERT模型。
BERT模型已經用內部數據集進行了完整的訓練。 該數據集包含針對遊戲開發任務所量身定製的各項數據條目。 而輸入則是從預定清單中繪製任務,而輸出對應的則是任務的指定類別。
任務類型和參數的審閱都在這個階段進行,引入一個叫做任務審閱人員的智慧體,主要負責每個類別的識別和參數是否合理。
評審(review)的過程包括審核任務類型是否在預定範圍內,是否是最適合的任務。 同時,它還會檢查參數清單,看看它是否與任務一致。
某些場景下,比如一些基於上下文任務資訊的,或者使用者請求無法推斷參數的情況,GameGPT採用了一種主動的方法來解決。
Reviewer通過在前端介面上啟動提示,並請求參數所需的附加資訊來吸引使用者注意。
這種交互方法的好處在於,即使在自動推理不足的情況下也能確保論證細節的完整性。
此外,還有另一個智慧體負責識別任務之間的依賴關係,並構造一個封裝這些關係的圖表。 在建立該圖之後,再採用演算法來對該圖進行遍歷篩選,由此產生一個確定的任務執行順序。
這個過程確保了模型可以按照任務的依賴關係有序和系統地執行,從而產生連貫和結構化的開發流程。
另一個問題是,使用LLM生成冗長的代碼會帶來更大的幻覺和出現冗餘的風險。 為了解決這個問題,研究人員引入了一種新的方法來解耦遊戲設計中出現的代碼,簡化了LLM的推理過程,從而極大程度減輕了幻覺和冗餘。
這個方法也並不難理解——研究人員會將預期的腳本劃分為許多長度更短的代碼片段,以供LLM處理。 這種解耦方法大大簡化了LLM的工作。
還有一種叫做上下文學習的有效推理方法,也可以有效地減輕幻覺。
此外,GameGPT中應用的另一種消除幻覺的技術,包括為每個任務生成一組K個代碼的代碼片段。
此外,研究人員還有一個內部的庫,包含為遊戲開發設計的大量代碼片段。 每一個代碼片段都由標籤器進行了註釋,提供了明確說明其預期目的的說明。
概括一下就是,為了讓代碼不冗餘,不幻覺,開發人員做了兩手準備,事前的和事中的。
同時,上面提到的這個庫也是對模型進行微調的寶貴資源。 代碼審查和改進在遊戲引擎智慧體生成代碼之後,代碼審查智慧體會對代碼庫進行徹底的審查和檢查。
該智慧體會進行全面的評估,努力找出任何可能會偏離原始請求的實例,或代碼中出現的意外幻覺。
經過徹底的審查,智慧體不僅能標記出潛在的差異,而且還能據此提供改進代碼的建議,最終產生更為合理的版本。
在審查過程之後,修改後的代碼以及智慧體的反饋都將通過前端介面與遊戲引擎工程師智慧體和用戶共用。 如果用戶認為有必要,可以直接通過前端介面提供代碼修改建議。
之後這些建議會繼續傳遞給代碼審查智慧體,它會進行評估,並有選擇性的合併這些建議,從而進一步生成一種協作和反覆運算的方法來增強代碼。
最後,一旦代碼生成完畢,該乾的也都幹完了,責任就落到了遊戲引擎測試智慧體的身上,由這個智慧體來負責執行生成的代碼。
在這一階段,該智慧體還會遵循在前一階段所制定的執行順序。
具體的執行過程包括將每個單獨任務的代碼發送到遊戲引擎,進行執行,並在執行期間持續跟蹤,生成日誌。
在完成執行序列中指定的所有任務后,智慧體會合併整個執行過程中生成的所有日誌。
最終,這種編譯生成了一個簡潔而全面的摘要,再通過前端介面呈現給使用者。
此外,測試工程師智慧體還會識別並報告在執行過程中觀察到的任何回溯情況的出現。 這些回溯會作為關鍵的指示器,指示AI對執行流程或代碼進行更進一步的調整,使整個過程得以細化,並有助於生成一個完美的最終產品。
最後,再來看下多個代理同時工作的框架公式:
首先,在GameGPT中,每個代理都有一個私有的記憶系統,並且它們可以訪問共用的公共內容,以獲取必要的資訊來指導其決策過程。
對於時間步長為t的代理i來說,這一過程可表示為:
由於遊戲開發行業的特殊性和大語言模型的局限性,在GameGPT中,具有不同角色的多個代理的存在至關重要。
鑒於遊戲開發週期通常長達數月,如果只依賴一個擁有全面記憶和上下文資訊的單個代理,語言模型(包括LLM)的效率將大打折扣。
而隨著時間的推移,專案變得越來越複雜,這種方法也會帶來可擴展性方面的挑戰。 此外,考慮到LLM所處理的標記數量的限制,在大型遊戲開發專案中使用具有全面記憶體的單獨代理並不實用。
還有,在LLMs中觀察到的幻覺和冗餘等固有問題凸顯了多個代理之間協作的重要性,尤其是那些具有批判性角色的代理。
這種協作對於減輕LLM幻覺和冗餘帶來的挑戰意義重大。
因此,GameGPT才利用一系列不同的角色來促進其運作,包括整個遊戲開發周期的職責。
這些角色包括上文提到的遊戲內容設計師、遊戲開發經理、計劃審核員、遊戲開發工程師、任務審核員,還有遊戲引擎工程師、代碼審核員和遊戲引擎測試工程師。
在整個遊戲開發過程中,每個角色都承擔著不同的任務。
參考資料: