📢 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团队发现这个框架,为大家提供一种新的潜在的架构选择。