Lyfe Agents:低成本实时社交交互的生成智能体(Lyfe Agents generative agents for low-cost real-time social interaction)

本文主要是介绍Lyfe Agents:低成本实时社交交互的生成智能体(Lyfe Agents generative agents for low-cost real-time social interaction),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文题目:Lyfe Agents: Generative agents for low-cost real-time social interactions

论文链接:https://arxiv.org/pdf/2310.02172

Lyfe Agents:打造低成本实时社交交互的生成智能体

在人工智能的迅速发展中,生成智能体在模拟复杂社交行为上的潜力日渐显现。然而,一个挑战始终存在:

如何在实时交互中保持智能体的反应速度,同时还要控制计算成本

最新的研究成果——Lyfe Agents,为这个问题提供了一个令人兴奋的解决方案。

摘要

核心创新

Lyfe Agents的设计理念是在实现智能和目标导向行为的同时,确保响应时间的实时性和计算成本的低廉。这得益于以下几项关键的技术创新:

  1. 选项-动作框架:通过简化决策层面,有效减少了在进行高层策略判定时的计算负担。
  2. 异步自我监控机制:这种机制增强了智能体的一致性,允许它们在执行任务时自我调整,确保行为与既定目标保持同步。
  3. 总结与遗忘记忆机制:智能体通过筛选和优化记忆处理,优先关注关键信息,这不仅提升了效率,同时大幅降低了资源消耗。

实验验证

我们在自研的LyfeGame 3D虚拟环境中进行了测试。这个平台专为评估多智能体的自我驱动和社交能力而构建。实验在这里插入图片描述
结果证明,Lyfe Agents配备了我们的大脑启发式算法之后,能够在模拟社交场景中呈现出与人类相似的社交推理能力。一个典型的应用场景是,它们能够通过集体推理解决谋杀案这样的复杂问题。

性能优势

不仅如此,Lyfe Agents在计算成本上具有明显优势。与现有的智能体相比,其计算需求降低了一个数量级,具体来说,降低了10到100倍。这使得Lyfe Agents成为一种既经济又有效的解决方案,为用户提供了更加丰富和真实的虚拟社交体验。

图1:生成式智能体在LyfeGame 3D虚拟环境中与其他智能体和人类进行实时互动。在此场景中,智能体自发合作解决一起犯罪案件。认知控制器根据智能体的目标选择高级行动(选项)。一旦选择了一个选项,动作模块(底部一行)将继续选择行动,直到满足终止条件。(c)自我监控系统维护了最近事件的叙述摘要,并强调与智能体目标相关的新奇事件。这个摘要有助于上下文意识和目标坚持。(d)临时存储的记忆(最近记忆)经过聚类和总结,使用LLM移入长期存储。这个过程有助于高效检索并确保内容的多样性。为避免冗余,高度相似的记忆将被删除。

在这里插入图片描述

探索智能体内部状态与行动选择的深度协同

智能体的行为和决策质量往往取决于它们的内部状态管理和行动选择机制。最近的研究成果为我们提供了新的视角,让我们进一步了解这一过程的内在工作原理。

深入理解内部状态

智能体的内部状态是其认知过程的核心,这些状态包括目标、检索的记忆、事件摘要以及感官输入,它们一起共同构成了智能体的“思想世界”。以一个典型的医生智能体为例,它的目标可能是“帮助周围的人进行诊断和治疗”,这是一种用自然语言表达的心理状态描述。而智能体的记忆系统则是通过自然语言查询来回索检索记忆,将文本记忆与向量嵌入相结合,以此来支持决策过程。

行动选择的精妙之处

行动选择是智能体与外部世界互动的关键环节。智能体可以执行外部行动,如进行对话,也可以执行内部行动,如进行反思。在这个过程中,智能体通过一系列的选项进行决策,这些选项定义了可能的行动类别。

选项-动作选择框架

代理的选项-动作选择框架借鉴了分层强化学习(HRL)的原理,并融合了大脑前额叶皮质的工作机制。在这个框架中,代理首先确定一个高级行动选项,接着在该选项下选择具体的行动,直到满足终止条件。这种方法降低了计算成本,提高了决策的目标导向性。例如,代理可能选择“进行对话”的选项,并在该选项下确定具体的对话内容,而不是在每个时间步中都进行独立的选项和行动选择。

