斯坦福「AI小镇」:25个智能体自主生活两天,自发组织了一场情人节派对


本文来自斯坦福大学 Joon Sung Park 等人的工作,合作者包括 Google Research 和 Google DeepMind 的研究者。他们提出了「生成式智能体」(Generative Agents)——一类能够模拟可信人类行为的计算智能体,并在一个名为 Smallville 的沙盒小镇中部署了 25 个这样的智能体。

这些智能体每天醒来、做早餐、上班,艺术家画画、作家写作。它们会对彼此产生看法,主动发起对话,记住过去几天发生的事,并据此规划第二天的行动。实验中最令人印象深刻的场景是:研究者只给了其中一个人「想办一场情人节派对」的初始意图,两天后,智能体们自发完成了邀请、装饰、邀约,甚至有人主动约了暗恋对象一起赴会。

论文发表在 UIST 2023,获得了最佳论文奖。

论文链接:https://arxiv.org/abs/2304.03442

从一个根本问题出发:怎样让虚拟角色「活得像个人」

创造可信的虚拟角色(Believable Agents)是游戏和交互系统领域一个长期存在的目标。从 The Sims 到各种开放世界游戏,人们一直希望其中的 NPC 能够像真人一样,根据自身经历做出合理的决定,对环境变化做出可信的反应。

然而,人类行为空间太过庞大和复杂。过去几十年,社区尝试了多种技术路线。规则驱动的方法(有限状态机、行为树)至今仍是主流——比如《质量效应》和《模拟人生》系列就靠手工编写的行为脚本驱动角色。这种方法直观可控,但在开放世界中,不可能穷举所有可能的交互场景,角色的行为也就无法真正反映其交互经历的后果。

强化学习在 Starcraft、Dota 2 等对抗性游戏中取得了超人表现,但这些游戏有明确定义的奖励信号。开放世界没有这样的信号,RL 的成功经验难以迁移。

早期认知架构(如 SOAR、ACT-R)曾尝试构建通用智能体的基础设施:维护短期和长期记忆,在感知-规划-执行的循环中运行。但这些系统的行为空间受限于手工编写的程序性知识,无法自发探索新的行为方式。换句话说,它们只能做你事先想得到的事。

大语言模型带来了新的可能性。LLM 的训练数据中编码了大量人类行为模式,给定一个恰当的上下文提示,它可以生成相当可信的行为。但问题在于,现有方法大多是「一阶提示」(first-order prompting)——只考虑当前环境,不考虑智能体的长期经历。而一个可信的角色需要基于自己过去几天甚至几周的体验来决定当下该做什么,这不是单次提示能解决的。

针对这一挑战,本文提出了一个完整的智能体架构,让 LLM 不只是做单次推理,而是持续地记忆、反思和规划。

核心架构:记忆流、反思和规划的三位一体

生成式智能体的架构围绕三个核心模块构建。一切的基础是「记忆流」(Memory Stream)——一个用自然语言记录智能体全部经历的数据库。每条记录包含描述文本、创建时间和最近访问时间。

最基础的记忆类型是观察(Observation),即智能体直接感知到的事件。比如咖啡店店员 Isabella 可能有这样的观察:「Isabella 正在摆放糕点」「Maria 正在一边喝咖啡一边复习化学考试」「冰箱空了」。这些观察不断积累,很快就会超出 LLM 上下文窗口的容量。

记忆检索:不只是最近发生的事

所以,关键在于怎么从海量记忆中检索出当前最相关的那些。研究者设计了三个维度的评分机制:

  • 时效性(Recency):最近访问过的记忆获得更高权重,用指数衰减函数建模(衰减系数 0.995)
  • 重要性(Importance):让 LLM 对每条记忆打 1-10 分,区分日常琐事和关键事件——「刷牙」可能得 2 分,「表白」得 8 分
  • 相关性(Relevance):用 LLM 生成记忆的嵌入向量,计算与当前查询的余弦相似度

三个分数归一化后加权求和,选出排名最高的一批记忆传入 LLM。这个设计看起来简洁,但效果显著:它让 Isabella 在被问到「你最近热衷于什么」时,不会像简单摘要那样回答一些空泛的话题,而是能具体说出自己热衷于让人们感到欢迎和包容、策划活动营造氛围,比如那场情人节派对。

记忆流架构图,展示了观察、反思和规划的检索过程

反思:从经历中抽象出更高层的认知

仅有原始观察记忆是不够的。论文给出了一个很能说明问题的例子:Klaus 被问到「如果你只能选一个人共度一小时,你会选谁?」如果只依赖观察记忆,他会选择互动频率最高的 Wolfgang——但他俩只是在宿舍走廊擦肩而过,并没有深入交流。更合理的答案应该是 Maria,因为 Klaus 花了大量时间做研究项目,而 Maria 也在认真做自己的研究,两人有共同的学术兴趣。

要做出这种判断,智能体需要从大量观察中抽象出「Klaus 热衷于研究」这样的高层认知。这就是「反思」(Reflection)模块的作用。

