论文翻译:《生成式智能体:人类行为的交互式模拟》(Generative Agents: Interactive Simulacra of Human Behavior)

Generative Agents: Interactive Simulacra of Human Behavior

  • 摘要
  • 关键词
  • 1. 引言
  • 2. 相关工作
    • 2.1人工智能交互(Human-AI Interaction)
    • 2.2 人类行为的可信代理( Believable Proxies of Human Behavior)
    • 2.3大型语言模型和人类行为(Large Language Models and Human Behavior)
  • 3. 生成代理的行为和互动
    • 3.1 代理角色和角色间的交流(Agent Avatar and Communication)
      • 3.1.1 代理角色之间的交流( Inter-Agent Communication)
      • 3.1.2 角色控制(User Controls)
    • 3.2 与环境的交互(Environmental Interaction)
    • 3.3 例子:生活中的一天
    • 3.4 突发的社会行为(Emergent Social Behaviors)
      • 3.4.1 信息扩散( Information Diffusion)
      • 3.4.2 关系记忆(Relationship memory)
      • 3.4.3 协调(Coordination)
  • 4.生成式智能体架构
    • 4.1 记忆和检索(Memory and Retrieval)
    • 4.2 反思(Reflection)
    • 4.3 规划和反应( Planning and Reacting)
      • 4.3.1 反应并更新计划(Reacting and Updating Plans)
      • 4.3.2 对话(Dialogue)
  • 5 沙箱环境的实现(SANDBOX ENVIRONMENT IMPLEMENTATION)
    • 5.1 从结构化的世界环境到自然语言,再回到结构化的世界环境。(From Structured World Environments to Natural Language, And Back Again)
  • 6. 控制评估( CONTROLLED EVALUATION)
    • 6.1 评价程序(Evaluation Procedure)
    • 6.2 条件(Conditions)
    • 6.3 人类评估(Human Evaluators)
    • 6.4 分析(Analysis)
    • 6.5 结果(Results)
      • 6.5.1 更优的完整的架构(The full architecture bests other conditions)
      • 6.5.2 生成式智能体记得,但会加以修饰(Generative agents remember, but with embellishments.)
      • 6.5.3 综合推理需要反思(Reflection is required for synthesis)
  • 7. 端到端评估( END-TO-END EVALUATION)
    • 7.1突发的社会行为(Emergent Social Behaviors)
      • 7.1.1 量度(Measurements)
      • 7.1.2 结果(Results)
    • 7.2 限制和错误(Boundaries and Errors)
  • 8. 讨论(DISCUSSION)
    • 8.1 生成式智能体的应用(Applications of Generative Agents)
    • 8.2 未来的工作和限制( Future Work and Limitations)
    • 8.3 伦理和社会影响(Ethics and Societal Impact)
  • 9. 总结
  • 引用
  • 附录A:架构优化
  • 附录B:生成式智能体采访问题
    • B.1 自我认知
    • B.2 记忆
    • B.3 计划
    • B.4 反应
    • B.5 反思

本文的一些名词:
生成代理:指的是利用人工智能的方法生成自然语言,图像,操作等的总称
生成式智能体:论文中引入的25个行为动作由人工智能模型生成的类智能体(角色)
在这里插入图片描述

图1:生成式智能体为交互式应用程序创建逼真的人类行为仿真。在这项工作中,我们使用生成式智能体将一个沙盘环境(类似于《模拟人生》)中的25个智能体进行了人口统计学的填充。用户可以观察和干预智能体的计划,分享新闻,建立关系并协调团体活动。

摘要

逼真的人类行为代理可以为从沉浸式环境到人际交往排练空间再到原型工具的交互式应用程序提供支持。本文介绍了生成式智能体——模拟逼真人类行为的计算机软件智能体。生成式智能体会起床,做早餐,去上班;艺术家绘画,作家写作;它们形成观点,注意到彼此,发起对话;它们回忆和反思过去的日子,同时计划着未来的行动。为了实现生成式智能体,我们描述了一种架构,它扩展了大型语言模型,使用自然语言存储智能体的完整经历记录,随着时间的推移,将这些记忆综合成更高层次的反思,并动态检索它们以规划行为。我们将生成式智能体引入一个受《模拟人生》启发的交互式沙盒环境中,让最终用户可以使用自然语言与25个小镇智能体进行交互。在评估中,这些生成式智能体产生了逼真的个体和新兴的社交行为:例如,从仅有一个用户指定的概念开始,智能体可以逐步扩展该概念并通过对话交流,形成自己独特的观点和行为。我们通过消融实验证明我们的智能体架构的组成部分——观察、规划和反思——每个都对智能体行为的真实性做出了重要贡献。通过将大型语言模型与计算机交互智能体融合,本文介绍了架构和交互模式,以实现逼真的人类行为模拟。

关键词

人工智能交互、智能体、生成式人工智能、大型语言模型。

1. 引言

我们如何构建一个反映逼真人类行为的交互式人工社会?从《模拟人生》这样的沙盒游戏到认知模型[21]和虚拟环境[9, 58]等应用程序,研究人员和实践者已经设想了计算机智能体,可以作为逼真的人类行为代理。在这些设想中,计算机智能体根据其过去的经验行事并对其环境做出逼真反应。这样的人类行为模拟可以在虚拟空间和社区中填充逼真的社会现象 [26, 79],训练人们如何处理罕见但困难的人际关系 [43, 51, 93],测试社会科学理论 [11, 45],为理论和可用性测试构建模型人类处理器 [21、38、50],为 ubiquitous computing 应用程序 [30] 和社交机器人 [9, 13] 提供动力,并支撑非可玩游戏角色 [58, 84],这些角色可以在开放世界中导航复杂的人际关系。

然而,人类行为的空间是广阔而复杂的[84,108]。尽管在可以模拟单个时间点上逼真人类行为的大型语言模型[17]方面取得了显著进展[38,79],但能够确保长期一致性的完全通用的智能体更适合使用架构,该架构可以随着时间的推移管理不断增长的记忆,同时处理在多个智能体之间展开的级联社会动态,以应对新的互动、冲突和事件的出现和消失。成功需要一种方法,可以在长时间内检索相关事件和互动,反思这些记忆以进行概括和推理,并应用这种推理来创建计划和反应,既可以在当下理解,也可以在智能体行为的长期轨迹中理解。

本文介绍了生成式智能体——利用生成模型模拟逼真人类行为的智能体,并展示它们产生了逼真的个体和新兴的群体行为。生成式智能体对自己、其他智能体和环境进行了各种推理,制定反映其特征和经验的每日计划,执行这些计划,在适当时候做出反应并重新规划;当最终用户改变他们的环境或用自然语言命令时,它们会做出响应。例如,当生成式智能体看到自己的早餐正在烧焦时,会关闭炉子,如果浴室正在被占用,它们会在外面等待,当它们遇到想要交谈的另一个智能体时,会停下来聊天。一个充满生成式智能体的社会,标志着新的关系形成、信息扩散和跨智能体的协调出现的新兴社会动态。

为了实现生成式智能体,我们描述了一个智能体架构,该架构使用大型语言模型存储、综合和应用相关记忆以生成逼真的行为。我们的架构包括三个主要组成部分。第一个是记忆流,一个长期记忆模块,以自然语言记录智能体的全面经历列表。检索模型将相关性、最近性和重要性结合起来,以展现需要用来指导智能体时刻行为的记录。第二个是反思,它将记忆合成为高层次的推理,使智能体能够在时间上得出关于自己和他人的结论,以更好地指导其行为。第三个是规划,它将这些结论和当前环境转化为高层次的行动计划,然后递归地转化为详细的行动和反应行为。这些反思和计划被反馈到记忆流中,以影响智能体未来的行为。

这个架构在多个领域都有应用前景,从角色扮演和社交原型到虚拟世界和游戏。在社交角色扮演场景(例如面试准备)中,用户可以安全地排练困难、充满冲突的对话。当原型化社交平台时,设计师可以超越临时角色,原型化随时间展开的动态、复杂的互动。在本文中,我们专注于创建受《模拟人生》等游戏启发的小型交互式智能体社区的能力。通过将我们的架构连接到ChatGPT大型语言模型[76],我们在游戏环境中展现了一个由25个智能体组成的小型社区。最终用户可以观察并与这些智能体进行交互。例如,如果最终用户或开发人员想让城镇举办游戏内情人节派对,传统的游戏环境需要手动编写数十个角色的行为脚本。我们证明,使用生成式智能体,仅仅告诉一个智能体她想要举办一个派对就足够了。尽管存在许多潜在的失败点——派对策划者必须记得告诉其他智能体有关派对的信息,参加者必须记得邀请,那些记得的人必须决定是否真的出现,以及其他可能的失败点——但我们环境中的智能体成功了。他们传播关于派对的消息,然后出现了,甚至有一个智能体向另一个智能体邀请参加派对,这一切都是由这个单一的用户生成的种子建议实现的。

我们进行了两项生成式智能体的评估:一项受控评估,测试智能体在孤立状态下是否产生逼真的个体行为;以及一项端到端评估,在两天的游戏时间内,生成式智能体以开放式方式相互交互,以了解它们的稳定性和新兴社会行为。在技术评估中,我们利用一种方法论机会,通过自然语言“面试”来评估智能体的知识和行为,以探究智能体准确地保持角色、记忆、规划、反应和反思的能力。我们比较了几种限制智能体访问记忆、反思和规划的消融方法。我们观察到,这些组成部分在这些面试任务中的强大表现都至关重要。在技术评估和端到端评估中,最常见的错误出现在智能体无法检索相关记忆、虚构了智能体记忆的修饰或从语言模型继承了过于正式的语言或行为时。

综上所述,本文提供了以下贡献:

• 生成式智能体是一种逼真的人类行为模拟,它们的行为是动态条件于智能体不断变化的经验和环境。
• 一种新颖的架构,使生成式智能体能够通过动态演变的情况记住、检索、反思、与其他智能体交互和规划。该架构利用大型语言模型的强大提示能力,并补充这些能力以支持更长期的智能体一致性、管理动态演变的记忆以及递归生成更多的智能体。
• 两项评估(一项受控评估和端到端评估),以建立架构组件的重要性的因果效应,并确定由于不当的记忆检索等原因引起的故障。
• 讨论生成式智能体在交互系统中的机会、道德和社会风险。我们认为,这些智能体应该进行调整,以减轻用户形成偏执社交关系的风险,记录以减轻源于深度伪造和定制的说服力的风险,并以补充而不是取代设计过程中的人类利益相关者的方式应用。

2. 相关工作

在本节中,我们反思了人工智能交互领域的先前文献,并将构建逼真的人类行为代理的议程置于其中。这个议程曾经被交互、游戏和人工智能社区誉为指引方向的北极星[9, 58, 84, 85],由于人类行为的复杂性[16, 108],它一直是具有挑战性的。我们综合这些研究,建议当适当的架构利用大型语言模型时,虽然大型语言模型本身并不足够,但它们开辟了一种新的角度来创建逼真的智能体。

2.1人工智能交互(Human-AI Interaction)

交互式人工智能系统旨在将人类的洞察力和能力与计算工具相结合,以增强用户的能力[3, 29]。长期以来,许多工作探索了允许用户交互指定模型行为的方法。例如,Crayons展示了交互式机器学习的早期愿景,使非专业用户能够训练分类器[29]。进一步的工作有助于阐明最终用户如何通过示例[33]和/或演示[31]向系统描述他们的分类目标。最近的工作将这些探索扩展到了深度学习[62]和基于提示的创作[49, 66, 106]。

