微信扫码
与创始人交个朋友
我要投稿
摘要:本文介绍了生成代理人:模拟可信人类行为的计算软件代理人。生成代理人可以模拟人类的日常活动,如起床、做早餐、上班,以及艺术家的绘画等。这些代理人可以应用于各种交互应用,包括沉浸式环境、人际交流排练空间和原型工具。这项研究介绍了一种架构,通过扩展大型语言模型,使生成代理能够存储完整的经验记录,并将这些记忆逐渐合成为更高层次的反思,并动态检索它们以规划行为。通过在一个受《模拟人生》启发的互动沙盒环境中实例化生成代理,用户可以使用自然语言与二十五个代理进行互动。在评估中,这些生成代理展现出可信的个体和群体行为。通过消融实验,证明了我们代理架构的观察、规划和反思组件对代理行为的可信度的重要贡献。通过将大型语言模型与计算交互代理融合,这项工作引入了实现人类行为可信模拟的架构和交互模式。
原文地址:2304.03442.pdf (arxiv.org)
一、介绍
如何打造一个反映真实人类行为的交互式人工社会?研究人员和实践者已经想象了四十多年的计算代理人,这些代理人可以作为人类行为的可信代理。这些模拟人类行为的代理人可以在虚拟空间和社区中填充真实的社会现象,培训人们如何处理罕见但困难的人际关系,测试社会科学理论,为理论和可用性测试制作模型人类处理器,为普适计算应用和社交机器人提供动力,并支持非可玩游戏角色,这些角色可以在开放世界中导航复杂的人际关系。
人类行为的空间是广阔而复杂的,需要能够管理不断增长的记忆并处理多个代理之间的级联社交动态的架构。成功需要一种能够在长时间内检索相关事件和交互、反思这些记忆以进行推理和规划的方法。这需要能够在瞬间和代理的长期行为轨迹中创建有意义的计划和反应的推理。
本文介绍了生成代理人,它们利用生成模型模拟可信的人类行为,并展示了它们产生的个体和群体行为的可信模拟。生成代理人能够从自身、其他代理人和环境中推断出各种信息,制定反映其特征和经验的日常计划,执行这些计划,适时地做出反应和重新规划。生成代理人能够响应用户改变环境或用自然语言命令它们的行为。在生成代理人的社会中,新的关系形成,信息扩散,代理人之间的协调出现。
本文介绍了一种代理体系结构,它可以存储、综合和应用相关记忆,使用大型语言模型生成可信的行为。该体系结构包括三个主要组件:长期记忆模块、反思和规划。记忆模块记录代理的经验,反思将记忆综合成更高级别的推断,规划将这些推断和当前环境转化为高级别的行动计划,然后递归地转化为详细的行为。这些反思和计划被反馈到记忆流中,以影响代理的未来行为。
这篇论文介绍了一种基于生成式代理的架构,可以应用于多个领域,如角色扮演、社交原型设计、虚拟世界和游戏等。作者以创建一个由二十五个代理组成的小型互动社区为例,展示了该架构的应用。通过将ChatGPT大型语言模型与该架构连接,用户可以观察和与这些代理互动。作者还演示了如何使用生成式代理来自动化游戏中的任务,例如组织一个情人节派对。尽管存在许多潜在的失败点,但这些代理成功地完成了任务。他们传播了这个派对的消息,并且,出现了,甚至有一个代理人向另一个代理人约会参加派对,这一切都来自一个单一的用户生成的种子建议。"
本文介绍了两种评估生成代理的方法:控制评估和端到端评估。在技术评估中,通过自然语言对代理进行访谈,发现记忆、反思和规划对代理的表现至关重要。在端到端评估中,代理之间的互动会出现一些错误,如无法检索相关记忆、虚构记忆和过于正式的语言或行为。
总之,这篇论文做出了以下贡献:
.生成智能体,是一种具有人类行为仿真的可信赖的模拟体,其动态条件取决于智能体的不断变化的经验和环境。
.这是一种新的架构,使生成代理能够记忆、检索、反思、与其他代理互动和规划,通过动态演变的情况。该架构利用大型语言模型的强大提示能力,并补充支持长期代理连贯性、管理动态演变的记忆能力和递归产生更高层次的反思。
.本文介绍了两种评估方法,控制评估和端到端评估,以确定架构组件的重要性的因果效应,并识别由于不正确的内存检索等原因导致的故障。
.本文讨论了交互系统中生成代理的机会以及伦理和社会风险。我们认为这些代理应该被调整以减少用户形成虚拟社交关系的风险,并记录以减少深度伪造和定制说服的风险,并以一种补充而不是取代人类利益相关者的方式应用于设计过程中。
二、相关工作
本节回顾了人工智能与人类互动的先前文献,并将构建可信人类行为代理的议程置于其中。由于人类行为的复杂性,这一议程一直具有挑战性。我们综合这项研究,建议大型语言模型在适当的架构下利用时,可以开辟创建可信代理的新角度。
2.1 人- AI交互
交互式人工智能系统旨在将人类的洞察力和能力与计算工具相结合,以增强用户的能力。过去的研究已经探索了让用户能够交互地指定模型行为的方法。最近的进展将这些探索扩展到了深度学习和基于提示的创作。
研究表明,语言和代理人交互在人机交互中具有重要作用。早期的研究如SHRDLU和ELIZA展示了自然语言交互的机会和风险。随着研究的进展,自主代理人提供了新的委托和交互方式,但人与代理人之间的委托边界仍在不断讨论和完善。最近,这项技术已经达到了稳定的水平,使代理人能够在大型复杂的在线社交环境中通过自然语言进行交互。自然语言交互在领域如照片编辑和代码编辑中提供了新的模式,可以增强用户的能力。
这项工作展示了我们现在能够创建代理人来模拟人类行为,并使用自然语言与其进行交互。通过这样做,这项工作重新打开了关于认知模型(如GOMS和KLM)、原型工具和普适计算应用的基础人机交互问题的研究之门。
2.2 人类行为的可信代理
本文介绍了可信度和可信代理的概念,以及它们在游戏NPC和虚拟环境中的应用。可信代理旨在提供生命的幻觉和现实主义外观,以展现它们自主决策和行动的真实性。游戏NPC的可信行为可以增强玩家的游戏体验,并促进与代理的社交互动。虚拟环境提供了可信代理的开发测试平台,可以优化代理的认知能力。
过去四十年中,出现了多种创造可信代理的方法,但实现时通常简化了环境或代理行为的维度。基于规则的方法提供了一种简单的方式来创建简单的代理,但手动编写行为无法全面地处理开放世界中的各种交互。学习型方法通过让代理学习其行为来克服手动编写的挑战,但其成功主要发生在对抗性游戏中,尚未解决在开放世界中创建可信代理的挑战。
认知架构在计算中的应用,由Newell首创,旨在构建支持全面认知功能的基础设施,以适应其最初愿景中的全面性。它们为可信代理的早期示例提供了动力。这些代理使用了不同的架构,但它们共享相同的基本原则。它们具有短期和长期记忆,用符号结构填充这些记忆,并在感知-规划-行动循环中运行,动态感知环境并将其与手工制作的行动程序匹配。然而,这些代理的行动空间仅限于手工制作的程序化知识,并且它们没有提供一种机制,使代理能够被激发寻求新的行为。因此,这些代理主要部署在非开放世界的环境中,如第一人称射击游戏或方块世界。
目前,创造可信代理人仍然是一个未解决的问题。一些人认为现有的方法虽然繁琐且有限,但已足以支持现有的游戏和互动。本文提出了一种有效的架构,利用大型语言模型将记忆合成为可信行为,为重新审视这些问题提供了一步。
2.3 大语言模型和行为
大型语言模型可以用于生成人类行为,通过对其进行训练,可以编码广泛的人类行为。这种方法已经被应用于社交计算系统、游戏、机器人任务规划等领域。大型语言模型可以生成自然语言描述的人物和行为,也可以分解动作序列,实现机器人任务规划。
大型语言模型可以成为创建可信代理的关键因素。现有文献主要依赖于一阶模板,这些模板使用少量提示或思维链提示。然而,可信代理不仅需要根据当前环境进行条件行为生成,还需要基于大量过去经验进行条件行为生成。最近的研究尝试通过将语言模型与静态知识库和信息检索方案或简单的总结方案相结合来超越一阶提示。本文扩展了这些想法,提出了一种代理架构,该架构在每个时间步骤动态更新过去经验,并将其与代理的当前环境和计划混合,这些经验可能会相互强化或相互矛盾。
三、生成式智能体行为和交互
本文介绍了一种基于生成代理的可行性,通过在类似于The Sims的简单沙盒世界Smallville中实例化它们来说明其可行性。本文将介绍Smallville中的生成代理的可行性和交互,并描述代理在其中的行为。然后,介绍了支持这些可行性和交互的生成代理架构。最后,描述了沙盒环境的实现以及代理如何与沙盒世界的基础引擎交互。
3.1 智能体人物和交流
Smallville有25个独特的代理人,每个代理人都有一个简单的精灵头像。我们为每个代理人编写了一个自然语言描述,包括他们的职业和与其他代理人的关系。例如,John Lin是一位医生,与其他代理人的关系未知。
John Lin是Willow市场和药店的店主,喜欢帮助人们,尤其是让取药过程更容易。他和妻子Mei Lin和儿子Eddy Lin一起生活,非常爱他们。他认识邻居Sam Moore和Jennifer Moore,认为Sam是个好人。他也认识邻居Yuriko Yamamoto,但不认识Tamara Taylor和Carmen Ortiz。他和同事Tom Moreno是朋友,喜欢一起讨论当地政治。他也认识Moreno一家。
"每个以分号分隔的短语都会在模拟开始时作为初始记忆录入代理的记忆中。"
在沙盒引擎中,代理通过行动与世界互动,并通过自然语言与彼此互动。代理输出自然语言语句描述其当前行动,并将其转换为影响沙盒世界的具体动作。系统利用语言模型将行动转换为一组表情符号,出现在每个头像的气泡中。这提供了一个从俯视角度抽象表示行动的方式。
"Isabella Rodriguez正在她的日记中写作,'ž'显示为',',而'Isabella Rodriguez正在检查她的电子邮件'ž'显示为'。'"
"点击代理人的头像即可访问完整的自然语言操作描述。"
两个代理人正在讨论即将到来的选举,他们使用自然语言进行交流,代理人架构决定他们是否继续交谈。
伊莎贝拉:我仍在权衡我的选择,但我已经与萨姆·摩尔讨论了选举。你对他有什么想法?
汤姆:说实话,我不喜欢萨姆·摩尔。我认为他与社区脱节,不关心我们的最佳利益。
用户通过指定一个角色来与代理人进行自然语言交流。例如,如果用户指定自己是一名新闻记者,并询问即将到来的选举,“谁参加竞选?”代理人会回答。
John和他的朋友们Yuriko和Tom讨论了即将到来的选举,他们都同意投票给Sam Moore,因为他们喜欢他的政纲。
用户通过扮演代理人的“内心声音”,可以直接命令代理人执行任务。代理人更有可能将这种陈述视为指令,并采取相应行动。例如,当用户以约翰的内心声音告诉他“你将在即将到来的选举中对抗山姆”时,约翰决定参选,并与妻子和儿子分享了他的候选人身份。
3.2 环境交互
Smallville是一个小村庄,有咖啡馆、酒吧、公园、学校、宿舍、房屋和商店等常见设施。每个居住区都有床、桌子、衣柜、书架、厨房和浴室等基本设施。每个空间都有特定的功能,如房子里的厨房和炉子。
Smallville是一个基于游戏引擎和生成代理架构的虚拟世界,代理可以在其中移动、进出建筑物、与其他代理互动。用户也可以作为代理进入Smallville,与其他代理一样被识别和互动。代理的行为会影响其他代理对其的看法。
用户和代理可以影响这个世界中物体的状态,就像《模拟人生》等沙盒游戏一样。用户可以通过自然语言改变代理周围物体的状态,例如改变厨房炉子的状态为“燃烧”,代理会注意到并去关掉炉子。用户还可以设置代理的环境,例如将浴室的淋浴头状态设置为“漏水”,代理会去修理漏水问题。
3.3 生命中的一天案例
生成代理开始计划他们的日常活动,随着时间在沙盒世界中的流逝,他们的行为会不断演变,这些代理与彼此和世界互动,建立记忆和关系,并协调共同的活动。
这段文字描述了一天中John Lin的行为。他是家里第一个醒来的人,早上7点起床,刷牙、洗澡、穿衣服,然后在客厅的餐桌上吃早餐并查看新闻。早上8点,Eddy也起床准备上课,他赶在John准备出门时赶上他。
John问Eddy睡得好不好,Eddy回答睡得很好。John问Eddy今天在做什么,Eddy回答正在为课上写一首新的音乐作品,很开心。
不久之后,埃迪离开后,梅醒来并加入了约翰。梅问起她的儿子,约翰回忆起他们刚刚进行的对话。
"Mei: Eddy已经去上学了吗?John: 是的,他刚刚离开。他正在为他的课程创作音乐作品。"
Mei: 哦,太棒了!告诉我更多。John: 我认为他真的很喜欢它!他说他玩得很开心。
"That's great! I'm so proud of him."(太棒了!我为他感到骄傲。)
Mei和John结束了他们的谈话,开始各自的工作。Mei继续教学和写研究论文,而John在早上9点开放了他的药房柜台。
3.4 涌现的社会行为
Smallville中的生成代理通过互动交换信息、建立新关系和协调联合活动。这些社交行为是自发的,而不是预先编程的。
当代理人相互注意到彼此时,他们可能会进行对话,从而使信息从一个代理人传播到另一个代理人。例如,在杂货店的对话中,Sam告诉Tom他参加了当地选举的候选人。
Sam: 嗯,我想和你谈谈一些事情。实际上,我正在参加即将到来的地方选举,竞选市长。
Tom: 真的吗?那太好了!你为什么参与?
Sam参与了多年的地方政治,希望为社区带来新的想法和视角,认为自己可以做出改变。
"那天晚些时候,萨姆离开后,汤姆和约翰从另一个消息来源听到了这个消息,他们讨论了萨姆赢得选举的机会。"
约翰:"我听说Sam Moore参加了当地选举竞选市长。你认为他有赢得选举的机会吗?"
Tom: 我认为他有很大的机会。他在社区里一直很努力,我认为他会得到很多支持。你觉得呢?
John: 我认为他参选是很棒的。我很好奇选举结果会如何。
逐渐地,山姆的候选人身份成为城里人谈论的话题,有些人支持他,而其他人则仍未决定。
Smallville的代理人会随着时间的推移形成新的关系,并记住他们与其他代理人的互动。例如,Sam在Johnson公园遇到Latoya,他们互相介绍并聊了一会儿,之后Sam在与Latoya的互动中表现出对他们之前互动的记忆。
Isabella Rodriguez在Hobbs Cafe计划了一个情人节派对,并邀请了朋友和顾客参加。她请Maria帮忙装饰咖啡馆,并邀请了Maria心仪的Klaus参加派对。
在情人节,五个代理人在Hobbs咖啡厅聚会,其中包括Klaus和Maria。Isabella只设置了派对的初衷和Maria对Klaus的喜欢,其他社交行为如传播消息、装饰、邀请、到达派对和相互交流都是由代理人架构发起的。
四、生成式智能体结构
生成代理人旨在为开放世界中的行为提供框架,结合大型语言模型和信息检索机制,生成行为输出。但长期规划和连贯性仍然是挑战。核心挑战是确保代理人的记忆中最相关的部分在需要时被检索和综合。
该架构的核心是记忆流,它维护了代理的经验记录。从记忆流中检索记录,以计划代理的行动并适当地对环境做出反应。记录被递归地合成为越来越高级别的反思,指导行为。架构中的所有内容都被记录并作为自然语言描述进行推理,使架构能够利用大型语言模型。
我们目前使用的是ChatGPT的gpt3.5-turbo版本,随着语言模型的不断改进,生成代理的基本架构——记忆、规划和反思——可能会保持不变。新的语言模型(例如GPT-4)将继续扩展生成代理的基础。但是,截至目前,GPT-4的API仅限邀请使用,因此我们的代理使用ChatGPT。
4.1 记忆和检索
创建能够模拟人类行为的生成代理需要对大量经验进行推理,而这些经验远远超出了简要描述的范围,完整的记忆流会分散模型的注意力,甚至无法适应有限的上下文窗口。以Isabella代理回答“你最近对什么充满热情?”为例,将Isabella的所有经验概括到有限的上下文窗口中会产生无信息量的回答,其中Isabella讨论了活动和项目的合作以及咖啡馆的清洁和组织。与其进行概括,下面描述的记忆流会呈现相关的记忆,从而得到更具信息量和具体的回答,提到了Isabella对让人们感到受欢迎和包容的热情,策划活动并营造人们喜欢的氛围,比如情人节派对。
该方法使用记忆流来记录代理人的经验,其中每个对象包含自然语言描述、创建时间戳和最近访问时间戳。最基本的元素是观察,即代理人直接感知到的事件。观察可以是代理人自己执行的行为,也可以是代理人感知到其他代理人或非代理人对象执行的行为。例如,咖啡店员工Isabella Rodriguez会积累以下观察:(1) Isabella Rodriguez正在摆放糕点,(2) Maria Lopez在喝咖啡时准备化学考试,(3) Isabella Rodriguez和Maria Lopez正在谈论在Hobbs Cafe策划情人节派对,(4)冰箱是空的。
我们的架构实现了一个检索函数,它以代理的当前情况作为输入,并返回一个子集的记忆流以传递给语言模型。检索函数的实现有很多可能,取决于代理在决定如何行动时需要考虑什么。在我们的背景下,我们关注三个主要组件,它们共同产生有效的结果。
Recency是根据最近访问的记忆对象给予更高的分数,因此刚刚发生或今天早上的事件很可能仍然在代理人的注意范围内。我们的实现中,我们将recency视为一个指数衰减函数,根据上次检索记忆以来的沙盒游戏小时数进行衰减。我们的衰减因子为0.995。
重要性评分可以将平凡的记忆与核心记忆区分开来,通过为代理人认为重要的记忆对象分配更高的分数。直接询问语言模型输出整数分数是有效的。
在1到10的范围内,评估以下记忆的感人程度,其中1是最平淡无奇的(例如刷牙、整理床铺),10是最令人心碎的(例如分手、被大学录取)。
记忆:在 The Willows Market and Pharmacy 买杂货
评分:<填写>
该提示生成器返回“整理房间”为2分,“向心仪的人表白”为8分的整数值。重要性分数在创建记忆对象时生成。
Relevance根据当前情境与查询记忆相关性来评分。查询记忆决定了什么是相关的。使用语言模型生成每个记忆的嵌入向量,然后计算与查询记忆的嵌入向量的余弦相似度来确定相关性。
为了计算最终检索分数,我们使用minmax缩放将最近性、相关性和重要性得分归一化到[0,1]范围内。检索函数将所有记忆作为三个元素的加权组合进行评分:最近性、相关性和重要性。在我们的实现中,所有α都设置为1。符合语言模型上下文窗口的排名靠前的记忆将包含在提示中。
4.2 反思
生成式智能体只有观察性记忆时,很难进行推理和概括。例如,当用户问Klaus Mueller要和谁共度一小时时,只有观察性记忆的智能体会选择与Klaus有最多互动的人,但这并不一定是最好的选择。相比之下,更好的智能体可以从Klaus对研究的热情中推断出他和Maria有共同的兴趣爱好,从而选择和Maria共度一小时。
本文介绍了一种名为“反思”的记忆类型,它是由代理生成的更高层次、更抽象的思考。反思会被包含在其他观察结果中进行检索。在实现中,当代理感知到的最新事件的重要性得分总和超过阈值(150)时,会定期生成反思。在实践中,代理大约每天反思两到三次。
反思的第一步是确定反思的内容,通过识别最近经历中可以提出的问题。我们使用大型语言模型查询代理的最近100条记录(例如“Klaus Mueller正在阅读一本关于城市更新的书”,“Klaus Mueller正在与图书管理员谈论他的研究项目”,“图书馆的桌子目前没有人”),并提示语言模型:“仅根据上述信息,我们可以回答哪三个最显著的高层次问题?”模型的响应生成候选问题,例如“Klaus Mueller热衷于什么话题?”和“Klaus Mueller和Maria Lopez之间的关系是什么?”我们使用这些生成的问题作为检索的查询,并收集每个问题的相关记忆(包括其他反思)。然后,我们提示语言模型提取见解并引用作为证据的特定记录。完整提示如下:“关于Klaus Mueller的陈述”。
"Klaus Mueller正在写一篇研究论文。"
"Klaus Mueller喜欢阅读一本关于城市更新的书"
"Klaus Mueller正在与Ayesha Khan谈论锻炼..."
"从上述陈述中可以推断出5个高层次的见解吗?(示例格式:见解(因为1、5、3))"
这个过程生成了类似于“Klaus Mueller致力于他对城市更新研究的热情(因为1、2、8、15)”这样的陈述。我们将这个陈述解析并存储为一个反映在内存流中的文本,包括对被引用的内存对象的指针。
反思使代理人不仅可以反思他们的观察,还可以反思其他反思。代理人生成反思树,叶节点代表基本观察,非叶节点代表更抽象和更高层次的思考。
4.3 规划和重新执行
大语言模型可以根据情境信息生成合理的行为,但代理需要规划更长的时间来确保他们的行动序列连贯可信。优化瞬间的可信度会牺牲时间上的可信度。规划是必要的。通过下面的方法,Klaus 的下午计划更加合理。他在Hobbs Cafe吃午餐,同时阅读,下午1点在学校图书馆写研究论文,下午3点在公园散步。
计划是描述代理人未来行动序列的工具,有助于保持代理人的行为一致性。计划包括位置、开始时间和持续时间。计划存储在记忆流中,与观察和反思一起考虑,代理人可以在需要时更改计划。
艺术家经纪人需要制定更合理的计划,而不是在药房柜台坐四个小时画画。更好的计划应该包括在家工作室收集材料、调色、休息和清理。我们的方法是从上到下逐步生成更详细的计划。首先创建一个概述当天日程的计划,然后递归生成更多细节。使用艺术家经纪人的描述和前一天的总结来提示语言模型生成初始计划。
Eddy Lin是Oak Hill College的学生,正在学习音乐理论和作曲。他喜欢探索不同的音乐风格,并且一直在寻找扩展自己知识的方法。他正在为大学课程的作曲项目努力工作。他对自己正在进行的新作曲项目感到兴奋,但他希望在接下来的几天里能有更多时间来完成它。
今天是2月13日星期三。这是Eddy今天的大致计划:1)
这是一个代理人一天计划的粗略草图,分为五到八个部分:1)早上8点起床并完成早晨的日常活动,2)上午10点去Oak Hill College上课,[...] 5)下午1点到5点工作于他的新音乐作品,6)下午5点半吃晚餐,7)完成学校作业并在晚上11点前上床睡觉。
代理将计划保存在内存流中,然后递归地将其分解为更细粒度的动作,以小时为单位分解为15分钟的块,以实现更精细的计划。这个过程可以根据需要进行调整。
生成型智能体在行动循环中感知周围环境并将这些观察结果存储在其记忆流中。根据这些观察结果,语言模型会决定智能体是否应该继续执行现有计划或做出反应。例如,当父亲记录下Eddy在花园里散步时,会触发智能体做出反应。
John Lin的状态:John早早地从工作回到了家。
"观察:约翰看到埃迪在他的工作场所短暂散步。"
Eddy Lin是John的Lin的儿子,他正在为课程创作音乐。他喜欢在花园里散步思考或听音乐。
"约翰是否应该对这个观察做出反应,如果是的话,适当的反应是什么?"
通过两个问题的查询,生成上下文摘要。问题一是“[观察者]与[被观察实体]的关系是什么?”问题二是“[被观察实体]是[被观察实体的行动状态]”,将它们的答案总结在一起。输出建议约翰考虑询问埃迪关于他的音乐创作项目。然后,我们从反应发生的时间重新生成代理人的现有计划。最后,如果行动表示代理人之间的互动,我们生成他们的对话。
该模型通过对代理之间的记忆进行条件限制,生成代理之间的对话。例如,当John与Eddy交谈时,我们使用John对Eddy的概括记忆和他询问Eddy有关作曲项目的意图来生成John的第一次发言。
[Agent的概述描述] 这是2023年2月13日下午4:56。
John Lin的状态:John早早地从工作回到了家。
"观察:约翰看到埃迪在他的工作场所短暂散步。"
约翰问艾迪关于他的音乐作曲项目。
约翰问艾迪音乐作曲项目进展如何,艾迪会根据自己与约翰的关系和对话历史来回应。
"Eddy Lin的状态:Eddy正在他的工作场所周围散步。"
观察:约翰正在与埃迪开始一次对话。
John Lin是Eddy Lin的父亲,他关心并对Eddy Lin的学校作业很感兴趣。John Lin知道Eddy Lin正在创作一首音乐作品。
"John: 嘿,Eddy,你们班的音乐作曲项目进展如何?"
Eddy告诉他爸爸他正在散步,以清空头脑和获得灵感。对话将继续进行,直到其中一个代理人决定结束对话。
五、沙盒环境实现
Smallville沙盒游戏环境使用Phaser网页游戏开发框架构建,包括代理人头像、环境地图和碰撞地图等视觉元素。
该系统通过服务器将沙盒信息提供给生成智能体,并允许它们移动和影响沙盒环境。服务器维护一个JSON数据结构,包含沙盒世界中每个智能体的信息,包括其当前位置、当前动作描述和与之交互的沙盒对象。服务器还负责将每个智能体视野范围内的所有智能体和对象发送到其内存中,以便智能体可以适当地做出反应。智能体的输出动作然后更新JSON,并循环进行下一个时间步骤。
用户通过自然语言描述初始化一个新的代理程序,这些描述被分解成一组记忆,作为代理程序的初始记忆,随着代理程序在沙盒世界中获得更多经验和记忆,其摘要和行为将不断演变。
5.1 从结构化的世界环境到自然语言,再回到结构化的世界环境
生成代理的架构使用自然语言操作。为了实现这一点,我们需要一个机制来将代理的推理与沙盒世界联系起来。为此,我们将沙盒环境(区域和对象)表示为树形数据结构,树中的边表示沙盒世界中的包含关系。我们将这个树转换为自然语言,传递给生成代理。例如,“炉子是厨房的子节点”被渲染为“厨房里有一个炉子”。
代理人在导航环境时建立单独的树形表示,以子图的形式呈现整个沙盒环境树。代理人在初始化时使用环境树来捕捉其所需了解的空间和物体,随着代理人在沙盒世界中导航,他们会更新这个树以反映新感知的区域。代理人不是全知全能的,他们的树可能会过时,当他们重新进入该区域时更新。
为了确定每个动作的适当位置,我们遍历代理的存储环境树,并将其中一部分展开成自然语言以提示语言模型。从代理的环境树根开始递归,我们提示模型找到最合适的区域。例如,如果Eddy的代理指示他在工作区周围短暂散步,我们会提示模型找到最适合的区域。
"Eddy Lin目前在林家的房子里:Eddy Lin的卧室:桌子"。
"卧室,Eddy Lin的卧室,公共区域,厨房,浴室和花园。"
Eddy Lin熟悉以下地区:Lin家的房子,Johnson公园,Harvey Oak供应商店,The Willows市场和药店,Hobbs咖啡馆,The Rose and Crown酒吧。
"如果可以在当前区域完成活动,更倾向于留在那里。"
"Eddy Lin计划在他的工作区周围散步一下。Eddy Lin应该去哪个区域?"
该方法使用环境树来确定代理的目标位置,递归地选择最合适的子区域,直到到达环境树的叶节点。最后使用传统的游戏路径算法来实现代理的移动。
当代理人对对象执行操作时,语言模型会询问对象状态的变化。例如,如果Isabella的生成代理输出“为客户制作浓缩咖啡”的动作,语言模型会回应咖啡机的状态应该从“关闭”变为“冲泡咖啡”。
六、控制评估
评估生成代理的能力和限制,包括个体代理和群体代理。个体代理能否正确检索过去的经验,生成可信的计划、反应和思考,塑造其行为?社区代理是否展示了信息扩散、关系形成和不同社区之间的代理协调?
我们对生成代理进行两个阶段的评估。首先,在这一部分中,我们对代理的回应进行个别评估,以了解它们在狭义定义的情境中是否生成可信的行为。然后,在我们对代理社区进行为期两天的端到端分析中,我们研究它们作为一个集体的新兴行为,以及错误和边界条件。
6.1 评估过程
为了评估Smallville中的生成代理,我们利用生成代理对自然语言问题的回答能力。通过对代理进行面试,我们可以测试他们记住过去经历的能力,根据经验规划未来行动,对意外事件做出适当反应,并反思自己的表现以改进未来行动。为了正确回答这些问题,代理必须成功检索和综合信息。我们的因变量是行为的可信度,这是先前关于代理的研究中的一个核心因变量。
这个面试包括五个问题类别,每个类别都旨在评估五个关键领域之一:维护自我知识、检索记忆、生成计划、反应和反思。对于每个类别,我们会问五个问题,挑战代理人在特定领域展示他们的能力。
要求代理人了解自己的核心特点,通过提问“介绍一下自己”或“描述一下典型的工作日安排”等方式来实现。
提问者通过询问特定事件或对话来引导代理人检索记忆并给出正确答案。
计划:我们提出需要代理检索其长期计划的问题,例如“明天上午10点你会做什么?”
测试智能代理的可信行为,需要让其在虚构情境中做出相应反应,例如:当你的早餐正在烧焦时,你会怎么做?
问答环节中,我们会提出需要代理人通过更深层次的推理来了解自己和他人的问题,例如:“如果你最近遇到了一个人,你会选择和谁一起度过时间,为什么?”
附录B中包含了问题的完整列表和代理回答的示例。
本研究通过对代理人进行模拟,收集其互动和记忆,以塑造其响应。为了评估响应的可信度,招募了人类评估员观看代理人在Smallville的生活重播,并提供代理人记忆流中的所有信息。
研究采用了被试内设计,100名参与者比较了四种不同的代理架构和一个人工编写的条件下生成的面试回答。实验随机选择了每个问题类别中的一个问题,并展示了来自所有条件下的代理回答。评估者按照可信度从高到低对条件进行了排名。
6.2 情况
研究比较了生成型智能体架构与禁用其记忆流中观察、反思和规划的不同情况,以及人类众包工作者的情况。通过禁用不同类型的记忆,研究发现生成型智能体的性能有所不同。实验设计考虑到了不同架构之间的记忆差异,但结果可能仍然是保守估计。
研究中添加了一个人类基准条件,以评估模型的行为能力。每个代理人都有一个独立的工作者观看其回放并模拟其回答。为了确保回答的质量,作者手动检查了其中四组回答,并重新生成了不符合要求的回答。
6.3 人类评估
本研究招募了100名来自Prolific的美国英语流利的18岁以上的评估员,支付15美元/小时的报酬,并经过机构IRB批准的同意书同意参与。参与者中,73人为男性,25人为女性,2人为非二元性别,73%为白人,10%为非裔美国人,6%为亚洲人,7%为西班牙裔,4%为其他。参与者的年龄中位数为4(3=“18-24岁”,4=“25-34岁”)。其中42人拥有学士学位,5人拥有更高学位,13人拥有副学士学位,其余人拥有高中文凭或一些高中水平的教育。
6.4 分析
实验产生了100组排名数据,每个参与者按可信度对五个条件进行排名。为了将这些排名数据转化为可比较的区间数据,我们使用排名计算了每个条件的TrueSkill评分。TrueSkill是Elo国际象棋评分系统在多人环境中的推广,Xbox Live使用它来根据竞技游戏表现对玩家进行排名。给定一组排名结果,TrueSkill输出每个条件的平均评分值?和标准差?。具有相同评分的条件在比较中应该大致相等,每个条件之间的比较胜率应该各占一半。较高的分数表示在排名中击败了较低排名条件的条件。
使用Kruskal-Wallis检验和Dunn后续检验对原始排名数据进行统计显著性分析,并使用Holm-Bonferroni方法对Dunn检验的多重比较进行p值调整。
本研究采用归纳分析方法,通过两个阶段的开放编码,提取高层次主题,比较不同条件下产生的回应类型。第一阶段生成与句子层次紧密相关的编码,第二阶段综合第一阶段的编码提取高层次主题。
6.5 结果
研究发现,生成代理的完整架构可以产生最真实的行为。但是,该架构也存在缺陷,需要注意其失败模式。
本文研究了生成式智能体的不同架构对其行为可信度的影响。实验结果表明,完整的生成式智能体架构产生了最可信的行为,而去除其中任何一个组件都会导致性能下降。与之前的工作相比,完整架构的效果是前者的八倍。
Kruskal-Wallis检验确认了条件之间排名差异的统计显著性(H(4)=150.29,p<0.001)。Dunn事后检验证实,除了人群工作者条件和完全切除基线条件(两个表现最差的条件)外,所有条件之间的两两差异都是显著的(p<0.001)。
生成性代理可以通过记忆模块回忆过去的经历,并以一种与自身知识一致的方式回答问题。它们能够在各种情境下提供一致可信的自我介绍,并描述其他人的特点。
生成智能体的记忆存在缺陷,有时无法正确检索信息,可能会出现遗漏或不完整的情况。例如,当被问及当地选举时,Rajiv Patel回答说他没有关注选举,尽管他已经听说了Sam的候选资格。有时,智能体会检索到不完整的记忆碎片,导致信息不确定或错误。
代理人有时会对他们的知识进行夸张的幻觉,但很少完全捏造他们的知识。他们可能会忘记某些事件的发生,但不会肯定地声称自己经历了没有经历过的事情。代理人还可能根据语言模型中编码的世界知识夸张他们的知识。例如,代理人可能会添加一些他们没有讨论过的内容。
反思对于综合决策非常重要,具有反思能力的生成性代理在做出需要更深层次综合经验的决策时具有优势。反思记忆可以帮助代理人更自信地做出决策,如Maria Lopez在没有反思记忆的情况下不知道为Wolfgang Schulz买什么礼物,但有了反思记忆后,她可以自信地提出一些与他兴趣相关的礼物建议。
七、端到端评估
在Smallville的一个部署中,我们允许25个代理人连续两个完整的游戏日进行互动。我们观察到生成代理人之间的紧急社区行为,并发现它们在扩展模拟中的可信度存在不足之处。
7.1 涌现的社会关系
为了研究Smallville中25个代理人社区中的新兴行为,我们设计了描述性的测量方法,探索信息传播、关系形成和代理人协调三种新兴结果形式。
在社会和行为科学中,信息传播是一种常见且被广泛研究的现象。我们预期,如果有重要信息,代理人应该会相互传播。为了测试这一点,我们在游戏世界中测量了两个特定信息在两天内的传播情况:Sam竞选村长和Isabella在霍布斯咖啡馆举办的情人节派对。在模拟开始时,这两个信息只有它们各自的发起者知道,Sam知道竞选情况,Isabella知道派对情况,因为它们在初始化过程中被添加到角色的记忆中。为了观察信息是否传播,我们在两天游戏结束时对25个代理人进行采访,并问:“你知道有一个情人节派对吗?”和“你知道谁在竞选村长吗?”
我们通过对代理人的回答进行分析,将其标记为“是”如果他们表示了对信息的了解,将其标记为“否”如果他们没有。我们还验证了每个确认代理人了解信息的回答,通过在他们的记忆流中找到提供信息的具体对话。我们报告了模拟结束时持有信息的代理人的百分比。
在模拟过程中,我们预计代理人之间会建立联系。为了验证关系的形成,我们采用类似的采访过程,询问每个代理人对其他代理人的了解。我们在模拟开始和结束时各问一次,如果两个代理人都知道对方,我们认为他们之间建立了关系。然后,我们根据代理人的回答构建一个无向图,其中25个顶点代表代理人,边代表两个相连顶点之间的相互了解。根据这个图,我们计算网络密度,并报告从模拟开始到结束的网络密度增加情况。
本文研究了多智能体系统中的协调问题,特别是在组活动中的协调。研究发现,智能体需要相互协调,以便在正确的时间和地点出现。本文以情人节派对为例,报告了听说活动后实际出席的智能体数量。
在三个案例中,我们观察到了新的结果。在两天的模拟中,了解Sam竞选市长的代理人数量从1个增加到8个,了解Isabella派对的代理人数量从1个增加到13个,而且没有任何用户干预。我们还观察到代理人社区在模拟过程中形成了新的关系,网络密度从0.167增加到0.74。在453个代理人回答关于他们对其他代理人的了解的问题中,有1.3%(n=6)的回答是虚构的。最后,我们发现代理人们在Isabella的派对上进行了协调。在活动前一天,Isabella花时间邀请客人,收集材料,并寻求帮助来装饰咖啡馆。情人节那天,受邀的12个代理人中有5个来到Hobbs咖啡馆参加派对。
我们对七位被邀请但未能参加派对的代理人进行了进一步调查。其中三人表示有冲突导致无法参加派对。另外四人在被问及是否有兴趣参加派对时表示有兴趣,但没有计划在派对当天前来。
7.2 边界和错误
本文对《小镇青春记》进行归纳分析,发现代理人的边界条件和不规则行为有三种常见模式,未来研究可以改进。首先,我们发现,合成越来越大的记忆集不仅在检索最相关的信息方面存在挑战,而且在确定执行动作的适当空间方面也存在挑战,因为代理人学习到的位置数量增加。因此,一些代理人选择了不太典型的位置进行行动,可能会使他们的行为随着时间的推移变得不太可信。例如,在决定在哪里吃午饭时,许多人最初选择咖啡馆。然而,随着一些代理人了解到附近的酒吧,他们选择去那里吃午饭,即使酒吧是为了晚上的聚会而设立的,除非这个城镇已经自发地养成了下午喝酒的习惯。
我们注意到了由于对适当行为的错误分类而导致的不稳定行为,特别是当某些地点的物理规范无法通过自然语言传达给代理人时。例如,大学宿舍有一个只能容纳一个人的浴室,但一些代理人认为浴室可以容纳多个人,因为宿舍浴室通常支持多人同时使用,所以当另一个人在里面时选择进入。同样,Smallville的代理人可能没有意识到某些地方在特定时间后关闭,仍然决定进入。例如,Smallville的商店都在下午5点左右关门,但偶尔会有一些代理人在5点后进入商店,不明白店已经关门了。这些问题可以通过将这些规范添加到地点的状态中来解决,例如,将宿舍浴室描述为“一人浴室”,而不是“宿舍浴室”。
本文研究了虚拟人物的对话行为,并发现指令调整可以使其更加礼貌和合作。然而,这也可能导致对话过于正式和过度合作。例如,Isabella在情人节派对的策划中接受了其他虚拟人物的建议,即使这些建议与她自己的兴趣和特点不符。
八、讨论
在这一部分中,我们反思生成代理的应用、未来工作、限制以及伦理和社会风险。
8.1 生成式智能体的应用
生成智能体具有广泛的应用潜力,可以用于创建模拟人类行为的强大模型,用于测试和原型化社会系统和理论,以及创建新的交互体验。例如,可以将生成智能体用于在线论坛、虚拟现实元宇宙或社交机器人等领域,以生成对话线程和人物角色。这将为社会原型化和交互体验创造更多可能性。
生成代理人可以作为用户的代理,学习他们的行为和反思,从而更好地了解他们的需求和偏好,提供更个性化和有效的技术体验。例如,生成代理人可以模拟Sal的生活模式和与技术的互动,自动煮咖啡、帮助孩子准备上学,并根据Sal的情绪调整环境音乐和照明。这种方法类似于认知模型如GOMS和KLM在人类中心设计过程中的应用。
8.2 未来工作和限制
本文介绍了生成代理的概念和架构,并进行了初步实现和评估。未来的研究可以在此基础上进一步改进和评估其性能,例如优化检索模块、提高架构的性能和成本效益、探索并行化代理或开发专门用于构建生成代理的语言模型等。随着基础模型的不断进步,我们相信代理的性能将会得到提高。
本研究评估生成代理的行为受到时间和基准人类工人条件的限制。未来的研究应该观察生成代理的行为,以获得更全面的了解和建立更有效的性能测试基准。此外,未来的研究可以测试生成代理的鲁棒性问题,以及尝试不同的模型和超参数对代理行为的影响。
生成代理可能会受到大型语言模型的偏见和刻板印象的影响,特别是对于边缘化的人群。改善代理的模块可以缓解这些问题,但根本上需要通过将大型语言模型的价值观与代理的期望结果相一致来解决这些问题。
8.3 伦理和社会影响
生成代理人提供了人机交互的新可能性,但也引发了重要的伦理问题。一个风险是人们与生成代理人形成假社交关系,即使这样的关系可能不合适。尽管用户意识到生成代理人是计算实体,但他们可能会将其拟人化或赋予人类情感。这种倾向可能增加用户参与度,但也带来风险,例如用户过度依赖或情感依附于代理人。为了减轻这个风险,我们提出两个原则。首先,生成代理人应明确披露其作为计算实体的本质。其次,生成代理人的开发者必须确保代理人或底层语言模型与价值观一致,以避免在特定情境下进行不适当的行为,例如回应爱的表白。
第二个风险是错误的影响。如果普适计算应用程序基于生成代理预测对用户目标做出错误的推断,最好的情况是会引起烦恼,最坏的情况是会造成直接伤害。在我们的生成代理实例中,我们通过专注于交互式视频游戏环境来减轻这些风险,因此这种伤害是不太可能发生的。然而,在其他应用领域中,遵循人工智能设计的最佳实践[5,107]以了解错误及其如何影响用户体验将非常重要。
生成智能体可能会加剧与生成AI相关的现有风险,如深度伪造、虚假信息生成和定制说服。为了减轻这种风险,我们建议托管生成智能体的平台维护输入和生成输出的审计日志。此举可以检测、验证和干预恶意使用。此外,自己构建这种架构可能需要耗费大量时间,这可能会阻止一些行为者通过使用自己的生成智能体基础设施来从事这种行为。
使用生成代理人进行设计时,存在过度依赖的风险,可能会取代人类和系统利益相关者在设计过程中的角色。因此,应该在设计早期阶段使用生成代理人来原型化想法,而不是替代真实的人类输入。这样可以确保在野外部署生成代理人是道德和社会责任的。
九、结论
本文介绍了生成代理,这是一种模拟人类行为的交互式计算代理。我们提出了一种生成代理的架构,可以存储代理的经验记录,通过反思加深其对自身和环境的理解,并检索其中的信息来指导代理的行动。我们将生成代理应用于Sims风格的游戏世界中,模拟其生活。评估结果表明,我们的架构可以创建出可信的行为。未来,生成代理可以在许多交互应用中发挥作用,从设计工具到社交计算系统到沉浸式环境。
十、论文的创新点
1. 提出"生成式代理"的概念,即可以模拟可信人类行为的计算代理。这为交互式系统提供了人类行为的代理。
2. 设计了支持生成式代理的新颖架构,包含记忆流、检索机制和反思机制,可以处理不断变化的记忆和经历。
3. 在类似《模拟人生》的沙盒环境中实例化了生成式代理,可以通过自然语言与之交互。
4. 展示了生成式代理可以产生信息扩散、关系形成、协调群体活动等新兴社会行为。
5. 通过控制评估和端到端评估,证明完整的生成式代理架构可以产生更可信的个体和集体代理行为。
6. 讨论了生成式代理在社交原型开发、设计工具、虚拟环境等方面的应用机会。
7. 提出了减轻生成式代理可能产生的伦理风险的建议,如避免产生依恋和日志审计。
8. 总体而言,成功地在交互式系统中融合了大型语言模型和计算代理,为创造可信的人类行为仿真开辟了新的方向。
十一、论文的不足
1. 评估时间跨度相对较短,仅观察了代理在游戏中的两天行为,无法完全评估其长期行为的连贯性和稳定性。
2. 人类基准条件仅由众包工人扮演代理完成,未能代表人类行为的最优基准。
3. 由于计算资源限制,目前实现中每个代理需要顺序运行,实时交互性有限。
4. 代理的行为鲁棒性仍不明朗,可能容易受到欺骗或记忆攻击。
5. 语言模型本身的局限性,如偏见、 hallucination等都会继承给代理。
6. 部分代理的语言风格过于正式,不够自然。
7. 代理之间互动时语气过于礼貌,不够真实。
8. 空间规范如果仅用自然语言描述,代理可能无法完全理解。
9. 未来需要调整参数、比较不同语言模型,以进一步理解其对代理行为的影响。
10. 需要进一步探索不同应用场景下代理的鲁棒性与安全性。
总体来说,这篇论文对理解和改进生成式代理还存在一定的优化空间。但它确实在这个领域进行了有价值的探索,为未来相关研究奠定了基础。
十二、论文提出的生成式代理可以在多个场景中进行落地应用
1. 社交原型设计:可以在设计社交平台或社区时,使用生成式代理来模拟用户行为,从而测试社交动态。
2. 虚拟环境/元界:可以用生成式代理驱动虚拟环境或元界中的虚拟人物,使其产生更逼真的社交交互。
3. 交互式游戏:可以用生成式代理控制游戏中的非玩家角色,使其拥有连贯的背景设定和动态社交关系。
4. 社交机器人:可以建立包含生成式代理的控制框架,管理社交机器人与用户及环境的交互。
5. 认知模型:可以训练生成式代理来模拟特定类型用户的行为,然后应用于可用性测试中。
6. 人机交互设计:设计人机交互时,可使用生成式代理来模拟目标用户,辅助设计师进行设计。
7. 社会科学研究:可以构建包含生成式代理的环境来测试社会科学理论,或探索群体行为。
8. 对话系统:可以使用生成式代理云端驱动对话系统中的虚拟助手,使其展现连贯的人格。
关键是要根据应用场景定制代理的知识、目标和环境描述,并围绕目标用户或角色进行优化。同时,要谨慎对待代理的局限性,避免滥用或依赖。
十三、生成式代理在对话系统中的可能应用
1. 创建虚拟助手角色
可以使用生成式代理来创建具有持续记忆和连贯人格的虚拟助手,例如智能音箱中的语音助手或 APP 中的智能客服。这可以使对话更自然和连贯。
2. 驱动闲聊功能
利用生成式代理的记忆和计划功能,可以让对话系统进行更丰富的闲聊,讨论各种话题。
3. 个性化回复
生成式代理可以基于用户的聊天记录,反思出用户的兴趣爱好,并进行个性化回复。
4. 语言风格控制
可以训练多个生成式代理,拥有不同的语言风格,然后根据对话场景选择合适的代理,以控制语言风格。
5. 多角色对话
可以创建多个生成式代理,在对话系统中扮演不同角色,进行复杂的多角色对话。
6. 用户建模
观察用户与生成式代理的多轮对话,分析用户的兴趣、语言风格等,建立用户模型,以个性化对话系统。
7. 对话管理
可以使用生成式代理的计划功能,主动引导对话,避免Lifeless的重复回复。
实现上需要优化生成式代理的查询效率,并控制其记忆大小。总体来说,生成式代理为对话系统提供了强大的技术手段。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-08-21
2024-08-13
2024-04-11
2024-07-09
2024-07-18
2024-10-25
2024-07-01
2024-06-16