反思是第二种记忆类型,比观察更抽象、更高层。触发条件是最近一系列事件的重要性分数之和超过阈值(实现中设为 150)。实践中,每个智能体每天大概会反思 2-3 次。

生成反思分三步:先用最近 100 条记忆让 LLM 提出 3 个值得深思的问题(比如「Klaus 对什么话题充满热情?」),然后用这些问题作为查询检索相关记忆,最后让 LLM 从检索结果中提炼洞察,并标注依据。比如:「Klaus 致力于他的城市绅士化研究(基于记录 1、2、8、15)。」

因为反思也是记忆,它也可以被后续的反思引用。这样一来,就形成了一棵「反思树」:叶子节点是原始观察,越往上越抽象。

Klaus 的反思树,展示了从观察到高层自我认知的递归综合过程

规划:从一天的大纲到每分钟的细节

第三个模块是规划(Planning)。为什么需要显式的规划?因为如果只让 LLM 根据当前情境逐时刻决定行为,Klaus 会在 12:00 吃午饭,12:30 再吃一次,1:00 还要吃——每一步都「合理」,但串起来完全不合理。

规划的生成是自顶向下的递归过程。首先用智能体的身份描述和前一天的经历,让 LLM 生成当天的大致日程(5-8 个时间块)。然后把这个日程递归细化:先拆成小时级别的动作,再拆成 5-15 分钟级别的细节。

计划也不是一成不变的。在每个时间步,智能体感知环境后,LLM 会判断当前观察是否需要做出反应。如果 Eddy 的父亲 John 看到 Eddy 在花园散步,系统会判断这是一个值得互动的场景,重新生成 John 从那一刻起的计划,并触发父子对话。

对话的生成同样基于记忆:John 发起对话时,系统检索他对 Eddy 的记忆和当前情境,生成他的发言;Eddy 收到对话后,同样检索自己的相关记忆,生成回应。这个过程持续进行,直到某一方决定结束对话。

Smallville:一个 25 人的虚拟小镇

这个架构被实例化为一个类似《模拟人生》的沙盒环境——Smallville。小镇有咖啡馆、酒吧、公园、学校、宿舍、房屋和商店,每个空间都定义了子区域和物品(比如厨房里有灶台,卧室里有书桌)。

25 个智能体各有一段自然语言的初始描述,定义了它们的身份、职业和人际关系。以 John Lin 为例:

John Lin 是 Willow Market 药店的店主……他和妻子 Mei Lin(大学教授)以及儿子 Eddy Lin(音乐理论专业的学生)住在一起……John 和邻居 Sam Moore 认识几年了,觉得他是个好人……John 和 Tom Moreno 是同事,也是朋友,喜欢一起讨论本地政治。

这些分号分隔的短句成为每个智能体的初始记忆。从这里出发,智能体们开始自主生活。

论文详细记录了 John Lin 一个典型的早晨:早上 7 点起床,刷牙、洗澡、换衣服、吃早餐、看新闻。8 点儿子 Eddy 起来,父子简短交谈——Eddy 说自己在做一个音乐作曲作业,玩得很开心。不久妻子 Mei 起来,问 John 儿子的情况。John 回忆起刚才的对话,转述给 Mei。这些对话都不是预先编写的,而是由架构基于各自的记忆实时生成的。

John Lin 一个早晨的生活轨迹

用户也可以介入这个世界。比如在 Isabella 做早餐时把灶台状态改为「着火」,她会在下一个时刻注意到,关掉灶台重新做饭。或者以某个智能体的「内心声音」发号施令——告诉 John「你要在选举中挑战 Sam」,John 就会决定参选,并把这件事告诉家人。

自发涌现的社交行为

论文最精彩的部分,是这些智能体之间涌现出的社交行为。

信息传播

Sam Moore 在杂货店遇到 Tom Moreno 时,告诉他自己在竞选镇长。当天晚些时候,Tom 和 John 聊天时又提到了这件事。逐渐地,Sam 的竞选成了小镇的热门话题,有人支持,有人还在观望。两天模拟结束时,知道 Sam 竞选的人数从 1 人增加到 8 人(从 4% 到 32%),且没有人是凭空「知道」的——每条信息的传播路径都能在记忆流中找到对应的对话记录。

关系形成

模拟开始时,Sam 不认识 Latoya Williams。一次在公园散步时偶遇,两人互相介绍。Latoya 提到自己在做一个摄影项目。后来再见面时,Sam 直接问「你的项目进展怎么样了?」——他记住了上次对话的内容。

网络密度(network density)从模拟开始时的 0.167 增长到结束时的 0.74。25 个智能体之间形成了密集的社交网络。

协同行动

实验中最具戏剧性的场景是情人节派对。Isabella 被初始化了一个意图:2 月 14 日下午 5 点到 7 点在 Hobbs Cafe 办一场情人节派对。