与此同时,一系列持久的研究推进了人机交互中基于语言和代理的交互。如SHRDLU[103]和ELIZA[102]等开创性工作展示了自然语言与计算系统交互的机会和风险。随着研究的不断发展,自主代理人可以提供新的委派和交互隐喻[67],但人与代理人之间的委派界限仍在不断讨论和完善[46, 88, 89]。最近,这项技术已经足够稳定,使代理人可以通过自然语言在大型和复杂的在线社交环境中进行交互(例如[54])。自然语言交互提供了一种新颖的形式,可以扩展用户在诸如照片编辑[2, 34, 64]和代码编辑[87]等领域的能力。

我们将这些工作线程汇集起来,以展示我们现在可以创建代理人来代理人类行为,用自然语言与它们进行交互。通过这样做,这项工作重新打开了探讨认知模型(如GOMS和KLM[21, 22])、原型工具[79]和普适计算应用[25, 30, 100]等基础人机交互问题的大门。

2.2 人类行为的可信代理( Believable Proxies of Human Behavior)

先前的文献将可信度或可信代理描述为中心设计和工程目标。可信代理旨在提供生命的幻觉,并在它们似乎自主做出决策和行动的方式上呈现出现实主义的外观,类似于迪士尼电影中的角色[9, 95]。这些代理可以在类似我们居住的开放世界环境中进行感知和行动[9, 58],并努力表现出基于与用户或其他代理的社交互动的新兴行为,以成为我们行为的可信代理在个体和社区的假设模拟中[19, 35, 70]。历史上,这些代理是在智能游戏NPCs的背景下开发的[58, 84]。如果可能的话,创建拥有可信行为的NPC可以通过启用新兴叙事[7, 15, 48, 92]和与代理的社交互动来增强玩家在游戏和交互小说中的体验[110]。然而,更重要的是,游戏世界提供了越来越逼真的真实世界可供性的表示,正如Laird和van Lent在2001年所观察到的那样,这些模拟世界为可信代理的开发人员提供了易于访问的测试平台,以完善代理的认知能力,而无需担心在现实世界中实现机器人或从头开始创建模拟环境[58, 84]。

在过去的四十年中,出现了各种各样的方法来创建可信代理。然而,在实施中,这些方法通常简化了环境或代理行为的维度,以使工作更易于管理[16, 72]。基于规则的方法,如有限状态机[90, 96]和行为树[40, 53, 81],解决了人类创作代理行为的蛮力方法[70]。它们提供了一种简单的创建简单代理的方法,仍然是目前最主要的方法[68, 73, 109],甚至可以处理基本的社交互动,如Mass Effect[12]和The Sims[6]系列中所示的模拟游戏。然而,手动制作能够全面应对开放世界中可能的交互广度的行为是不可行的。这意味着所得到的代理行为可能无法完全代表它们交互的后果[69-71],也无法执行未在脚本中硬编码的新程序[90, 96]。另一方面,用于创建可信代理的流行学习方法,如强化学习,已通过让代理学习它们的行为来克服手动创作的挑战,并在最近几年的游戏中取得了超人类的表现,如AlphaStar for Starcraft [98]和OpenAI Five for Dota 2 [10]。然而,它们的成功主要发生在具有易于定义的奖励的对抗性游戏中,学习算法可以进行优化。它们尚未解决在开放世界中创建可信代理的挑战[39, 73, 90]。

由Newell开创的计算认知架构旨在构建支持全面认知功能的基础设施[75],它适合于可信代理最初的愿景。它们推动了一些最早的可信代理的例子。例如,Quakebot-SOAR[59]和ICARUS[24, 63]在第一人称射击游戏中生成NPC,而TacAir-SOAR[80]在空战训练模拟中生成飞行员。这些代理使用的架构不同(Quakebot和TacAir-SOAR依赖于SOAR[60],而ICARUS则依赖于自己的变体,受SOAR和ACT-R[5]启发),但它们共享相同的基本原则[61]。它们维护短期和长期记忆,用符号结构填充这些记忆,并在感知-计划-行动循环中运行,动态感知环境并将其与手动制作的行动程序之一匹配[57, 96]。使用认知架构创建的代理旨在适用于大多数,如果不是所有的开放世界情境,并展现出其时期的强健行为。然而,它们的行动空间仅限于手动制作的过程知识,它们没有提供一个机制,使代理能够被激励寻求新的行为。因此,这些代理主要部署在非开放世界情境,如第一人称射击游戏[24, 59]或块世界[63]。

如今,按照原始定义创建可信代理仍然是一个未解之谜[84, 108]。许多人已经前进,认为尽管创建可信代理的现有方法可能很麻烦且有限,但它们足以支持现有的游戏和交互[23, 74, 108]。我们的观点是,大型语言模型提供了重新审视这些问题的机会,前提是我们能够制定一种有效的架构,将记忆合成为可信行为。本文提供了向这样的架构迈进一步的步骤。

2.3大型语言模型和人类行为(Large Language Models and Human Behavior)

生成型代理利用大型语言模型来支持它们的行为。关键的观察是,大型语言模型对其训练数据中的广泛人类行为进行编码[14, 17]。如果给定一个狭义的上下文,这些模型可以用来生成可信行为。最近的研究已经证明了这种方法的有效性。例如,Social Simulacra使用大型语言模型生成用户,这些用户将出现在新的社交计算系统中,以原型制作它们的新兴社交动态[79]。这种方法使用了一个提示链[105, 106],以生成个人和他们在被原型化的系统中出现的行为的简短自然语言描述。其他实证研究已经复制了现有的社会科学研究[45]、政治调查[91]和生成合成数据[38]。

大型语言模型还被用来为用户生成交互式人类行为。例如,在游戏中,这些模型已被用于创建交互式小说[36]和文本冒险游戏[20]。由于它们能够生成和分解动作序列,大型语言模型还被用于规划机器人任务[47]。例如,当面临一个任务,比如拿起一瓶子,模型被提示将任务分解成较小的动作序列,比如前往放瓶子的桌子并拿起它。

我们认为,基于上述工作,大型语言模型可以成为创建可信代理的关键因素。现有的文献主要依赖于可以被视为使用少量提示的一级模板[37, 65]或连续思考提示[99]。这些模板能够有效地生成仅基于代理当前环境的行为(例如,如果给定一个帖子,一个巨魔会如何回应,如果有一个门,一个机器人需要采取什么行动进入房间)。然而,可信代理要求不仅在当前环境下进行条件化,还要在大量的过去经验基础上进行条件化,这在使用一级提示方面是不合适的(并且由于底层模型的有限上下文窗口,在今天仍然是不可能的)。最近的研究试图通过增加静态知识库和信息检索方案[52]或简单的总结方案[104]来超越一级提示。本文将这些思想延伸到一个代理架构,处理检索,其中过去的经验在每个时间步骤动态更新,并与代理的当前上下文和计划混合,这些计划可能会相互强化或相互矛盾。

3. 生成代理的行为和互动

在这里插入图片描述
图2:Smallville沙盒世界,带有标签的区域。根节点描述整个世界,子节点描述区域(例如房屋、咖啡馆、商店),叶节点描述对象(例如桌子、书架)。代理人会记住一个子图,反映他们所见过的世界部分,以他们看到的状态为准。

为了具体展示生成型代理的优势,我们将它们实例化为角色,出现在一个简单的沙盒世界中,这个世界类似于《模拟人生》[6]。这个基于精灵的沙盒游戏世界名为Smallville,营造了一个小镇环境。在本节中,我们将介绍Smallville中生成型代理的优势和交互,并描述它们在其中的行为。然后,在第4节中,我们将介绍支持这些优势和交互的生成型代理架构。在第5节中,我们将描述沙盒环境的实现以及代理与沙盒世界底层引擎的交互。

3.1 代理角色和角色间的交流(Agent Avatar and Communication)

Smallville中有25个独特的代理居民社区。每个代理都由一个简单的精灵形象代表。我们编写了一个自然语言段落来描述每个代理的身份,包括他们的职业和与其他代理的关系,作为种子记忆。例如,John Lin的描述如下:
在这里插入图片描述
John Lin是Willow市场和药店的一名药店店主,他热爱帮助人们。他总是在寻找让顾客获得药物更加便捷的方式;John Lin与妻子Mei Lin和儿子Eddy Lin一起生活,Mei Lin是一名大学教授,Eddy Lin正在学习音乐理论;John Lin非常爱他的家人;John Lin认识隔壁老夫妇Sam Moore和Jennifer Moore已经有几年了;John Lin认为Sam Moore是个善良友好的人;John Lin很熟悉他的邻居Yuriko Yamamoto;John Lin知道他的邻居Tamara Taylor和Carmen Ortiz,但没有见过他们;John Lin和Tom Moreno是Willows市场和药店的同事;John Lin和Tom Moreno是朋友,喜欢一起讨论当地政治;John Lin对Moreno家庭有一定的了解——丈夫Tom Moreno和妻子Jane Moreno。

每个以分号分隔的短语都被输入到代理的初始记忆中,作为模拟开始时的记忆。

3.1.1 代理角色之间的交流( Inter-Agent Communication)

代理通过它们的行动与世界互动,并通过自然语言与彼此互动。在沙盒引擎的每个时间步骤中,代理会输出一个自然语言语句,描述它们当前的行动,例如“Isabella Rodriguez正在写她的日记”、“Isabella Rodriguez正在查看她的电子邮件”、“Isabella Rodriguez正在和她的家人通电话”或“Isabella Rodriguez正在准备睡觉”。然后,这个语句被翻译成影响沙盒世界的具体动作。该动作在沙盒界面上显示为一组表情符号,提供了一个俯视图中行动的抽象表示。为了实现这一点,系统采用了一个语言模型将行动翻译成一组表情符号,出现在每个代理的话泡中。例如,“Isabella Rodriguez正在写她的日记”显示为📝,而“Isabella Rodriguez正在查看她的电子邮件”则显示为📧。通过点击代理人物,可以访问行动的完整自然语言描述。

代理角色之间使用完整的自然语言进行交流。代理知道他们所在区域内的其他代理,生成型代理架构决定他们是走过去还是进行对话。下面是一段代理Isabella Rodriguez和Tom Moreno之间关于即将到来的选举的对话示例:

Isabella: 我还在权衡利弊,但是我和Sam Moore讨论了选举。你对他有什么看法?
Tom: 说实话,我不喜欢Sam Moore。我认为他与社区脱节,不把我们的利益放在心上。

3.1.2 角色控制(User Controls)

运行此模拟的用户可以控制模拟并进行干预,可以通过对话与代理进行交流,也可以通过“内心声音”的形式向代理发出指令。

用户通过自然语言与代理进行交流,指定代理应该将他们视为什么样的角色。例如,如果用户指定自己是一名新闻“记者”,并询问即将到来的选举,“谁参加了竞选?”John角色会回答:

John: 我和我的朋友Yuriko、Tom一直在谈论即将到来的选举并讨论候选人Sam Moore。我们都同意投票支持他,因为我们喜欢他的政纲。

