跳转至

Generative Agents Introduction

如果我们以AGI作为最终的目标,那么在承担最终智慧能力的角色上,将发展处两个不同的流派:

  • Embodied AI,无论是虚拟的还是实体的,最终目的在于做到和人类一样
  • Generative Agents,类似黑客帝国中的虚拟人、西部世界中的智能NPC

我选用Generative Agents这个词,源自Joon Sung Park博士在2023年发表的一个智能NPC小镇时的研究《Generative Agents: Interactive Simulacra of Human Behavior》,以和过去传统人工设定行为模式的智能NPC作以区分。

本篇综述文章将以Joon Sung Park在今年8月刚刚作为博士毕业的答辩论文为楔子,整理Generative Agents的前世今生。Joon在Stanford 24Fall开设了一门叫做《CS 222: AI Agents and Simulations》的新课程,在课件中,Joon直言不讳地讲出了自己的愿景:

A world simulator of 8 billions.

这不仅是Joon的愿景,也是许多虚拟世界爱好者、游戏制作者、影视剧作者们的共同心愿。黑客帝国、数码宝贝……一个又一个关于虚拟世界的电影,展现了人们在这一方向上的美好幻想。我想,虚拟世界体现了一个人们对美好的幻想,因为人们知道现实是不美好的、不够理想的,因而才渴望在虚拟的世界中打造出“一个理想的世界”。

相关背景

虚拟世界的历史

人类对虚拟世界的探索由来已久,从早期的文字MUD到现代的3D开放世界,这一领域经历了数十年的演变:

  • The Sims(模拟人生,2000):Maxis开发的生活模拟游戏,是虚拟人物行为模拟的里程碑作品。玩家为虚拟角色设定需求和性格,角色会根据预设规则自主行动。然而,Sims中的NPC行为本质上是基于有限状态机和需求驱动的规则系统,缺乏真正的"理解"和"创造"能力
  • Second Life(第二人生,2003):Linden Lab开发的在线虚拟世界,用户可以创建虚拟化身并在其中社交、交易、建造。它展示了虚拟世界的社会性潜力,但其中的NPC仍然是脚本驱动的
  • 元宇宙概念(2021-2022):Meta(Facebook)推动的元宇宙浪潮让虚拟世界再次成为热点。然而,当时的技术尚不足以支撑真正智能的虚拟居民

传统NPC行为建模方法

在Generative Agents之前,游戏和模拟中的NPC行为主要依赖以下方法:

  • 有限状态机(FSM):NPC在预定义的状态之间切换(如巡逻→追击→攻击),行为模式固定且可预测
  • 行为树(Behavior Tree):更灵活的决策结构,但仍需手动设计所有可能的行为分支
  • 效用系统(Utility System):基于效用函数为每个行动打分,选择得分最高的行动
  • GOAP(Goal-Oriented Action Planning):基于目标的规划系统,能自动搜索达成目标的行动序列

这些方法的共同局限在于:NPC的行为空间受限于开发者预先设定的规则和模式,无法产生真正意义上的涌现行为。Generative Agents的突破性贡献在于,它用大语言模型替代了这些手工规则,使虚拟角色能够基于经验进行"思考"和"决策"。


Cognitive架构

Joon Sung Park等人在论文《Generative Agents: Interactive Simulacra of Human Behavior》中提出了一套完整的认知架构,由三个核心模块组成:

Memory Stream(记忆流)

Memory Stream是整个架构的基础,它以自然语言条目的形式记录Agent的所有经历。每条记忆包含以下属性:

  • 描述(Description):对事件的自然语言描述,如"Isabella Rodriguez正在咖啡店为情人节派对做布置"
  • 创建时间(Creation Timestamp):记忆产生的时间
  • 最近访问时间(Last Access Timestamp):记忆最后一次被检索的时间

Memory Stream的设计理念是:Agent的所有感知(观察到的事件、与他人的对话、自己的行动)都以统一的格式存入记忆流,形成一个不断增长的经验数据库。

Retrieval(检索机制)

当Agent需要做出决策时,它不可能回顾所有历史记忆——这既不现实也不必要。检索机制负责从Memory Stream中提取最相关的记忆。检索的评分基于三个维度:

  • 时效性(Recency):越近期的记忆得分越高,使用指数衰减函数
  • 重要性(Importance):对记忆的重要程度进行1-10的评分(由LLM判断)。日常琐事(如吃早餐)得分低,重大事件(如分手、获得新工作)得分高
  • 相关性(Relevance):记忆内容与当前情境的语义相似度,通过embedding向量的余弦相似度计算