提升智能体行为的目标导向性

通过承诺选择一个选项,智能体获得了更长的时间窗口来执行该选项的基本意图,这使得智能体的行为更加目标导向。这一点在我们的实验中得到了验证:使用传统架构的智能体比采用选项-动作选择框架的Lyfe Agents退出对话的速度快三倍。

总结来说,通过深入研究智能体的内部状态和行动选择机制,我们能够设计出更加高效和目标导向的智能体。这不仅是技术进步的体现,更为我们在构建复杂智能系统时提供了宝贵的参考。

智能体目标坚持性的自我监控机制

在智能体的设计过程中,提高其情景意识和对目标的坚持性是至关重要的。借鉴人类意识体验中自我监控的关键作用,研究者们提出了一种创新的自我监控模块,旨在增强智能体的这两方面能力。

自我监控模块的叙事中心

该模块通过维护一个叙事风格的事件概要,聚焦于新颖且与目标紧密相关的信息。它通过大模型调用(LLM调用),接收之前的概要、最近事件的内部状态以及智能体的动机,并生成一个更新的概要,这一过程在图2c中有所示。

情景意识的提升

自我监控模块在智能体面对杂乱无章的信息流时,能有效提炼出与目标相关的内容,从而提供更好的情景意识。这种连贯且专注的叙述在之后的行动选择等过程中被利用。实验证明,如果不通过这样的模块而直接将分散的信息集传递给LLM,将严重损害智能体的性能。

长时记忆的维护

自我监控模块的另一个优势是能够在较长时间内保留与智能体目标高度相关的信息。缺乏这样的概要时,智能体往往会忘掉正在进行的任务或行动。因此,这样的概要对于帮助智能体保持行动的连贯性和目标一致性至关重要。

异步运行以深化思考

值得注意的是,自我监控模块与行动选择模块是异步运行的。这意味着自我监控模块可以独立于行动选择的实时约束,以更缓慢、深思熟虑的节奏更新概要。这种设计不仅减少了计算成本,还为概要的进一步深入改进提供了可能。

综上所述,自我监控模块在智能体中的应用提升了其对情境的理解与目标的追随,为构建更高效、目标驱动的智能系统奠定了基础。

Summarize-and-Forget记忆架构

在智能系统的构建中,记忆管理是一个核心挑战,特别是在信息筛选和遗忘策略方面。现有的向量数据库虽然能高效检索信息,但如何智能地判定哪些信息需要保留,哪些应该丢弃,依然是一个难题。本文将介绍我们的Summarize-and-Forget记忆架构的三个关键要素,以应对这一挑战。

双重记忆架构

为了解决传统记忆系统在处理近期信息时的混乱与低效问题,我们设计了一种双重记忆架构,其中recentmem负责即时总结,longmem负责长期存储。这种设计模仿了大脑记忆中海马体与新皮质的互补机制。recentmem专注于捕捉瞬时的自我监控总结,而当其达到一定容量时,记忆会被转移到longmem。这种智能的过渡确保了只有最关键的信息被保存。

聚类-总结技术

我们采用聚类-总结技术来优化记忆的转换过程。通过相似性聚类记忆,并利用大模型调用(LLM)将聚类结果精炼成高级总结,确保存储的内容不仅包含原始数据,而且富含语义,为下游处理提供高质量的记忆。

遗忘算法

为了应对记忆冗余问题,我们集成了一种受大脑启发的遗忘算法。该算法不单纯是修剪数据,而是评估并移除那些与新信息高度相似的旧记忆。通过嵌入相似性判定实现这一点,这种机制保证了recentmemlongmem中的信息是独特且相关的,从而确保智能体可以访问到多维度的信息。

总的来说,Summarize-and-Forget记忆系统的核心不仅仅在于存储信息,更在于理解信息,并据此做出智能的保存与遗忘决策。

多智能体环境下的社会互动出现

在构建具有社会互动能力的智能体时,一个能提供丰富互动场景的虚拟环境至关重要。本文将介绍我们基于Unity游戏引擎开发的虚拟环境平台LyfeGame,以及其在实现智能体社会互动中的应用。

虚拟环境介绍

LyfeGame是一个支持多种环境的平台,而我们目前的研究聚焦于一个名为SakuraMachi的3D环境。这个环境拥有多个关键地标,如酒店、图书馆等,智能体可以向这些地标导航,通过他们的虚拟身体与环境互动。