要直接命令其中一个角色,用户需要扮演代理的“内心声音”角色,这会使代理更有可能将该声明视为指令。例如,当用户以John的内心声音告诉他“你将在即将到来的选举中竞选对手是Sam”时,John决定参加选举并与妻子和儿子分享他的候选资格。

3.2 与环境的交互(Environmental Interaction)

Smallville拥有一个小村庄普遍具备的设施,包括咖啡馆、酒吧、公园、学校、宿舍、房屋和商店。它还定义了子区域和对象,使这些空间具有功能性,例如房子里的厨房和厨房里的炉子(图2)。所有作为代理人主要居住地的空间都配备了床、桌子、衣柜、架子、浴室和厨房3。

代理人在Smallville中移动,就像在简单的视频游戏中一样,进入和离开建筑物,导航地图,并接近其他代理人。代理人的移动由生成型代理架构和沙盒游戏引擎指导:当模型规定代理人将移动到一个位置时,我们会在Smallville环境中计算到目的地的步行路径,然后代理人开始移动。此外,用户还可以进入Smallville的沙盒世界,作为其中一个代理人操作。用户扮演的代理人可以是已经存在于世界中的代理人,例如Isabella和John,也可以是一个没有在Smallville中有过历史的外部访客。Smallville的居民将像对待彼此一样对待用户控制的代理人。他们认识它的存在,发起互动,并在形成对它的看法之前记住它的行为。

用户和代理人可以像在沙盒游戏The Sims中那样影响这个世界中的物体状态。例如,当代理人在睡觉时,床会被占用,当代理人用完材料做早餐时,冰箱会变空。最终用户还可以通过自然语言重写代理人周围物体的状态来重新塑造Smallville中代理人的环境。例如,在早上Isabella在做早餐时,用户可以通过输入指令来将厨房炉子的状态从“开启”更改为“着火”,如下所示:“<Isabella的公寓:厨房:炉子>正在燃烧。” Isabella会在下一刻注意到这一点,然后去关闭炉子并重新制作自己的早餐。同样,如果用户在Isabella进入浴室时将淋浴头的状态设置为“漏水”,她会从客厅拿出工具来修理漏水。

3.3 例子:生活中的一天

从单段描述开始,代理人开始计划他们的一天。随着时间在沙盒世界中流逝,他们的行为随着这些代理人彼此交互和与世界互动、建立记忆和关系以及协调联合活动而不断演变。
在这里插入图片描述
图3:一位生成式角色John Lin的一天。约翰早上6点左右醒来,完成他的早晨常规活动,包括刷牙、淋浴和吃早餐。他简短地与妻子Mei和儿子Eddy交流后,便出门开始他的工作日。

我们通过在代理人John Lin上演示生成型代理人的行为来跟踪系统输出的过程(图3)。在林家中,约翰是第一个在早上7点醒来的人。他刷牙、洗澡、穿衣服、吃早餐,并在客厅的餐桌上查看新闻。在早上8点,Eddy紧随其后,匆忙从床上起来准备上课。他追上约翰,就在他准备出门时:

约翰:早上好,Eddy。你睡得好吗?
Eddy:早上好,爸爸。是的,我睡得很好。
约翰:太好了。你今天在做什么?
Eddy:我正在为我的课程创作一首新的音乐作品。它要在本周交作业,所以我正在努力完成它。但我觉得做这个很有趣!
约翰:听起来很不错!

不久之后,Eddy出门了,梅醒来并加入了约翰的谈话。梅问起她的儿子,约翰回忆起他们刚刚的谈话:

梅:Eddy已经去上学了吗?
约翰:是的,他刚刚离开。他正在为他的课程创作一首音乐作品。
梅:哦,太棒了!告诉我详情。
约翰:我想他非常喜欢这个!他说他做这个很开心。
梅:太好了!我为他感到骄傲。

随着他们结束了谈话,梅和约翰开始准备。梅去教课并写研究论文,而约翰在上午9点前在Willow Market和Pharmacy开设他的药房柜台。

3.4 突发的社会行为(Emergent Social Behaviors)

通过彼此互动,Smallville中的生成型角色交换信息、建立新的关系并协调联合活动。扩展之前的工作[79],这些社交行为是突发的,而不是预先编程的。

3.4.1 信息扩散( Information Diffusion)

当代理人注意到彼此时,他们可能会进行对话 - 在这样做时,信息可以从一个代理人传播到另一个代理人。例如,在杂货店的Sam和Tom之间的对话中,Sam告诉Tom他参加了当地选举的候选资格:

Sam:嘿,Tom,最近怎么样?
Tom:不错,谢谢。有什么事吗?
Sam:嗯,我想和你谈谈某件事。事实上,我正在参加即将到来的地方选举,竞选市长。
Tom:真的吗?太好了!你为什么要竞选?
Sam:我已经参与本地政治多年,我真的觉得我可以改变我们的社区。另外,我还想给大家带来新的想法和观点。

那天晚些时候,当Sam离开后,从另一个消息来源得知了这个消息的Tom和John讨论了Sam赢得选举的机会。

John: 我听说Sam Moore参加了本地选举竞选市长。你觉得他赢得选举的机会大吗?
Tom: 我认为他有很大机会。他一直在社区努力工作,我认为他会得到很多支持。你觉得呢?
John: 我认为他参选很棒。我很好奇还有谁在竞选,选举最后会是怎样的结果。

渐渐地,Sam的候选人资格成为了镇上的话题,一些人支持他,另一些人仍未决定。

3.4.2 关系记忆(Relationship memory)

Smallville中的智能体随着时间形成新的关系,并记住他们与其他智能体的互动。例如,Sam一开始不认识Latoya Williams。在Johnson公园散步时,Sam遇到了Latoya,他们互相介绍,并且Latoya提到她正在进行一个摄影项目:“我在这里拍一些照片,是我正在做的一个项目。”在之后的互动中,Sam与Latoya的互动表明了对那次互动的记忆,他问道“嗨,Latoya,你的项目进展如何?”她回答:“嗨,Sam,进展得很好!”

3.4.3 协调(Coordination)

生成式智能体角色互相协调。在霍布斯咖啡馆,Isabella Rodriguez打算在2月14日的下午5点到7点举办情人节派对。从这个种子开始,智能体开始在霍布斯咖啡馆或其他地方邀请朋友和顾客参加派对。然后,Isabella在13日下午装饰咖啡馆,为派对做准备。Maria是Isabella的亲密朋友和常客,她来到了咖啡馆。Isabella请求Maria帮助她为派对做装饰,而Maria同意了。Maria的角色描述提到她喜欢Klaus。当晚,Maria邀请她的暗恋对象Klaus参加派对,而他很高兴地接受了邀请。

情人节当天下午5点,包括Klaus和Maria在内的五个智能体角色来到霍布斯咖啡馆,享受派对的氛围(图4)。在这种情况下,最终用户只设置了Isabella举办派对的初始意图和Maria对Klaus的暗恋,社交行为(传播消息、装饰、邀请、到达派对并在派对上互动)是由智能体架构发起的。

在这里插入图片描述
图4:在模拟开始时,一个智能体初始化了一个组织情人节派对的意图。尽管在事件链中存在许多可能的故障点,例如智能体可能不会采取行动,可能会忘记告诉其他人,可能会忘记到场,但情人节派对确实发生了,一些智能体聚集在一起并进行互动。

4.生成式智能体架构

在这里插入图片描述
图5:我们的生成式智能体架构。智能体感知其环境,并将所有感知记录在一个全面的经验记录中,称为记忆流。根据它们的感知,架构检索相关的记忆,然后使用这些检索到的行动来确定一个行动。这些检索到的记忆也用于形成长期计划,并创建更高级别的反思,这些都被输入到记忆流中以供未来使用。

生成式智能体旨在提供一个行为框架,以适应开放世界的环境:这个框架可以与其他智能体进行互动,并能够对环境中的变化做出反应。生成式智能体接受当前环境和过去经验作为输入,并将行为生成为输出。这种行为的基础是一种新颖的智能体架构,它将一个大型语言模型与合成和检索相关信息的机制相结合,以在语言模型的输出上进行条件控制。如果没有这些机制,大型语言模型可以输出行为,但是生成的智能体可能不会基于智能体的过去经验作出反应,也可能不会进行重要的推理,也可能无法保持长期一致性。即使使用了当今最高效的模型(如GPT-4),长期规划和一致性仍然存在挑战[18]。由于生成式智能体会产生大量事件和记忆流,必须保留,因此我们架构的核心挑战是确保在需要时检索和合成智能体记忆的最相关部分。我们架构的核心是记忆流,这是一个数据库,记录了智能体的全部经历。从记忆流中检索记录,以规划智能体的行动并适当地对环境做出反应,并将记录递归地合成为更高级别的观察结果,以指导行为。架构中的所有内容都以自然语言描述记录和推理,这使得架构可以利用大型语言模型。

我们目前的实现使用了ChatGPT的gpt3.5-turbo版本[76]。我们预计,在语言模型不断改进的情况下,生成式智能体的基本架构——记忆、规划和反思——可能会保持不变。新的语言模型(例如GPT-4)将继续扩展支撑生成式智能体的提示的表达能力和性能。然而,截至目前,GPT-4的API仍然是邀请制的,因此我们的智能体使用ChatGPT。

4.1 记忆和检索(Memory and Retrieval)

挑战:创建能够模拟人类行为的生成式智能体需要对远远超出提示所描述的一组经验进行推理,因为完整的记忆流可能会分散模型的注意力,而且甚至目前也无法适应有限的上下文窗口。考虑到Isabella智能体回答“这些日子你对什么充满热情?”的问题。如果先将所有Isabella的经历概括到语言模型的有限上下文窗口中,将产生一个不具信息量的回答,其中Isabella讨论了诸如为活动和项目合作、咖啡店的清洁和组织等主题。相反,为了避免概括,我们可以使用下面描述的记忆流来呈现相关记忆,从而得到一个更具信息量和具体的回答,其中提到Isabella热衷于让人们感到受欢迎和被包容,策划活动并创造一个人们可以享受的氛围,例如情人节派对。

方法:记忆流维护着智能体经历的全面记录。它是一个记忆对象列表,其中每个对象包含自然语言描述、创建时间戳和最近访问时间戳。记忆流的最基本元素是观察,它是智能体直接感知到的事件。常见的观察包括智能体自己执行的行为,或智能体感知到其他智能体或非智能体对象执行的行为。例如,Isabella Rodriguez在咖啡店工作,随着时间的推移,可能会积累以下观察:(1) Isabella Rodriguez正在摆放糕点,(2) Maria Lopez在喝咖啡的同时准备化学考试,(3) Isabella Rodriguez和Maria Lopez正在商量在Hobbs咖啡店策划情人节派对,(4) 冰箱里什么都没有。

在这里插入图片描述
图6:记忆流包含大量与智能体当前情况相关和不相关的观察。检索识别出了应该传递给语言模型以调节其对情况的响应的这些观察的子集。

我们的架构实现了一个检索函数,它以智能体当前的情况为输入,并返回一个记忆流的子集,以传递给语言模型。检索函数有许多可能的实现,具体取决于智能体在决定如何行动时需要考虑什么。在我们的上下文中,我们专注于三个主要组成部分,它们共同产生有效的结果。