最终检索分数 = \(\alpha_{\text{recency}} \cdot \text{recency} + \alpha_{\text{importance}} \cdot \text{importance} + \alpha_{\text{relevance}} \cdot \text{relevance}\)

Reflection(反思机制)

如果Agent只是简单地存储和检索原始观察,它将缺乏对经验的高层次理解。Reflection模块周期性地对积累的记忆进行抽象和归纳,生成更高层次的洞察:

  1. 触发条件:当Agent的重要性分数累计超过阈值时,触发反思过程
  2. 生成反思问题:基于最近的记忆,让LLM生成若干值得深思的问题(如"Isabella Rodriguez最近的主要关注点是什么?")
  3. 产出反思结论:从Memory Stream中检索相关记忆,基于这些证据生成高层次的推断(如"Isabella Rodriguez对社区建设充满热情")
  4. 存回记忆流:反思结论本身也作为新的记忆条目存入Memory Stream,且具有较高的重要性分数

反思机制使Agent能够从具体事实中抽象出一般性的信念和态度,这正是人类认知中从经验到知识的升华过程。


Simulations

Smallville实验

Joon Sung Park团队构建了一个名为Smallville的沙盒环境来验证Generative Agents的能力。Smallville是一个类似《模拟人生》的小镇,包含咖啡店、公园、住宅、学校等场所。

实验设置:

  • 25个Generative Agents:每个Agent有独立的身份背景(如"Isabella Rodriguez是Hobbs Cafe的老板,热衷于让社区变得更加美好")
  • 模拟周期:持续两天的虚拟生活
  • 交互方式:Agent自主地规划日程、在镇中移动、与他人对话、形成关系

涌现行为案例

实验中观察到了多个令人惊叹的涌现行为——这些行为并非预先编程,而是Agent基于记忆和推理自然产生的:

  • 信息扩散:当一个Agent告诉另一个Agent关于情人节派对的消息时,这个消息通过Agent之间的对话逐渐在整个社区中传播开来
  • 社交关系演化:两个此前不认识的Agent在多次偶遇和对话后,逐渐建立了友谊
  • 协调行为:多个Agent在没有中央协调的情况下,自发组织了情人节派对的筹备工作——有人负责布置场地,有人负责邀请朋友
  • 日程调整:Agent会根据新获得的信息调整自己的日程(例如得知派对时间后,修改当天的计划以便参加)

评估方法

论文采用了多种评估方式来验证Generative Agents的行为可信度:

  • 人类评估:让人类评估者判断Agent的行为是否"像人类一样"合理
  • 消融实验(Ablation Study):分别移除记忆检索、反思、规划等模块,观察行为质量的下降程度。实验表明,移除任何一个模块都会显著降低行为的可信度
  • 涌现行为分析:定性分析Agent群体中出现的协调行为和社会动态

构建

技术栈

构建一个Generative Agents系统需要以下核心技术组件:

  • 大语言模型(LLM):作为Agent的"大脑",负责生成行动计划、对话内容和反思。原论文使用ChatGPT (GPT-3.5-turbo),当前可使用GPT-4、Claude等更强大的模型
  • 记忆系统: - 使用向量数据库(如ChromaDB、FAISS)存储记忆的embedding表示 - 实现基于recency-importance-relevance的三维检索算法 - 支持反思记忆的生成和存储
  • 环境接口: - 定义虚拟世界的地图、场所和物品 - 实现Agent的移动、交互和感知逻辑 - 管理时间推进和事件触发
  • Agent调度器:协调多个Agent的并发行动和交互

构建挑战

在实际构建Generative Agents系统时,面临以下主要挑战:

  • 成本问题:每个Agent的每次决策都需要调用LLM,25个Agent运行两天的模拟消耗了数千次API调用,成本极高
  • 延迟问题:LLM的推理延迟使得实时模拟难以实现,需要在响应速度和行为质量之间权衡
  • 记忆管理:随着模拟时间的增长,Memory Stream会不断膨胀,检索效率和相关性维护成为挑战
  • 行为一致性:确保Agent的长期行为与其设定的性格和背景保持一致,避免"人设崩塌"
  • 规模化:从25个Agent扩展到Joon所期望的"80亿人模拟器",在架构和算力上都面临巨大挑战
  • 评估困难:缺乏标准化的指标来衡量虚拟Agent行为的"真实感"和"合理性"

价值和意义

Joon对于Generative Agents的价值和意义讨论主要在于社会角度。


评论 #