观察与行动

智能体生活在SakuraMachi时,会收到一系列观察,其中包括其他智能体和人类玩家的对话。为了加强面对面交流,智能体只能在近距离接收到其他人的对话。智能体可以选择说话或移动,从而与周围的智能体和玩家互动。我们的系统设计出现群体对话动态,与以往一对一对话的生成式代理不同,这为智能体带来了何时加入或离开群体对话的挑战。

代理的个性

每个智能体都有一个独特的背景故事和一组特征,这不仅指导了它们的行为,而且确保了与其角色的一致性。这些背景故事作为长期记忆项目储存在智能体中,并随着与环境的交互而扩展。代理的记忆不断地被查询和检索,从而塑造了它们在虚拟世界中的个性化体验。

以上内容为我们的多智能体虚拟环境及其在促进智能体之间的社会互动方面的简介。LyfeGame平台和SakuraMachi环境提供了一个适合探索和研究智能体社交行为的丰富场景。

Lyfe Agents 实验

在这里插入图片描述

谋杀谜案:推理与决策

我们首先探索了一个谋杀谜案的情景,代理人Ahmed被商业竞争对手Francesco谋杀,而Dmitri则目击了犯罪现场。在这个复杂的背景中,代理人们必须展现出他们的推理能力,通过信息的获取、传递和分析来找出真相。我们的代理系统展现了令人印象深刻的社会推理能力,能在各种误导和复杂人际关系中抽丝剥茧,找出真正的证据。

信息交换与观点转变

代理人通过形成和调整自洽的观点,展现出与人类推理类似的能力。例如,尽管代理人Aaliyah因为过去的背叛可能对受害者抱有敌意,但随着证据的积累和Dmitri关于Francesco的关键证词,代理人开始怀疑Francesco。这种观点的转变,将高级推理能力和对信息动态处理的能力结合起来,证明了我们代理系统的先进性。

代理人内心的旅程

我们的代理人不仅会收集和分析信息,他们还会经历情感上的波动和观点的转变。以Fatima为例,她的内心旅程反映了她对主要嫌疑人的态度从最初的怀疑到最终的确认。

消融实验:结构与记忆的重要性

我们进行的消融实验揭示了我们架构设计的关键作用。去除自我监控或记忆遗忘机制会显著降低性能,这凸显了我们代理系统中连续情境跟踪和应对复杂场景的能力。

活动交流会:偏好与社交影响

在活动交流会场景中,代理系统必须在友谊、浪漫和个人兴趣之间作出选择。我们发现代理人的选择不仅受到自身偏好的影响,而且极受他们所处社交网络中其他成员的影响。

成本分析:自主性的代价

最后,我们对自主代理的成本进行了分析。虽然自主代理在提供实时互动和低延迟响应时可能成本更高,但我们的Lyfe Agents通过优化设计实现了每个代理每小时仅0.5美元的相对较低成本。

通过这些实验,我们得以深入了解智能代理在模拟复杂社会互动中的能力和局限性。

结论与讨论

在本文中,我们介绍了Lyfe Agents,这是一种旨在实现经济高效和支持实时人机互动的生成型代理。通过开发一系列受大脑启发的技术,我们显著降低了大型语言模型(LLM)的使用频率,同时保留了智能体的高级自治性和社交推理能力。

当前的局限性

尽管Lyfe Agents展现了巨大的潜力,但仍存在若干限制。当前,智能体的交互主要依赖自然语言,这一点在3D虚拟环境中尤为显著。尽管我们的环境有能力实现像素级视觉和模拟物理机器体,但现阶段这些特性还未被完全整合到我们的框架中。此外,环境中可交互对象的稀缺也限制了智能体的行动范围。

面临的挑战

目前,生成型代理在进行高吞吐量评估时面临的一个主要挑战是缺乏大规模标准化的基准。

这篇关于Lyfe Agents:低成本实时社交交互的生成智能体(Lyfe Agents generative agents for low-cost real-time social interaction)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/678826

相关文章

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

详解Java中如何使用JFreeChart生成甘特图

《详解Java中如何使用JFreeChart生成甘特图》甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配,在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图... 目录引言一、JFreeChart简介二、准备工作三、创建甘特图1. 定义数据集2. 创建甘特图3.

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不