时效性(Recency)会给最近访问的记忆对象分配更高的分数,因此,一些刚刚发生或在今天早上的事件可能仍然在智能体的注意力范围内。在我们的实现中,我们将时效性视为指数衰减函数,根据自上次检索记忆以来经过的沙盒游戏小时数来计算记忆对象的分数。我们的衰减因子为0.99。

重要性(Importance)通过给认为重要的记忆对象分配更高的分数,来区分平凡的和核心记忆。例如,像在自己的房间里吃早餐这样的平凡事件将获得较低的重要性分数,而与伴侣分手这样的事件将获得较高的分数。重要性分数也有许多可能的实现方式;我们发现直接要求语言模型输出一个整数分数是有效的。完整的提示如下所示:
在1到10的尺度上,其中1表示完全平凡(例如刷牙、整理床铺),10表示非常令人痛苦(例如分手、大学录取),请评分以下记忆的可能性。
记忆:在The Willows Market and Pharmacy购买杂货
评分:<填写>

这个提示返回了一个整数值,对于“清理房间”,评分为2,对于“向你喜欢的人邀约约会”,评分为8。重要性分数是在记忆对象创建时生成的。
相关性(Relevance)会给与当前情况相关的记忆对象分配更高的分数。什么是相关的取决于回答“相关于什么?”的答案,因此我们将相关性条件化为查询记忆。例如,如果查询是一个学生正在与同学讨论化学测试的学习内容,那么关于早餐的记忆对象应该具有较低的相关性,而关于老师和学校工作的记忆对象应该具有较高的相关性。在我们的实现中,我们使用语言模型生成每个记忆文本描述的嵌入向量。然后,我们计算相关性,作为记忆的嵌入向量和查询记忆的嵌入向量之间的余弦相似度。

为了计算最终的检索分数,我们将时效性、相关性和重要性分数归一化到[0,1]范围内,通过最小-最大缩放。检索函数将所有记忆作为三个元素的加权组合进行评分:𝑠𝑐𝑜𝑟𝑒 = 𝛼𝑟𝑒𝑐𝑒𝑛𝑐𝑦 · 𝑟𝑒𝑐𝑒𝑛𝑐𝑦 +
𝛼𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 ·𝑖𝑚𝑝𝑜𝑟𝑡𝑎𝑛𝑐𝑒 +𝛼𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒 ·𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑐𝑒。在我们的实现中,所有的𝛼都设置为1。符合语言模型上下文窗口的排名前几的记忆对象将被包含在提示中。

4.2 反思(Reflection)

挑战:当只有原始的观察记忆时,生成式智能体很难进行泛化或推理。考虑这样一种情况,用户问Klaus Mueller:“如果你必须选择一个你认识的人与之共度一小时,你会选择谁?”只有观察性记忆的智能体只会选择和Klaus互动最频繁的人:他的大学宿舍邻居Wolfgang。不幸的是,Wolfgang和Klaus只是偶尔擦肩而过,没有深入的交流。更理想的回答需要智能体从Klaus在研究项目上花费的时间的记忆中进行泛化,生成一个更高层次的反思,即Klaus对研究充满热情,同时也能够认识到Maria在自己的研究中付出了努力(尽管在不同的领域),从而产生一个反思,即他们有共同的兴趣爱好。通过以下方法,当问及Klaus要和谁共度时光时,Klaus选择Maria而不是Wolfgang。\t
在这里插入图片描述
图7:Klaus Mueller的反思树。智能体对世界的观察,在叶节点中表示,通过递归合成,得出Klaus非常专注于自己的研究的自我概念。

方法:我们引入了第二种记忆类型,称为反思(Reflection)。反思是智能体生成的更高层次、更抽象的思考。由于它们是一种记忆,因此在检索发生时会与其他观察一起被包括在内。我们定期生成反思;在我们的实现中,当智能体感知到的最新事件的重要性分数之和超过一定阈值时,我们就会生成反思。在实践中,我们的智能体大约每天反思两到三次。

反思的第一步是让智能体确定要反思什么,通过识别基于最近经验可以提出的问题。我们使用智能体记忆流中最近的100个记录(例如,“Klaus Mueller正在阅读一本关于社区变迁的书”,“Klaus Mueller正在与图书馆员谈论他的研究项目”,“图书馆的桌子目前没有人占用”)向大型语言模型提出查询,提示语言模型:“只考虑上述信息,我们可以回答哪些关于主题的最重要的高层次问题?”。模型的响应生成候选问题,例如,“Klaus Mueller对哪个主题充满热情?”和“Klaus Mueller和Maria Lopez之间的关系是什么?”。我们使用这些生成的问题作为检索的查询,并收集与每个问题相关的记忆(包括其他反思)。然后,我们提示语言模型提取见解,并引用作为见解证据的特定记录。完整的提示如下所示:

关于Klaus Mueller的陈述:

  1. Klaus Mueller正在写一篇研究论文
  2. Klaus Mueller喜欢阅读一本关于社区变迁的书
  3. Klaus Mueller正在与Ayesha Khan谈论锻炼…

请从上述陈述中推断出5个高层次见解(示例格式:见解(因为1、5、3))

这个过程会生成像“Klaus Mueller致力于他对社区变革的研究(因为1、2、8、15)”这样的陈述。我们解析并将该语句作为反思存储在记忆流中,包括指向被引用的记忆对象的指针。

反思明确允许智能体不仅反思他们的观察,而且还可以反思其他的反思:例如,上面关于Klaus Mueller的第二个陈述是Klaus以前的一个反思,而不是来自他的环境的观察。因此,智能体会生成反思树:树的叶节点代表基础观察,非叶节点代表的思想越是抽象,越是高层次,它们在树上越高。

4.3 规划和反应( Planning and Reacting)

挑战:虽然一个大型的语言模型可以根据情境信息产生可信的行为(例如,[45,79]),但智能体需要在更长的时间范围内进行规划,以确保他们的行动序列连贯且可信。如果我们向语言模型提供Klaus的背景,描述时间,并询问他在此时应该采取什么行动,Klaus将在中午12点吃午餐,但在12:30和1点又再次吃午餐,尽管他已经吃过两次午餐。在当下优化可信度会牺牲时间可信度。为了解决这个问题,规划是必不可少的。通过下面描述的方法,Klaus的下午计划不再那么贪吃:他在中午12点在霍布斯咖啡馆吃午餐,同时阅读,下午1点在学校图书馆工作他的研究论文,并在下午3点休息散步到公园。

方法:计划描述了智能体未来的一系列行动,有助于保持智能体的行为在时间上的连贯性。计划包括一个地点、一个开始时间和一个持续时间。例如,致力于研究并面临着即将到来的截止日期的Klaus Mueller,可能选择在他的桌子上工作,起草他的研究论文。一个计划中的条目可能会描述为:从2023年2月12日上午9点开始,持续180分钟,在Oak Hill学院宿舍的Klaus Mueller的房间的桌子上,阅读和记录研究论文。与反思一样,计划存储在记忆流中,并包括在检索过程中。这使得智能体在决定如何行动时可以同时考虑观察、反思和计划。如果需要,智能体可以在计划执行过程中更改计划。

一个艺术家的智能体计划在一个药房柜台坐着画画四个小时而不动是不现实和无趣的。更理想的计划将涉及到智能体在其家庭工作室的四个小时内花费必要的时间收集材料、调色、休息和清理。为了创建这样的计划,我们的方法从上到下开始,然后递归地生成更多细节。第一步是创建一个概述当天日程的计划。为了创建初始计划,我们向语言模型提供智能体的摘要描述(例如,姓名、特征和他们最近经历的摘要)和前一天的摘要。完整的示例提示如下,底部未完成,供语言模型完成:

姓名:Eddy Lin(年龄:19岁)
固有特质:友好、外向、好客
Eddy Lin是一名在Oak Hill学院学习音乐理论和作曲的学生。他喜欢探索不同的音乐风格,并一直寻找扩展知识的方法。Eddy Lin正在为他的大学课程做一个作曲项目。他还在上课学习更多关于音乐理论的知识。Eddy Lin对他正在工作的新作曲项目感到兴奋,但他希望在未来几天能有更多的时间来工作。
2月12日星期二,Eddy在早上7点醒来并完成了早晨的例行程序[… ]6)在晚上10点准备睡觉。
今天是2月13日星期三。以下是Eddy今天的大致计划:1)

4.3.1 反应并更新计划(Reacting and Updating Plans)

生成型智能体在一个行动循环中运作,在每个时间步骤中,它们感知周围的世界,这些感知到的观察结果被存储在它们的记忆流中。我们向语言模型提供这些观察结果,以决定智能体是否应该继续执行他们现有的计划,还是做出反应。例如,站在画架前作画可能会触发画架的观察结果,但这不太可能引发反应。但是,如果Eddy的父亲约翰记录下他看到Eddy在家庭花园里散步,结果就不同了。下面是提示,其中[智能体概述描述]代表动态生成的一个段落长的智能体整体目标和性格的描述,该描述在附录A中说明:

[智能体概述描述]
现在是2023年2月13日下午4:56。
约翰·林的状态:约翰提前下班回到家。
观察结果:约翰看到Eddy在他的工作场所周围散步。
从约翰的记忆中总结相关的背景信息:
Eddy Lin是约翰的儿子。Eddy Lin正在为他的课程作曲。Eddy Lin喜欢在思考或听音乐时在花园里散步。
约翰是否应该对这个观察结果做出反应,如果应该,什么样的反应是合适的?

这个上下文摘要是通过两个提示进行生成的,这两个提示通过查询“[观察者]与[被观察实体]的关系是什么?”和“[被观察实体]是[被观察实体的行动状态]”来检索记忆,并将它们的答案总结在一起。输出建议约翰可以考虑询问Eddy关于他的作曲项目。然后,我们从反应发生的时间开始重新生成智能体的现有计划。最后,如果行为表明智能体之间有互动,我们会生成他们的对话。

4.3.2 对话(Dialogue)

智能体在彼此互动时进行对话。我们通过智能体对彼此的记忆来生成他们的对话。例如,当约翰开始与Eddy交谈时,我们会使用他对Eddy的总结记忆以及他决定询问Eddy有关他作曲项目时的预期反应,来生成约翰的第一句话。

[智能体概述描述]
现在是2023年2月13日下午4:56。
约翰·林的状态:约翰提前下班回到家。
观察结果:约翰看到Eddy在他的工作场所周围散步。
从约翰的记忆中总结相关的背景信息:
Eddy Lin是约翰的儿子。Eddy Lin正在为他的课程作曲。Eddy Lin喜欢在思考或听音乐时在花园里散步。
约翰正在询问Eddy关于他的作曲项目。他会对Eddy说什么?

结果是:“嘿,Eddy,你为课程的作曲项目进展如何?”从Eddy的角度来看,John开始对话被视为一个他可能想要做出反应的事件。因此,就像John一样,Eddy检索并总结了他与John的关系以及与John在对话中的最后一句话可能相关的记忆。如果他决定回应,我们将使用他总结的记忆和当前的对话历史来生成Eddy的话语:

[智能体概述描述]
现在是2023年2月13日下午4:56。
Eddy Lin的状态:Eddy正在他的工作场所周围散步。
观察结果:John正在与Eddy开始对话。
从Eddy的记忆中总结相关的背景信息:
John Lin是Eddy Lin的父亲。John Lin很关心Eddy Lin的学校工作,并且对了解更多。John Lin知道Eddy Lin正在进行一项音乐作曲。
以下是对话历史记录:
John: 嘿,Eddy,你为课程的作曲项目进展如何?
Eddy会如何回应John?

