📢 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條有效互動
Project89: 一個面向遊戲開發的高性能模塊化AI Agent框架
解析Project89:一個模塊化、高性能的新一代AI Agent框架設計
Project89提出了一種全新的方式來設計Agent框架,這是一個針對遊戲開發的高性能Agent框架,與當前使用的Agent框架相比更加模塊化且性能更優。
本文將詳細介紹Project89中的高性能Agent框架。
一、爲什麼要用ECS來設計Agent框架
ECS(Entity-Component-System)是一種在遊戲開發和模擬系統中常用的架構模式。它將數據與邏輯徹底分離,以便在大規模可擴展場景下高效管理各種實體及其行爲:
Entity(實體):僅是一個ID(數字或字符串),不包含任何數據或邏輯。可以根據需要,掛載不同的組件來賦予它各種屬性或能力。
Component(組件):用來存儲實體的具體數據或狀態。
System(系統):負責執行與某些組件相關的邏輯。
以一個具體的Agent行動的例子來理解這套體系:在ArgOS中將每一個Agent看成一個Entity,它可以註冊不同的組件,比如:
System的工作流程:
感知到自己面前有一個武器,調用Perception System的執行函數來更新這個Agent Entity的Perception Component裏的數據
然後觸發Memory System,同時調用Perception Component和Memory Component,把感知到的數據通過Memory持久化到數據庫
接着Action System再調用Memory Component和Action Component,從記憶中獲取週邊環境的信息,然後最終執行相應的動作。
得到一個每個Component數據都被更新的Updated Agent Entity
所以可以看到System主要負責定義要對哪些Component執行對應的處理邏輯。
在project89中,一個世界裏充斥着各種類型的Agent,有些Agent除了基礎能力還有做計劃的能力。
二、ArgOS System架構
ArgOS中爲了讓Agent可以進行更加深度的思考執行更復雜的任務,設計了很多Component以及多個System。
ArgOS中將System分爲"三種層次"(ConsciousnessLevel):
有意識(CONSCIOUS)系統
潛意識(SUBCONSCIOUS)系統
無意識(UNCONSCIOUS)系統
ArgOS中各個system之間的關係極其復雜,主要包括:
PerceptionSystem:負責從外界或其他實體那裏收集"刺激"(stimuli),並將其更新到代理(Agent)的Perception組件中。
ExperienceSystem:將PerceptionSystem收集到的Stimuli轉換爲更加抽象的"體驗"(Experience)。
ThinkingSystem:智能體自身的"思考"系統。從Memory、Perception等組件裏提取當前狀態,通過generateThought(...)與LLM/規則邏輯生成"思考結果"(ThoughtResult)。
ActionSystem:若某個Agent的Action.pendingAction非空,則通過runtime.getActionManager().executeAction(...)來真正執行動作。
GoalPlanningSystem:週期性地評估Goal.current[eid]列表中目標的進度,或檢查外部/自身記憶是否出現重大變化。
PlanningSystem:對"已有目標"(Goal.current[eid])生成或更新Plan(執行計劃)。
RoomSystem:處理與房間(Room)相關的更新。
CleanupSystem:定期查找並移除標記了Cleanup組件的實體。
通過這些系統的銜接,AI Agent就實現了: 感知環境變化(Perception) → 記錄或轉化爲內在經驗(Experience) → 自我思考並決策(Thinking) → 付諸行動(Action) → 動態調整目標與計劃(GoalPlanning + Planning) → 同步環境(Room) → 及時回收無用實體(Cleanup)
三、ArgOS整體架構解析
1. 核心架構分層
ArgOS的核心架構包括Entity、Component、System、Manager等層次。
2. 組件(Component)分類
在ECS中,每個實體(Entity)可擁有若幹組件(Component)。根據在系統中的性質和生命週期,大致可以將組件分爲以下幾類:
3. System架構
上文已詳細介紹。
4. Manager架構
除了Component和System之外,還需要資源管理者,比如如何訪問數據庫,當狀態更新有衝突怎麼處理等。主要包括:
這些Manager提供系統級功能,基本不主動"驅動"邏輯,而是被Systems或Runtime調用。
SimulationRuntime是所有Systems的"調度者",啓動或停止不同層級的系統循環;也在構造階段創建Managers並傳給各System使用。
5. 如何與數據庫進行交互
在ECS中,Systems是真正執行邏輯的地方,而數據庫讀寫可以通過一個"持久化管理器(PersistenceManager / DatabaseManager)"或"狀態管理器(StateManager)"來完成。大致流程如下:
四、架構創新點
開發過程中增加新功能不會對其他System有影響,可以很容易地添加新功能。
ECS架構的性能比傳統面向對象架構更強,更適合進行並發,在復雜的Defai場景下可能會有優勢,特別是在Agent做量化交易的場景。
將System分成有意識、潛意識和無意識來區分不同類型的System應該在多久後執行一次,是極其高明的設計。
總的來說,這是一個極其模塊化、性能優秀的框架,同時代碼質量高並且包含了很好的設計文檔。希望能有更多的遊戲團隊或Defai團隊發現這個框架,爲大家提供一種新的潛在的架構選擇。