Generative Agents: Interactive Simulacra of Human Behavior
原论文链接:Generative Agents: Interactive Simulacra of Human Behavior
通过生成式智能体,我们迈出了构建虚拟社会的第一步。
研究背景
随着大型语言模型(LLM)的发展,构建能够模拟人类行为的智能体成为可能。传统的非玩家角色(NPC)行为通常是预定义的,缺乏灵活性和真实感。本研究旨在探索如何利用LLM创建具备记忆、反思和规划能力的生成式智能体,以实现更逼真的人类行为模拟。
核心思想
论文提出了一种生成式智能体架构,结合LLM的语言生成能力和智能体的行为规划机制,使得智能体能够:
- 记录和存储自然语言形式的经历;
- 对过去的经历进行反思,形成高层次的见解;
- 基于当前环境和记忆,动态规划未来的行为。
通过这种方式,智能体能够在虚拟环境中表现出类似人类的日常行为和社交互动。
智能体架构
生成式智能体的架构包括以下关键组件:
1. 记忆模块(Memory and Retrieval)
智能体以自然语言的形式记录其经历,包括事件、对话和观察结果。这些记忆带有时间戳,并存储在一个可查询的数据库中。
例如,在咖啡店工作的伊莎贝拉-罗德里格斯(Isabella Rodriguez)可能会随着时间的推移积累以下观察结果:(1) 伊莎贝拉-罗德里格斯正在摆放糕点;(2) 玛丽亚-洛佩兹(Maria Lopez)正在一边喝咖啡一边准备化学考试;(3) 伊莎贝拉-罗德里格斯和玛丽亚-洛佩兹(Maria Lopez)正在谈论在霍布斯咖啡馆举办情人节派对的计划;(4) 冰箱是空的。
每个当前决定的事件通过以下三个数据进行计算,在语言模型的上下文窗口中排名靠前的记忆会被纳入提示。
使用 minmax 缩放法将Recency 、Importance 和Relevance 得分归一到 [0, 1] 的范围内。检索函数以三个元素的加权组合对所有记忆进行评分.
Recency 给最近访问过的记忆对象分配更高的分数,因此智能体的注意力范围内很可能还保留着刚才或今天上午发生的事件。它通过指数衰减函数实现
Importance 通过给智能体认为重要的记忆对象打高分,来区分平凡记忆和核心记忆。例如,在房间里吃早餐等平凡事件的重要性得分较低,而与另一半分手的事件的重要性得分较高。它通过让 LLM 直接输出一个整数分数来实现。
Relevance 是与当前情况相关的记忆对象赋予更高的分数。什么是相关性取决于对 “与什么相关?”的回答,因此我们将查询记忆作为相关性的条件。在实施过程中,使用语言模型生成每个记忆的文本描述的嵌入向量。然后,用记忆的嵌入向量和查询记忆的嵌入向量之间的余弦相似度来计算相关性。
2. 反思模块(Reflection)
当智能体只有原始的观察记忆时,很难进行归纳或推理。
智能体定期对其记忆进行反思,识别出关键事件和模式,形成更高层次的见解。这些反思有助于智能体在未来的行为中做出更合理的决策。
反思的第一步是让智能体根据最近的经历确定可以提出的问题,从而确定反思的内容。我们用智能体记忆流中最近的 100 条记录查询大型语言模型(例如,“克劳斯-穆勒正在阅读一本关于城市化的书”、“克劳斯-穆勒正在与图书管理员谈论他的研究项目”、“图书馆的桌子目前无人使用”),并提示语言模型:”仅根据上述信息,我们可以回答关于语句中的主题的 3 个最突出的高层次问题是什么?” 模型的回答会生成候选问题:例如,克劳斯-穆勒热衷于什么话题? 克劳斯-穆勒和玛丽亚-洛佩兹之间是什么关系?我们将这些生成的问题作为检索查询,并收集每个问题的相关记忆(包括其他思考)。然后,我们提示语言模型提取见解,并引用作为见解证据的特定记录。
最终,智能体生成反思树:树的叶节点代表基础观察,非叶节点代表思考,越往上越抽象,层次越高。
3. 行为规划与执行模块(Planning and Reacting)
智能体基于当前的环境状态和记忆,使用LLM生成行动计划。计划从高层次的日程安排开始,逐步细化到具体的行为步骤。
计划描述了智能体未来的行动序列,有助于使智能体的行为在一段时间内保持一致。与思考一样,计划也存储在记忆流中,并包含在检索过程中。这样,智能体在决定如何行动时,就能将观察、思考和计划一并考虑在内。如有需要,智能体可以中途改变计划。
智能体根据生成的计划执行行为,并将新的经历记录到记忆中,形成闭环。
智能体在一个行动循环中运行,在每个时间步骤中,它们都会感知周围的世界,这些感知到的观察结果会存储在它们的记忆流中。我们用这些观察结果提示语言模型,以决定智能体是继续执行现有计划,还是做出反应。
实验设置与结果
研究团队在一个受《模拟人生》启发的虚拟小镇中部署了25个生成式智能体。用户可以通过自然语言与这些智能体交互,观察其行为和社交互动。
实验结果显示,智能体能够:
- 自主生成日常行为,如起床、吃饭、工作等;
- 与其他智能体建立关系,进行对话;
- 组织和参与社交活动,如派对。
例如,当用户建议一个智能体举办情人节派对时,智能体会主动邀请其他智能体,协调时间和地点,并最终成功举办派对。
与现有方法的对比
传统的NPC行为通常是基于规则或有限状态机,缺乏灵活性和适应性。而生成式智能体利用LLM的语言生成能力和记忆、反思机制,实现了更真实和多样化的行为表现。
此外,生成式智能体的行为是可解释的,因为其决策过程基于可查询的自然语言记忆和反思结果。
总结
本研究展示了结合LLM和智能体架构,创建能够模拟人类行为的生成式智能体的可能性。这些智能体在虚拟环境中表现出逼真的个体行为和社交互动,具有广泛的应用前景,如虚拟助手、游戏NPC、社交模拟等。
未来的研究方向可能包括:
- 扩展智能体的数量和多样性,模拟更复杂的社会结构;
- 引入情感和价值观模型,增强智能体的个性化行为;
- 探索生成式智能体在教育、培训和心理健康等领域的应用。