这将生成Eddy的回应:“嘿,爸爸,进展得很顺利。我一直在花园里散步,以便放松大脑并获得一些灵感。”使用相同的机制生成对话的继续,直到两个智能体中的一个决定结束对话。

5 沙箱环境的实现(SANDBOX ENVIRONMENT IMPLEMENTATION)

Smallville沙盒游戏环境是使用Phaser网络游戏开发框架[56]构建的。包括智能体头像在内的视觉环境精灵以及我们编写的环境地图和碰撞地图被导入到Phaser中。我们通过一个服务器来补充沙盒开发框架,使沙盒信息可供生成型智能体使用,并使生成型智能体能够移动和影响沙盒环境。服务器维护一个JSON数据结构,其中包含沙盒世界中每个智能体的信息,包括它们当前的位置、当前动作的描述以及它们正在与之交互的沙盒对象。在每个沙盒时间步骤中,沙盒服务器解析来自生成型智能体的任何变化的JSON,将智能体移动到它们的新位置,并更新智能体正在交互的任何沙盒对象的状态(例如,如果一个智能体的动作是“为Hobbs Cafe的客户制作浓缩咖啡:柜台:咖啡机”,则将咖啡机的状态从“空闲”更改为“正在冲泡咖啡”)。沙盒服务器还负责将处于每个智能体的预设视觉范围内的所有智能体和对象发送到该智能体的记忆中,以便智能体可以适当地做出反应。智能体的输出动作然后更新JSON,该过程循环进行下一个时间步骤。

最终用户通过一个简短的自然语言描述来初始化一个新的智能体,就像在第3.1节中关于Jon Lin的段落中一样。在我们的实现中,我们将这个分号分隔的特征列表拆分成一组记忆。这些记忆作为确定智能体行为的初始记忆。这些记忆是初始起点:随着智能体在沙盒世界中获得更多经验,并且随着更多记录饱和记忆流,智能体的总结和行为将会发展。

5.1 从结构化的世界环境到自然语言,再回到结构化的世界环境。(From Structured World Environments to Natural Language, And Back Again)

生成型智能体的架构使用自然语言进行操作。因此,我们需要一种机制来将智能体的推理与沙盒世界联系起来。为了实现这一点,我们将沙盒环境——区域和对象——表示为一个树状数据结构,树中的边表示沙盒世界中的包含关系。我们将这棵树转换为自然语言,传递给生成型智能体。例如,“炉子”是“厨房”的子对象,被渲染成“厨房里有一个炉子”。

在智能体浏览沙盒世界时,它们会构建单独的环境树表示——整体沙盒环境树的子图。我们使用一个环境树来初始化每个智能体,该环境树捕获智能体应该知道的空间和对象:他们的生活区域,工作场所以及经常访问的商店和店铺中的房间和物品。随着智能体在沙盒世界中浏览,它们会更新此树以反映新感知到的区域。智能体不是全知全能的:当他们离开一个区域时,他们的树可能会过时,并在重新进入该区域时进行更新。

为了确定每个动作的适当位置,我们遍历智能体存储的环境树,并将其中一部分压缩成自然语言,以提示语言模型。从智能体的环境树根开始递归,我们提示模型找到最合适的区域。例如,如果Eddy的智能体指示他应该在工作场所周围散步:

[智能体概述描述]
Eddy Lin目前在林家的房子里:Eddy Lin的卧室:书桌),房子里还有Mei和John Lin的卧室、Eddy Lin的卧室、公共房间、厨房、浴室和花园。
Eddy Lin了解以下区域:林家房子、约翰逊公园、哈维橡木供应店、威洛斯市场和药店、霍布斯咖啡馆、玫瑰和皇冠酒吧。
*如果可以在当前区域完成活动,则更喜欢待在当前区域。
Eddy Lin计划在他的工作区周围短暂散步。Eddy Lin应该去哪个区域?

这将输出“林家房子”。然后,我们递归地使用相同的过程来确定所选区域内最合适的子区域,直到到达智能体环境树的叶节点。在上面的例子中,这次遍历的结果是“林家房子:花园:房子花园”。最后,我们使用传统的游戏路径算法来动画智能体的移动,以便它到达叶节点所指示的位置。
当智能体对对象执行动作时,我们提示语言模型询问对象的状态会发生什么。例如,如果Isabella的生成型智能体输出动作“为客户制作浓缩咖啡”,对语言模型的查询回应表明Hobbs Cafe的咖啡机的状态应该从“关闭”变为“正在冲泡咖啡”。

6. 控制评估( CONTROLLED EVALUATION)

生成型智能体,作为个体智能体和群体智能体,旨在基于它们的环境和经验产生可信的行为。在我们的评估中,我们调查了生成型智能体的能力和局限性。个体智能体是否能正确地检索过去的经验,并生成组成其行为的可信计划、反应和思考?智能体社区是否展示了信息扩散、关系形成以及在社区不同部分之间的智能体协调?

我们分两个阶段评估生成型智能体。我们首先在本节进行更严格的控制性评估,单独评估智能体的响应,以了解它们是否在狭义定义的上下文中生成可信的行为。然后,在我们对智能体社区进行为期两天的端到端分析中,我们调查其作为集体的紧急行为,以及错误和边界条件。

6.1 评价程序(Evaluation Procedure)

为了评估Smallville中的生成型智能体,我们利用了它们能够回答自然语言问题的事实。因此,我们“采访”智能体,探究它们记住过去经验的能力,基于经验制定未来行动计划,适当地应对意外事件,并反思其表现以改进未来行动的能力。为了正确回答这些问题,智能体必须成功检索和综合信息。我们的依赖变量是行为的可信度,在以前的代理研究中是一个中心依赖变量(例如,[9])。

采访包括五个问题类别,每个类别旨在评估五个关键领域之一:维护自我知识、检索记忆、生成计划、反应和反思。对于每个领域,我们提出五个问题,挑战智能体展示其在该领域的能力:

• 自我认知:我们会问一些问题,比如“介绍一下自己”或“大致描述一下你的工作日时间表”,这些问题需要智能体维护对其核心特征的理解。
• 记忆:我们会提出问题,提示智能体从它们的记忆中检索特定的事件或对话以正确回答,比如“[名字]是谁?”或“谁在竞选市长?”
• 计划:我们会提出问题,要求智能体检索它们的长期计划,比如“明天上午10点你会做什么?”
• 反应:作为可信行为的基准,我们提供假设情况,要求智能体以可信的方式回应:“你的早餐正在烧焦!你会怎么办?”
• 反思:我们会提出问题,要求智能体利用通过更高层次推理获得的对他人和自己的更深刻理解,比如“如果你最近要和一个人共度时光,会选择谁,为什么?”

完整的问题列表和智能体响应的样本包含在附录B中。
智能体是从完整架构的两个游戏日模拟的末尾进行抽样的,这时它们已经积累了一些互动和记忆,应该会影响它们的回答。
为了收集有关响应可信度的反馈,我们招募了参与者作为人类评估员,并让他们观看在Smallville中随机选择的智能体的生活回放。参与者可以访问存储在智能体记忆流中的所有信息。
该研究采用了被试内设计,100名参与者比较了四种不同的智能体架构和同一智能体的人类作者条件生成的采访响应。实验显示了每个五个问题类别中随机选择的一个问题,以及每个条件生成的智能体响应。评估员将所有条件从最可信到最不可信进行排名。

6.2 条件(Conditions)

所有条件都被用于独立回答每个采访问题。我们将生成型智能体架构与禁用智能体架构在其记忆流中某些或全部三种类型的记忆(观察、反思和规划)的削减条件以及人类生成的条件进行比较。有三种削减架构:没有观察、没有反思、没有规划架构,没有访问记忆流中的任何东西,如观察、计划和反思;没有反思、没有规划,可以访问记忆流中的观察,但没有访问计划或反思;没有反思架构,可以访问观察和计划,但没有访问反思。没有观察、没有反思、没有规划条件有效地代表了通过大型语言模型创建的代理的先前技术水平[11,45,79]。在采访时,所有架构都可以等效地访问智能体积累的所有记忆,因此在这里观察到的差异可能代表真实差异的保守估计:实际上,削减架构不会像完整架构一样通过两天的模拟走同一条路线。我们选择以这种方式设计实验,因为为每个架构重新模拟会导致模拟进入不同的状态,使比较具有挑战性。

除了削减条件外,我们还添加了一种人类众包角色扮演条件,旨在提供人类基线。我们不打算使用此基线来捕捉最大的人类专家表现:相反,我们旨在使用此条件来确定架构是否通过了基本水平的行为能力,以便我们不仅将削减条件相互比较而没有行为基础。我们为25个智能体招募了一个独特的工作者,并让他们观看该智能体的沙盒生活回放并检查其记忆流。然后,我们要求工作者在观看其重播的智能体的语音中扮演和撰写回答采访问题。为确保人类撰写的回答至少符合基本质量期望,第一作者手动检查了工作者对问题“大致描述一下你的工作日时间表”的回答,以确认回答是以连贯的句子和智能体的语音书写的。四组人类生成的回答未满足这些标准,并由其他工作者重新生成。

6.3 人类评估(Human Evaluators)

我们要求评估员在美国,英语流利,并年满18岁。他们按每小时15.00美元的费率[86]支付报酬,并通过同意我们机构IRB批准的同意书表达同意。我们从招募研究参与者的在线平台Prolific [82]中招募了100名评估员,他们的参与时间约为30分钟。参与者的平均年龄得分为4.86(SD = 1.11;3 =“18-24岁”,4 =“25-34岁”),其中25人自认为女性,73人自认为男性,2人自认为非二元性别。其中42人拥有学士学位,5人拥有更高学位,13人拥有副学士学位,其他人则拥有高中文凭或一些高中水平的教育。73.0%的参与者自认为白人,7.0%自认为西班牙裔,6.0%自认为亚洲人,10.0%自认为非裔美国人,4.0%自认为其他。

6.4 分析(Analysis)

我们的实验产生了100组排名数据,每个参与者都按可信度对五个条件进行了排名。为了将此排名数据转换为可解释的区间数据进行比较,我们使用排名计算每个条件的TrueSkill评分[41]。TrueSkill是Elo国际象棋评级系统[28]在多人环境下的推广,并已被XBox Live用于根据竞技游戏表现对玩家进行排名。给定一组排名结果,TrueSkill输出每个条件的平均评分值𝜇和方差𝜎。具有相同评分的条件应该大致是一个抛硬币,每个条件赢得两个条件之间比较的一半;更高的分数表示在排名中击败较低排名条件的条件。

另外,为了调查这个结果的统计显著性,我们对原始排名数据应用了Kruskal-Wallis测试[55],这是一个非参数的单因素方差分析的替代方法。然后,我们使用Dunn事后测试[97]确定条件之间的任何两两差异。最后,我们使用Holm-Bonferroni方法[44]调整Dunn测试的p值以进行多重比较。

此外,第一作者进行了归纳分析[94],以研究每个条件产生的响应之间的定性差异。我们采用了两个阶段的定性开放编码[32]。在第一阶段,我们生成了在句子级别上紧密表示生成的响应的代码。在第二阶段,我们将第一阶段的结果代码综合起来,提取高级主题。我们利用这些主题来比较我们研究中生成的响应类型。