从这个单一的种子意图出发,Isabella 开始在遇到朋友和顾客时邀请他们。13 日下午她开始装饰咖啡馆。她的好友 Maria 主动帮忙装饰。Maria 的角色描述中提到她对 Klaus 有好感——那天晚上,Maria 邀请 Klaus 一起去参加派对,Klaus 欣然答应。

情人节当天,包括 Klaus 和 Maria 在内的 5 个智能体准时出现在 Hobbs Cafe。邀请、装饰、约会、到场——整个链条没有任何人工干预。

情人节派对的信息传播路径

研究者进一步调查了 7 个收到邀请但没来的人。其中 3 人给出了合理的理由——比如 Rajiv 说他太忙于准备画展了。另外 4 人虽然表示有兴趣,但最终没有在日程中做出安排。这些反应都不是预设的,而是架构基于各自记忆和当前计划自然生成的。

量化评估:每个组件都不可或缺

论文设计了两阶段评估。第一阶段是受控实验,用「面试」的方式逐个测试智能体的能力。研究者设计了 5 类共 25 个问题,分别考察自我认知、记忆检索、规划能力、反应能力和反思能力。100 名人类评估者对不同架构生成的回答进行排序。

对比了 5 个条件:完整架构、去掉反思、去掉反思和规划、完全去掉记忆流(相当于之前工作的水平),以及人类众包工作者代笔的回答。

结果很清晰。完整架构的 TrueSkill 评分最高(μ=29.89),每去掉一个组件,性能就下降一档。去掉反思后 μ=26.88,再去掉规划 μ=25.64,完全去掉记忆流 μ=21.21。完整架构相对于此前方法的效果量达到了 d=8.16——8 个标准差。

不同架构条件下的可信度评分对比

有意思的是,人类众包工作者的表现(μ=22.95)还不如完整架构,和完全去掉记忆流的基础线水平差不多。研究者对此的解释是,众包工作者虽然看了角色的生活回放,但很难深入理解一个虚拟角色的全部经历——而架构可以精确检索每一件事。

智能体会犯错

论文也诚实地报告了架构的失败模式。

记忆检索有时会失败。Tom 被问到情人节派对时说「我不确定是不是真的有派对,但我记得要在派对上和 Isabella 讨论选举」——他检索到了计划在派对上做的事,却没检索到听说派对这件事本身。确定要做的事和不确定事情是否存在,这种半吊子的记忆状态,看起来还挺像人类的。

有时智能体会对记忆进行「 embellishment」( embellishment)。Isabella 知道 Sam 竞选的事,但她额外加了一句「他明天要正式宣布」——这从未发生过。Yuriko 描述邻居 Adam Smith 时,说他是「写了《国富论》的经济学家」——这是 LLM 训练数据中同名历史人物的知识泄漏。

此外,由于底层模型经过指令微调(Instruction Tuning),角色的对话有时过于礼貌和正式。Mei 和丈夫 John 聊天时经常以正式的问候开场,最后说「很高兴和你聊天」。Isabella 在筹备派对时收到各种建议(莎士比亚朗诵会、专业社交活动),尽管这些和她自己的兴趣完全不符,她也很少拒绝。研究者观察到,久而久之,别人的兴趣会逐渐「侵蚀」她自己的兴趣——被问到是否喜欢英国文学时,她热情地回答「是的」。

这些都不是小问题,但它们指向的更像是底层模型的局限,而非架构本身的设计缺陷。

限制与未来方向

25 个智能体模拟两天的游戏时间,需要数千美元的 token 费用和数天的运行时间。这是 2023 年的数字,今天随着模型成本下降和推理速度提升,这个瓶颈已经有所缓解,但对于大规模模拟来说仍然是挑战。

评估方面,受控实验的时间尺度较短(两天),众包工作者也不代表最佳人类表现。更长期的模拟和更严格的基准测试是未来需要的。

安全性方面,论文提出了几个值得关注的风险:用户可能与智能体形成拟社会关系(parasocial relationship);生成的内容可能被滥用于深度伪造和定向说服;开发者可能过度依赖智能体替代真实用户研究。对此,论文建议智能体应明确披露其计算实体的身份,平台应维护审计日志,且智能体只能辅助而非替代真实人类在设计和研究中的角色。

总结

这篇论文的核心贡献可以归纳为以下几点:

  • 提出了「生成式智能体」的概念和完整架构,通过记忆流、反思和规划三个模块,让 LLM 驱动的智能体能够基于长期经历产生可信行为
  • 设计了结合时效性、重要性和相关性的记忆检索机制,以及递归式的反思生成和自顶向下的层次化规划
  • 在 Smallville 沙盒环境中展示了 25 个智能体的涌现社交行为:信息传播、关系形成和协同行动
  • 通过受控消融实验证明了每个架构组件的贡献,完整架构比此前方法高出 8 个标准差

回到那个情人节派对的故事。研究者只给了 Isabella 一个念头,25 个智能体就自己把这件事办成了。没有脚本,没有预设路径,全是涌现。这大概就是这篇论文最让人兴奋的地方——它证明了,给 LLM 装上记忆和反思的能力,一群虚拟角色就能自发地活出自己的故事。