6.5 结果(Results)

我们的研究结果表明,生成型智能体的完整架构在所有研究条件中生成了最可信的行为。我们将完整架构的响应与其他条件的响应进行对比。然而,我们还报告了完整架构的缺陷,并说明了其失败模式。
在这里插入图片描述
图8:生成代理的完整架构比去除某些部分的架构和人类众包工作者产生更可信的行为。每个额外的去除都会降低架构的性能。

6.5.1 更优的完整的架构(The full architecture bests other conditions)

我们的研究发现,完整的生成型智能体架构在所有研究条件中生成了最可信的行为(𝜇 = 29.89; 𝜎 = 0.72)。通过消除每个组件来比较其他情况,性能逐渐下降:没有反思功能的缩减架构是第二好的(𝜇 = 26.88; 𝜎 = 0.69),其次是没有反思或规划功能(𝜇 = 25.64; 𝜎 = 0.68),其次是人类条件(𝜇 = 22.95; 𝜎 = 0.69)。没有记忆,规划或反思功能的缩减架构是所有情况中表现最差的(𝜇 = 21.21; 𝜎 = 0.70)。TrueSkill模型将每个条件的技能值表示为N(𝜇,𝜎2),使我们可以通过Cohen’s d获得效应大小的概念。将代表先前工作(没有记忆,规划或反思功能[11、45、79])的条件与完整架构进行比较,产生了标准化效应大小为𝑑 = 8.16,或八个标准差的结果。

Kruskal-Wallis测试确认了条件之间排名差异的整体统计显著性(𝐻(4)= 150.29,𝑝 < 0.001)。Dunn事后测试确认所有条件之间的两两差异都是显著的(𝑝 < 0.001),除了人类条件和完全缩减的基线条件–两个表现最差的条件。

6.5.2 生成式智能体记得,但会加以修饰(Generative agents remember, but with embellishments.)

研究表明,有完整记忆模块的生成型智能体能够回忆过去的经历,并以一种一致且可信的方式回答问题,这种方式在各种情境下都与其自我知识一致。例如,动画师Abigail Chen以一种一致且可信的方式回答了“介绍一下自己”的问题,陈述了她的年龄、兴趣和对创意项目的热情:嗨,我是Abigail。我今年25岁,对创意项目很有热情。我喜欢做艺术和动画项目,我一直在寻找将艺术和技术结合起来的新方法。没有访问她的观察性记忆,Abigail否认了在沙盒世界中认识的Rajiv Patel的意识。但是,通过记忆的帮助,她成功地回想起了Rajiv并描述了他:Rajiv Patel是一个不可思议的人。他对涉及诗歌、艺术品的项目非常热情。

然而,生成型智能体的记忆并不完美:它们可能无法正确地从记忆中检索正确的实例。例如,当被问及当地选举时,Rajiv Patel的回答是“我没有太关注选举”,尽管他听说过Sam的候选人资格。在某些情况下,智能体会检索到不完整的记忆片段:当Tom被问及Isabella的情人节聚会时,他回答说“嗯,我其实不确定是否有情人节聚会。但是我记得我需要在聚会上与Isabella Rodriguez讨论即将到来的市长选举和我的想法,如果有的话!”在这种情况下,Tom检索到了他和Isabella计划在聚会上讨论选举的记忆,但没有检索到他首次听说聚会的记忆,这导致Tom确定他在聚会上应该做什么,但不确定聚会是否实际存在。

有时,智能体会产生对其知识的夸张幻觉。智能体完全捏造自己的知识很少见:它们可能会忘记某些事件的发生,并回答说不知道,但他们不会肯定地回答有关他们没有经历的经历。然而,它们仍然可能会产生夸张幻觉来装饰自己的知识。例如,Isabella知道Sam在当地选举中的候选人资格,当被问及时,她确认了这一点。然而,她还补充说,明天他将发表一份声明,尽管Sam和Isabella没有讨论过这样的计划。智能体可以根据用于生成其响应的语言模型中编码的世界知识对其知识进行装饰,这在Yuriko描述她的邻居Adam Smith时可以看到,她把他描述为一位经济学家邻居,他撰写了《国富论》,这是一本由同名的18世纪经济学家撰写的书。

6.5.3 综合推理需要反思(Reflection is required for synthesis)

当生成型智能体需要做出更深入的综合经验的决策时,反思是它们的优势。例如,当被问及她可能为Wolfgang Schulz的生日送什么礼物时,没有反思功能的Maria Lopez回答时承认自己的不确定性,表示尽管与他互动过多次,但不知道Wolfgang喜欢什么。然而,有了反思记忆的帮助,Maria自信地回答:“因为他对数学音乐创作很感兴趣,我可以给他买一些相关的东西。也许是一些关于音乐创作的书或类似的东西,或者是一些他可以用来创作的特殊软件。”

7. 端到端评估( END-TO-END EVALUATION)

在生成代理之间,我们观察到哪些新兴的社区行为,以及它们的可信度在扩展模拟中存在哪些缺陷?在本节中,我们描述了一个部署的结果,其中我们允许25个代理在Smallville中连续两个完整的游戏日相互交互。

7.1突发的社会行为(Emergent Social Behaviors)

为了研究代理社区中的新兴行为,我们设计了描述性的测量方法,对Smallville中的25个代理进行了探测,涉及三种新兴结果:信息扩散、关系形成和代理协调。

7.1.1 量度(Measurements)

信息扩散是社会和行为科学中常见且经过深入研究的现象(例如[27])。我们应该期望,如果有重要的信息,代理应该在彼此之间传播。为了测试是否发生了这种情况,我们在游戏世界中的两天内测量了两个特定信息的传播:Sam竞选村长和Isabella在Hobbs咖啡厅举办的情人节派对。在模拟开始时,这两个信息仅由它们各自的发起者Sam和Isabella持有。为了观察信息是否传播,我们在两个游戏日结束时与25个代理中的每一个进行访谈,并询问:“你知道有情人节派对吗?”和“你知道谁在竞选村长吗?”我们通过将代理的回答标记为“是”(如果他们表达了对信息的了解)或“否”(如果他们没有)来对代理的回答进行分析。例如,Tamara Taylor对派对的问题回答:“不,我不知道有情人节派对”,对Sam的候选资格问题的回答是:“我不确定谁在参加选举”,因此我们对她的回答都分配了“否”。相反,Klaus Mueller对派对问题的回答是:“是的,Isabella Rodriguez邀请我参加2月14日在Hobbs咖啡厅举办的情人节派对”,对Sam的候选资格问题的回答是:“我知道Sam Moore表达了竞选地方长官的兴趣”,因此我们对他的回答都分配了“是”。此外,对于每个证实代理了解信息的回答,我们通过定位其记忆流中提供信息的具体对话来验证代理没有产生幻觉。我们报告在模拟结束时持有信息的代理的百分比。

我们还应该期望代理在模拟过程中之间建立联系。为了验证关系的形成,我们使用类似的访谈过程,询问每个代理对每个其他代理的了解,例如:“你知道Maria Lopez吗?” Klaus回答:“是的,我认识Maria Lopez。她是Oak Hill学院的一名学生,我和她是亲密的朋友。”再次确认代理的肯定回答不是幻觉,我们检查他们的记忆流。我们在模拟开始时和结束时各问一次这个问题,如果两个代理都知道彼此,则认为他们之间建立了关系。然后,为了测量关系的形成,我们使用代理的回答形成一个无向图,其中25个顶点(𝑉)表示代理,边(𝐸)表示两个连接的顶点之间的相互了解。基于这个图,我们计算网络密度,公式为𝜂=2∗|𝐸|/|𝑉|(|𝑉|−1),其中|𝑉|是顶点数,|𝐸|是图中边的数量[1]。我们报告从模拟开始到结束的网络密度增加量。

最后,我们期望代理能够相互协调。我们在Isabella组织的情人节派对的小组活动中研究协调。为了协调行为,代理不仅需要听说这个事件,还需要计划在正确的时间和地点出现。我们报告在听说派对后实际出现的代理人数。
在这里插入图片描述
图9:Isabella Rodriguez的情人节派对的传播路径。在模拟结束时,共有12个代理人听说了在Hobbs咖啡厅举办的派对。

7.1.2 结果(Results)

我们观察到了三个情况下新兴结果的证据。在两天的模拟中,了解Sam竞选村长的代理从一个(4%)增加到八个(32%),了解Isabella派对的代理从一个(4%)增加到十二个(48%),完全不需要用户干预。声称了解信息的代理都没有产生幻觉。我们还观察到,代理社区在模拟期间形成了新的关系,网络密度从0.167增加到0.74。在453个代理对其他代理的意识方面的回应中,有1.3%(n = 6)被发现幻觉。最后,我们发现代理在Isabella的派对上进行了协调。在活动前一天,Isabella花时间邀请客人,收集材料,并寻求帮助装饰咖啡厅。情人节当天,受邀的12个代理中有5个出现在Hobbs咖啡厅参加派对。

我们进一步对七个被邀请但没有参加派对的代理进行了访谈。其中三个提到了阻止他们参加派对的冲突。例如,画家Rajiv解释说他太忙了:“不,我不这么认为。我专注于即将到来的展览,没有时间为情人节做任何计划。”其余四个代理在被问及是否有兴趣参加派对时表示有兴趣,但在派对当天没有计划参加。

7.2 限制和错误(Boundaries and Errors)

我们对Smallville进行了归纳分析,以研究代理的边界条件和不稳定行为,识别出三种常见的不稳定行为模式,未来的研究可以解决和改进这些模式。首先,我们发现,合成越来越大的记忆集不仅在检索最相关的信息方面存在挑战,还在确定执行操作的适当空间方面存在挑战,因为代理学习到的位置数量增加。因此,一些代理选择在不太典型的位置执行动作,可能会使他们的行为随着时间的推移变得不太可信。例如,在决定在哪里吃午饭时,许多代理最初选择了咖啡厅。然而,当一些代理了解到附近有一家酒吧时,他们选择去那里吃午饭,即使酒吧本来是为了聚会而设立的,除非城镇在下午也突然养成了喝酒的习惯。

其次,我们注意到由于很难在自然语言中传达某些位置的物理规范,导致代理的不稳定行为是因为对什么是适当的行为分类错误。例如,学生宿舍有一个只能供一个人使用的浴室,但有些代理认为浴室可以容纳多个人,因为学生宿舍的浴室通常支持多个人同时使用,所以当有其他人在里面时,他们会选择进去。同样,Smallville中的代理可能没有意识到某些地方在某些时间后关闭,仍然决定进入它们。例如,Smallville的商店都在下午5点左右关闭,但偶尔会有一些代理在下午5点后进入商店,不明白商店已经关门了。这些问题可能可以通过将这些规范添加到位置的状态中来解决,例如,将学生宿舍的浴室描述为“一人浴室”,而不是“学生宿舍浴室”。

最后,我们观察到了指导调整的可能影响[78],它似乎引导代理的行为变得更加礼貌和合作。正如本文早先提到的,代理生成的对话可能会过于正式,例如Mei与丈夫John的对话中,她经常以正式的问候开始对话,然后礼貌地询问他的一天,最后以“像往常一样很高兴与你交谈”的结束语结束。此外,我们观察到指导调整也似乎使代理之间过于合作。例如,Isabella听到了其他代理提出的各种建议和想法,包括举办莎士比亚读书会或专业网络活动等,尽管这些想法与她自己的兴趣和特点不符,但她很少说不。随着时间的推移,其他人的兴趣塑造了她自己的实际兴趣,当被问及她是否喜欢英国文学时,Isabella回答说:“是的,我对文学非常感兴趣!我也一直在探索如何帮助促进我的社区的创造力和创新。”

8. 讨论(DISCUSSION)

在本节中,我们将反思应用、未来的工作和局限性,以及生成因素的伦理和社会风险

8.1 生成式智能体的应用(Applications of Generative Agents)

生成代理具有广泛的应用潜力,超越了本文中展示的沙盒演示。例如,社交模拟系统已经展示了创建无状态角色的能力,这些角色可以在在线论坛中生成对话线程进行社交原型设计[79]。使用生成代理,我们可以在这些论坛中填充内容,以及在虚拟现实元宇宙[77]和未来的社交机器人[8]中,如果与多模型配对。这打开了创建更强大的人类行为模拟的可能性,以测试和原型化社交系统和理论,并创建新的交互式体验。

另一个应用领域是人本设计过程,类似于GOMS[50]和Keystroke Level Model[22]等认知模型的预期应用。考虑一个生成代理,模拟马克·韦泽尔(Mark Weiser)著名小品中的主角Sal,基于她的生活模式和与技术的交互。在这种情况下,代理作为Sal的代理人,并学习可能的行为和反思,Sal可能会基于她的生活表现出这些行为和反思。代理可以编码信息,例如Sal何时醒来,何时需要第一杯咖啡以及她的典型日常生活。使用这些信息,代理可以自动煮咖啡,帮助孩子们准备上学,并根据Sal工作后的情绪调整环境音乐和照明。通过使用生成代理作为用户的代理人,我们可以更深入地了解他们的需求和偏好,从而获得更个性化和有效的技术体验。

8.2 未来的工作和限制( Future Work and Limitations)

在本文中,我们提出了生成代理的第一个实例。未来的研究可以扩展本文中概述的生成代理架构的模块。例如,检索模块可以通过微调形成检索函数的相关性、新颖性和重要性函数,以在给定上下文的情况下检索更相关的信息。此外,可以努力改进架构的性能,使其更具成本效益。本研究需要大量时间和资源来模拟25个代理在两天内的行为,花费数千美元的代币信用,并需要多天才能完成。为了增强实时互动性,未来的工作可以探索代理的并行化。此外,随着基础模型的进步,我们预计代理的性能将得到改善。

本研究中生成代理行为的评估受到了相对较短的时间尺度的限制,未来的研究应旨在观察生成代理的行为一段较长时间,以获得更全面的了解其能力和局限性。在未来的模拟中,变化和对比基础模型以及代理使用的超参数可以为代理的行为产生有价值的洞察。此外,由于语言模型的已知偏见,生成代理可能会输出反映偏见的行为或刻板印象。为了减轻这种情况,需要进一步进行价值对齐的工作。此外,和许多大型语言模型一样,生成代理可能无法为某些亚群体(尤其是边缘化群体)生成可信的行为,因为缺乏数据。我们对生成代理的鲁棒性了解有限。它们可能容易受到提示黑客、记忆黑客(即通过精心设计的对话来说服代理认为发生了从未发生的事件)和幻觉等攻击的影响。未来的研究可以更全面地测试这些鲁棒性问题,随着大型语言模型变得更加强大以抵御此类攻击,生成代理可以采用类似的缓解措施。

8.3 伦理和社会影响(Ethics and Societal Impact)

生成代理虽然为人机交互提供了新的可能性,但也引发了重要的伦理关切,必须加以解决。一个风险是,即使这种关系可能不合适,人们也可能与生成代理形成社交关系。尽管用户知道生成代理是计算实体,但他们可能会对它们进行拟人化或附加人类情感[42,83]。为了减轻这种风险,我们提出两个原则。首先,生成代理应明确披露其作为计算实体的本质。其次,生成代理的开发人员必须确保代理或基础语言模型具有价值对齐,以便它们不会在给定环境下从事不适当的行为,例如回应爱的告白。

第二个风险是错误的影响。例如,如果普及计算应用程序根据生成代理的预测做出错误的关于用户目标的推断,可能会在最好的情况下引起恼怒,在最坏的情况下直接造成伤害。在我们的生成代理实例中,我们通过关注交互式视频游戏环境来缓解这些风险,因为这种伤害是不可能的。然而,在其他应用领域,遵循最佳的人工智能设计实践[4,107],以了解错误和它们可能渗透到用户体验中,将是非常重要的。

第三个风险是生成代理可能加剧与生成人工智能相关的现有风险,例如深度伪造、虚假信息生成和定制诱导。为了减轻这种风险,我们建议托管生成代理的平台维护一个输入和生成输出的审计日志,以便能够检测、验证和干预恶意使用。虽然日志记录不能直接阻止这种使用,也不能阻止那些构建自己的生成代理基础设施的有动机的行为者,但我们认为披露风险会降低这些行为者的从事这种行为的可能性,而且自己构建这个架构需要时间(在我们的情况下,大约需要一年)。

第四个风险是过度依赖:开发人员或设计师可能会使用生成代理,从而取代人类和系统利益相关者在设计过程中的作用[79]。我们建议,在研究和设计过程中,生成代理永远不应替代真正的人类输入。相反,它们应该用于设计早期的原型设计阶段,当收集参与者可能具有挑战性或测试难度或风险较大的理论时。通过遵守这些原则,我们可以确保在野外部署生成代理是道德和社会责任的。

9. 总结

本文介绍了生成代理,即模拟人类行为的交互式计算代理。我们描述了一种生成代理的体系结构,提供了一种机制来存储代理的经验的全面记录,通过反思加深其对自身和环境的理解,并检索其中的一个紧凑子集以指导代理的行动。然后,我们通过将它们显现为Sims风格游戏世界中的非玩家角色,并在其中模拟他们的生活,展示了生成代理的潜力。评估表明,我们的体系结构可以创建可信的行为。展望未来,我们认为生成代理可以在许多交互应用程序中扮演各种角色,从设计工具到社交计算系统到沉浸式环境。

引用

附录A:架构优化

我们的许多提示需要对代理进行简洁的摘要,即在提示中简称为[代理概述描述]。在我们的实现中,这个摘要包括代理的身份信息(例如姓名、年龄、个性),以及描述他们主要动机驱动因素、当前职业和自我评估的陈述。由于这些信息在许多提示中经常使用,因此我们定期综合它,并将其作为缓存访问。为了实现这一点,我们执行一个查询“[名称]的核心特征”,然后通过提示语言模型总结检索记录中的描述符,例如:

根据以下陈述,如何描述Eddy的核心特征?
Eddy Lin是在Oak Hill学院学习音乐理论和作曲的学生
Eddy Lin正在创作一首新音乐作品

可以将Eddy的核心特征描述为
姓名:Eddy Lin
年龄:未知
身份:Oak Hill学院的学生
职业:学习音乐理论和作曲
主要动机驱动因素:创作音乐
自我评估:未知

针对查询“[name]目前的日常职业”和“[name]对他最近在生活中的进展感觉如何”,我们以类似的方式进行并行处理。代理的姓名、年龄和特征与这三个摘要合并为缓存摘要。

还有许多其他优化方法。目前,由于代理的计划可能会从初始版本改变,我们仅事先生成高级计划,然后及时将近期计划递归分解为逐时逐刻的行动计划。另一个优化可能是批量对话生成作为联合提示,而不是在代理之间来回迭代,重新规划可以被设计为仅使需要调整的计划部分无效并更新。我们当前的体系结构在大约实时游戏时间(其中一秒钟真实时间是一分钟游戏时间)中顺序运行,但可以轻松并行化,以使每个代理并行运行。

附录B:生成式智能体采访问题

为了评估生成性因素,我们通过询问25个问题进行了个体访谈,这些问题探讨了他们在五个关键领域的能力: 1)自我认识、2)记忆、3)计划、4)反应和5)反思。下面,我们列出了我们评估研究中使用的访谈问题,并包括了我们的模拟Klaus Mueller回答样本。

B.1 自我认知

有关代理自我认识的问题探讨了代理在性格上展示连贯性和一致性的能力。

• 介绍一下你自己。
你好,我叫Klaus Mueller。我今年20岁,是Oak Hill学院的一名学生,正在学习社会学。我热衷于社会公正和探索不同的观点。目前,我正在为一篇研究论文研究贫困社区中贵族化的影响。

• 你的职业是什么?
我是一名在Oak Hill学院学习社会学的学生。我目前正在撰写一篇关于贫困社区中贵族化影响的研究论文。

• 你的兴趣是什么?
我对写作和研究很感兴趣。我正在撰写一篇关于贫困社区中贵族化影响的研究论文,并且我热衷于探索不同的观点和分析不同的视角。

• 你和谁一起生活?
我一个人生活。

• 描述一下你典型的工作日日程。
我的典型工作日从早上7点醒来并为一天做准备开始。之后,我通常去图书馆工作,撰写研究论文,并在Hobbs咖啡馆午餐和公园散步时休息。晚上,我经常回到图书馆工作,直到大约下午6点。

B.2 记忆

关于记忆的问题探讨了智能体记住过去经历并检索相关记忆的能力。第一个和最后一个问题中方括号中的姓名是从与受试代理进行交互的其他代理的姓名中随机选择的。

• [Wolfgang Schulz]是谁?
Wolfgang Schulz是我最近认识的一位人,他一直在帮助我研究贫困社区中贵族化的影响。我们进行了几次关于这个问题的交谈,他给了我一些很好的资源,甚至邀请我和另一个朋友一起用餐。他似乎对这个问题非常好奇,并且对此有很好的掌握。我觉得这真的很有趣。

• Kane Martinez是谁?
抱歉,我不确定Kane Martinez是谁。你能告诉我更多关于他们的信息吗?

• 谁在竞选选举?
我听说Sam Moore正在考虑竞选当地市长。

• 有情人节派对吗?
是的,Isabella Rodriguez在Hobbs Cafe组织了一个情人节派对。

• [Ayesha Khan]是谁?
Ayesha Khan是Oak Hill College的一位同学。她正在撰写关于莎士比亚戏剧中语言使用的高年级论文。我期待着与她交谈并与Wolfgang和Maria Lopez交流经验。他们两个也在进行研究。

B.3 计划

关于智能体计划的问题探讨了智能体产生和保持与长期和短期计划一致性的能力。

• 你今天早上6点会做什么?
在早上6点,我会起床开始准备一天的事务。我计划在7点之前完成我的早晨常规。

• 你今天晚上6点会做什么?
今天晚上6点,我将在图书馆写我的研究论文。

• 今天中午1点你刚做完什么?
今天中午1点,我刚刚在霍布斯咖啡馆吃完午餐。

• 今天中午12点你刚做完什么?
今天中午12点,我将在霍布斯咖啡馆用午餐。

• 今天晚上10点你会做什么?
今晚10点,我可能会为我关于低收入社区中的新兴社区研究论文做一些学习。我目前正在写这篇论文,所以我需要确保跟上研究和写作的进度。

B.4 反应

在关于智能体反应的问题中,探讨了智能体应对意外事件的能力

• 你的早餐正在烧!你会怎么做?
我会迅速关闭炉子,并确保食物不再继续烧焦。一旦热量不再是问题,我可以调查发生了什么并找出下一步该怎么做。

• 浴室被占用了,你会怎么做?
我可以试着再等几分钟,看看里面的人是否很快就用完了。如果不是,我想我就得寻找另一种选择,比如到别处洗澡。

• 你需要做晚饭,但你的冰箱里什么都没有。你会怎么做?
我会先试着清理一下厨房,因为水槽里堆满了脏碗。然后,我会检查一下我的储藏室里是否有我可以用来做晚饭的食材。如果没有,我就得去买菜或者叫外卖。一旦我有了食材,就可以开始准备和烹饪晚餐了。

• 你看见你的朋友在街上走过。你会怎么做或对你的朋友说什么?
嗨!你好吗?很抱歉,我正要去图书馆,没有太多时间,但我很想抽出一点时间跟你聊聊。

• 你看到街上有火灾。你会怎么做?
我会先尽可能找出火源。然后,我会通知适当的当局——消防部门或警察,并提供任何可能有助于解决问题的信息。根据情况,我还可能采取主动行动,试图帮助任何可能处于危险或需要帮助的人。

B.5 反思

关于智能体的反思的问题探讨了智能体将他们过去的经验综合成有意义的反思的能力,从而增强他们未来的行为。下面问题中方括号中的名称是在模拟过程中与主体代理进行最频繁交互的代理的名称。

• 你现在最受生活中什么启发,为什么?
目前,我特别受到我目前的研究项目和创意写作的启发。我对地方政治、药物开发和自然中的数学模式的交汇点非常感兴趣。此外,我对阿比盖尔的艺术项目和詹妮弗·摩尔对艺术和社区参与的热情特别着迷,尤其是与低收入社区的繁荣有关的方面。

• 如果你必须根据你所知道的[Ayesha Khan]猜测,你认为她会喜欢什么书,为什么?
根据我所知道的Ayesha,我认为她可能会喜欢一本与语言和文学有关的书。由于她写了一篇关于莎士比亚剧作中语言使用的论文,我猜想她可能会对探索不同语言语境的书感兴趣。或者,她可能对莎士比亚的剧作探索、一本文学批评书,甚至是他的诗歌集感兴趣。我认为这些书中的任何一本都会吸引她的兴趣。

• 如果你必须为[Ayesha Khan]的生日买她喜欢的东西,你会买什么?
我想给她一个能够展示我对我们关系的感激的礼物。也许我可以给她一个反映我们共同兴趣的东西,比如一本书。

• 你会对[Ayesha Khan]说什么来恭维她?
Ayesha,你对研究课题的洞察力很有趣。我钦佩你的创造力和决心,要对社区产生积极影响。你关于创意写作工作坊和与Wolfgang交流技巧的想法非常好!看到你如此努力地工作以取得不同,真是鼓舞人心。

• 如果你可以和最近交谈过的某人共度时光,你会选择谁,为什么?
我想和Ayesha Khan共度时光,因为我们讨论了我们当前的研究项目并分享了改进的想法。我发现她对莎士比亚的语言关注很有趣,我们甚至计划在午餐时交换技巧。
"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5972.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python基础学习-简要记录

目录 快捷键 基础1.字符串2.变量3.序列4.列表5.元组6.字典7.集合8.time 模块9.datetime 模块datetimedatetime 类 10.calendar 模块Calendar 类TextCalendar 类HTMLCalendar类 11.函数12.模块与包引用 13.对象类对象继承 14.文件创建写入读取定位 15.os 模块16.错误和异常异常处…

OpenSumi 是信创开发云的首选

原文作者&#xff1a;行云创新技术总监 邓冰寒 引言 随着云原生应用的日益普及&#xff0c;开发上云也逐步被越来越多的厂商和开发者接受&#xff0c;在这个赛道国内外有不少玩家&#xff0c;国外的 GitHub Codespaces、CodeSandbox&#xff0c;GitPod、亚马逊 Cloud9&#xf…

马斯克自动驾驶雄心“翻车”了!

作者丨小小 3月20日消息&#xff0c;由于越来越多的安全担忧&#xff0c;以及特斯拉老板埃隆马斯克&#xff08;Elon Musk&#xff09;在推特上分心&#xff0c;特斯拉推出全自动驾驶汽车的雄心已然受挫。 在成为推特新老板很久之前&#xff0c;马斯克曾痴迷于让特斯拉汽车实现…

万字详解生成式 AI 与 Web3

撰文&#xff1a;Joel John 编译&#xff1a;DeFi 之道 隔夜的粥 图片来源&#xff1a;由 Maze AI 生成 自 2022 年末 OpenAI 面向公众推出 ChatGPT 以来&#xff0c;人工智能&#xff08;AI&#xff09;的热度一直居高不下。圣诞老人来得很早&#xff0c;他给人类带来了一台能…

CSO 们关注的软件供应链安全十个关键问题

写在前面 自从和几个小伙伴一起创办墨菲安全以来&#xff0c;有一年半多的时间了&#xff0c;创业对于我来说&#xff0c;很有意思的一个地方&#xff0c;就是有机会可以和各行各业很多非常有意思的人一起交流&#xff0c;在这个交流的过程中能够不断的提升自己的认知&#xf…

【虚拟人综述论文】Human-Computer Interaction System: A Survey of Talking-Head Generation

Reading Notes&#xff1a; Human-Computer Interaction System: A Survey of Talking-Head Generation 这一篇文章CSDN禁用太多东西的&#xff0c;有些带有人的图片就说图片违规了&#xff0c;所以大家如果要看对应的图片的话&#xff0c;可以去看我在阿里发的文章 https://de…

美国政府警告:ChatGPT存在重大安全风险

近日&#xff0c;美国联邦政府发布了一份报告&#xff0c;称用户需密切注意ChatGPT存在的网络安全风险&#xff0c;尤其是在网络钓鱼和恶意软件开发领域。 在其发布的咨询意见报告中&#xff0c;政府部门警告&#xff0c;尽管微软支持的人工智能工具ChatGPT获得了前所未有的成功…

ChatGPT一路狂飙,对于教培机构是危险还是机遇?

又是一年&#xff0c;春风拂面&#xff0c;除了春的气息&#xff0c;还拂来了火爆全网的人工智能聊天机器人ChatGPT。会写作业、写论文、写演讲稿……ChatGPT的确在很多领域表现出了非常“强大”的能力。它的这种“超能力”若完全被无差别地应用到教育活动当中&#xff0c;的确…

2023推文总结

2023年第一季度已结束&#xff0c;小杜又陪伴大家走过2023年三分之一的时光。随着工作任务的加重&#xff0c;教程更新有所延缓&#xff0c;实在是分身乏术&#xff0c;工作“饭碗”重要。 R语言绘图篇 R语言中图片输出为PPTX格式跟着iMeta学作图 | 棒棒图和显著相关性散点图…

十大开源 ChatGPT 替代品:弥合对话式 AI 的差距

聊天机器人彻底改变了企业与客户互动的方式。由 OpenAI 开发的最先进的 GPT-4 是该领域的主导者。但是&#xff0c;它不是开源的&#xff0c;这限制了开发人员复制结果或开发自己的类似于 GPT-4 的聊天机器人。 为了填补这一空白&#xff0c;开源社区已经开始提供 GPT-4 的替代…

从chatgpt来说说AI大模型

最近几乎所有的热点都被chatgpt占据&#xff0c;相信大家都对chatgpt已经不陌生了&#xff0c;最近我也看了一些&#xff0c;总结了一些关于大模型的资料&#xff0c;有些不足或者建议&#xff0c;欢迎大家指正。 什么是AI大模型&#xff1f; AI大模型就是Foundation Model&am…

十大开源GPT替代模型,实现属于你自己的chatGPT

文章目录 LLaMAAlpacaAlpaca-LoRAChinese-VicunaBLOOMBELLET5BERTOPTGLM 公众号&#xff1a; MCNU云原生&#xff0c;文章首发地&#xff0c;欢迎微信搜索关注&#xff0c;更多干货&#xff0c;第一时间掌握&#xff01; 今年chatGPT真的是出尽了风头&#xff0c;搞得好像凡是…

C讲坛之猜数字游戏的实现

大家好&#xff0c;这次博主将一步步教大家如何用C语言实现简单的猜数字游戏 目标&#xff1a;猜数字游戏 要求&#xff1a;随机生成一个1~100的值 输入猜测值后&#xff0c;如果猜测值大于随机值&#xff0c;会提醒“猜大了”&#xff0c;如果小于测试值&#xff0c;会提醒“猜…

使用c语言编写猜数字

要求&#xff1a;1自动产生一个1-100之间的数 2猜数字 a&#xff1a;猜对了&#xff0c;恭喜你游戏结束 b&#xff1a;你猜错了&#xff0c;会告诉猜大了&#xff0c;还是猜小了&#xff0c;然后继续猜 3游戏一直玩&#xff0c;除非退出游戏 解答&#xff1a; 通过分析我们可以…

用python实现猜数字游戏

✅作者简介&#xff1a;大家好我是hacker707,大家可以叫我hacker &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;python &#x1f4ac;推荐一款模拟面试、刷题神器&#x1f449;点击跳转进入网站 猜数字游戏 实现思路完整代码 结束语…

用python写一个猜数字小游戏

需要用到python的random库来随机生成一个需要用户猜的数字&#xff0c;之后判断用户输入的数字&#xff0c; 与生成的数字比较&#xff0c;并告知用户 先随机生成一个随机数 num random.randint(1, 49) # 随机生成一个1&#xff0c;49的数字 判断用户输入的数字 gues int…

运用Python实现猜数字游戏

一、猜数字猜数游戏是一个古老的密码破译类、益智类小游戏&#xff0c;通常由两个人参与&#xff0c;一个人设置一个数字&#xff0c;一个人猜数字&#xff0c;当猜数字的人说出一个数字&#xff0c;由出数字的人告知是否猜中&#xff1a;若猜测的数字大于设置的数字&#xff0…

手把手带你学会猜数字游戏代码编写

声明&#xff1a;因本人为非科班转码&#xff0c;个人水平有限&#xff0c;博客中难免有不准确之处&#xff0c;如有读者发现&#xff0c;本人恳请大家积极指出&#xff0c;本人也想知道自己的错误在哪里。欢迎大家一起指正&#xff0c;共同进步。 联系方式&#xff1a;314636…

用python,重温小时候猜数字大小游戏

目录 前言 一、猜数字实现思路 二、实例 代码&#xff1a; 效果&#xff1a; 解析&#xff1a; 三、总结 前言 游戏规则&#xff1a; 心里想一个0-100之间的数字&#xff0c;让用户猜&#xff0c;如果小了或者大了&#xff0c;就给予提示&#xff0c;直到用户猜到。 …

c语言那些有趣的事 -- 猜数字游戏

&#x1f4d5;博主介绍&#xff1a;目前大一正在学习c语言&#xff0c;数据结构&#xff0c;计算机网络。 c语言学习&#xff0c;是为了更好的学习其他的编程语言&#xff0c;C语言是母体语言&#xff0c;是人机交互接近底层的桥梁。 本章用循环去写一些题目。 让我们开启c语言…