智能体之斯坦福AI小镇(Generative Agents: Interactive Simulacra of Human Behavior)

news2024/12/26 10:38:57

相关代码地址见文末

论文地址:Generative Agents: Interactive Simulacra of Human Behavior | Proceedings of the 36th Annual ACM Symposium on User Interface Software and Technology

1.概述

        论文提出了一种多个智能体进行协同,进而模拟可信的人类行为,适用于沉浸式环境、人际沟通排练空间和原型工具等互动应用。生成代理能够像人类一样起床、做早餐、工作;艺术家画画,作家写作;他们形成意见、注意彼此并开始对话;他们记住和反思过去的日子,并计划未来的行为。为了实现生成代理,论文描述了一种架构,该架构通过自然语言存储代理的完整经历记录,随着时间的推移综合这些记忆形成高层次的反思,并动态检索它们以计划行为。研究表明,这些生成代理能够在一个交互沙箱环境中生成可信的个体和群体行为。例如,只需告诉一个智能体它想举办情人节派对,该智能体就会自主地传播邀请并协调其他代理参与。

2.生成智能体的行为与互动

(1)智能体的形象和沟通

  • 智能体的身份描述:每个智能体都有一个段落的自然语言描述,包括职业、与其他智能体的关系等。
  • 智能体之间的互动:智能体通过自然语言进行沟通,系统会将当前动作翻译成一组表情符号显示在智能体头像上方。
  • 用户控制:用户可以通过指定身份(如记者)与智能体互动,或通过扮演智能体的“内心声音”直接命令智能体,使智能体更可能将其视为指令。

(2)环境互动

  • 智能体在虚拟世界中的移动和互动:智能体会在虚拟世界中移动,并根据环境和其他智能体的存在进行相应的行动。
  • 用户可以作为智能体进入虚拟世界:用户控制的智能体可以是世界中的现有智能体,也可以是没有历史的新访客。其他智能体会识别并与用户控制的智能体互动。
  • 用户可以改变环境中的对象状态:例如,用户可以通过自然语言命令将厨房的炉灶状态从“打开”改为“燃烧”,智能体会相应地采取行动。

 例如:John Lin的一天生活,包括起床、准备早餐、与家人互动、工作等日常活动。

(3)新兴社会行为

        如下图所示,

  • 信息传播:智能体之间通过对话传播信息,例如关于选举候选人的信息。
  • 关系记忆:智能体在互动中形成新关系,并记住与其他智能体的互动。
  • 协调:智能体能够协调共同活动,例如计划和举办情人节派对。

3.整体结构

        生成智能体的架构通过结合大型语言模型和记忆管理机制,使智能体能够根据其当前环境和过去经历生成合理的行为。该架构的核心挑战是确保在需要时能够检索和综合最相关的记忆。记忆流记录智能体的所有经历,反思机制将记忆综合成高层次的推论,计划机制将这些推论转化为高层次的行动计划,并递归分解成具体行为。当前使用ChatGPT的gpt3.5-turbo版本,并预计随着语言模型的改进,生成智能体的表现将不断提升。通过这种架构,智能体能够在复杂环境中保持长期一致和可信的行为。

(1) 记忆与检索(Memory and Retrieval

挑战: 创建生成智能体需要对大量经历进行推理和筛选。如果总结所有经历,可能会分散模型的注意力,且不适合语言模型的有限上下文窗口。因此,需要一个有效的机制来表面化相关记忆,以生成更有意义和具体的响应。

方法: 记忆流维护了智能体经历的全面记录。每个记忆对象包含自然语言描述、创建时间戳和最近访问时间戳。最基本的记忆对象是观察,包括智能体自身的行为或他们观察到的其他行为。为了生成有效的结果,系统关注以下三个主要组件:

  • 近期性(Recency)

    • 描述:近期性赋予最近访问的记忆对象更高的分数,使得最近发生的事件更有可能保留在智能体的注意范围内。
    • 实现:使用指数衰减函数计算,衰减因子为0.995。
  • 重要性(Importance)

    • 描述:重要性根据事件对智能体的意义赋予记忆对象分数。普通事件(如刷牙)得分低,重大事件(如分手)得分高。
    • 实现:通过提示词让语言模型生成分数。

  • 相关性(Relevance)

    • 描述:相关性根据记忆对象与当前查询的关系赋予分数。与查询高度相关的记忆得分高。
    • 实现:使用语言模型生成每个记忆描述的嵌入向量,计算记忆嵌入向量与查询嵌入向量的余弦相似度。

(2)反思过程(Refection

        挑战: 生成智能体在只有原始观察记忆的情况下,难以进行概括或推理。一个理想的智能体应能从记忆中提取高层次的反思(Refection),而不仅仅是基于频繁互动选择对象。       

        方法: 引入第二种类型的记忆,称为“反思”。反思是智能体生成的高层次、抽象的思考,作为一种记忆类型,与其他观察一起被检索。

实现细节:

  • 反思的生成:

    • 触发条件:当智能体感知到的最新事件的重要性分数之和超过阈值(150)时,生成反思。在实际实现中,智能体每天大约进行两到三次反思。
  • 反思过程:

    • 确定反思内容:智能体通过识别最近经历中可以提出的问题来确定反思内容。
    • 检索和生成问题:查询大型语言模型,使用智能体记忆流中最近的100条记录,并提示语言模型生成高层次问题。

回答问题并生成反思:

  • 使用生成的问题作为检索查询,收集相关记忆,包括其他反思。
  • 提示语言模型提取见解,并引用作为证据的具体记录。

(3)规划与反应(Planning and Reacting) 

        挑战: 尽管大型语言模型可以生成符合情境的信息,但智能体需要进行长期规划,以确保其行为序列的一致性和可信度。单独依靠语言模型可能会生成重复或不连贯的行为。

         方法: 规划描述了智能体未来的行为序列,帮助保持其行为的一致性。每个计划包含位置、开始时间和持续时间。

实现细节:

  • 规划的生成:

    • 步骤1:创建初步计划
      • 通过提示语言模型,生成智能体的一天大致计划。

  • 递归细化计划:计划存储在记忆流中,并递归分解成更细的行动。每个小时的计划进一步细分为15-30分钟的行动块。

  • 反应与更新计划:智能体在每个时间步中感知世界,并根据这些观察决定是否继续执行现有计划或进行反应。

  • 对话生成:智能体通过结合记忆和当前对话历史生成对话内容。

 响应:

4.沙盒环境

        概述: Smallville沙盒游戏环境是使用Phaser网络游戏开发框架构建的,包括智能体的头像、环境地图和碰撞地图。论文通过一个服务器补充了沙盒开发框架,该服务器使得生成智能体能够获取沙盒信息并在沙盒环境中移动和影响环境。     

服务器功能:

  • 服务器维护一个包含每个智能体在沙盒世界中信息的JSON数据结构,包括其当前位置、当前动作描述以及交互的沙盒对象。
  • 每个沙盒时间步,服务器解析JSON文件中的变化,更新智能体的位置和状态,并更新智能体交互的任何沙盒对象的状态(例如,咖啡机状态从“空闲”到“煮咖啡”)。

智能体初始化:

  • 终端用户通过自然语言描述初始化一个新智能体,将这些描述分割成一组记忆作为初始点,智能体的行为随着在沙盒世界中的经验增长而演变。

(1)从结构化世界环境到自然语言,再回到结构化世界

环境树结构:

  • 沙盒环境(区域和对象)被表示为树结构,边表示容器关系。
  • 将环境树转换为自然语言,以便生成智能体进行推理,例如“stove”转换为“there is a stove in the kitchen”。

智能体环境建模:

  • 智能体创建环境的个体树表示,包含其生活区域、工作场所和常去的商店。
  • 智能体在导航沙盒世界时更新其树表示,确保树反映最新的感知区域。

确定动作位置:

  • 递归遍历智能体的存储环境树,将部分树转换为自然语言以提示语言模型,确定动作的适当位置。

对象状态变化:

  • 当智能体执行某个对象上的动作时,提示语言模型询问该对象状态的变化。例如,智能体在Hobbs Cafe制作咖啡时,提示词会触发语言模型响应,将咖啡机状态从“关闭”变为“煮咖啡”。

5. 受控评估

        生成智能体旨在生成基于其环境和经历的可信行为。在评估中,论文探讨了生成智能体在回忆过去经历、生成可信的计划、反应和推论方面的能力,并分析了智能体社区在信息传播、关系形成和智能体协调方面的行为。

        评估程序: 通过“面试”智能体,探讨它们的记忆、计划、反应和反思能力。面试问题涵盖五个核心领域:自我认知、记忆、计划、反应和反思。以下是一些问题示例:

  • 自我认知:例如“介绍一下你自己”。
  • 记忆:例如“谁在竞选市长?”
  • 计划:例如“明天早上10点你会做什么?”
  • 反应:例如“你的早餐着火了!你会怎么做?”
  • 反思:例如“如果你最近见到的一个人,你会选择和谁共度一个小时,为什么?”

条件设置: 评估包括三种消融条件:

  • 无观察、无反思、无计划。
  • 无反思。
  • 无计划。 还有一个由人工撰写的行为基线条件。

        人类评估者: 评估者需为美国人,英语流利,年龄在18岁以上。通过Prolific平台招募,实验持续约30分钟。评估者根据行为的可信度对不同条件下的智能体反应进行排名。 

        分析: 使用TrueSkill评分模型和Kruskal-Wallis检验分析排名数据。通过定性分析比较不同条件下生成的响应类型。

重要结论:

  • 完整架构优于其他条件

    • 完整架构生成的行为在所有条件中最可信。
    • 移除任何一个组件(无反思、无计划)都会降低行为的可信度。
    • 人工众包条件次之,完全消融条件表现最差。
  • 生成智能体记住,但有添油加醋

    • 智能体在回答问题时能够回忆起相关经历,但偶尔会出现记忆不完整或夸大其词的情况。
    • 智能体有时会根据语言模型生成的知识进行添油加醋。
  • 反思对于综合是必需的

    • 反思记忆在需要综合智能体经历时提供了显著优势。例如,在考虑送生日礼物时,具有反思记忆的智能体能够做出更合理的决策。       

 6. 端到端评估      

(1)新兴社会行为

        为探讨智能体社区中的新兴行为,论文设计了对25个智能体进行连续两天的完整模拟,观察信息传播、关系形成和智能体协调的情况。

测量方法:

  • 信息传播:测试Sam竞选村长和Isabella在Hobbs Cafe举办情人节派对的信息传播。通过问卷调查智能体是否知道这些信息来评估信息传播的广泛程度。
  • 关系形成:通过问每个智能体是否认识其他智能体来验证关系形成。
  • 智能体协调:通过观察智能体是否出席Isabella的情人节派对来评估协调行为。 

结果:

  • 信息传播:在两天模拟中,知道Sam竞选村长的智能体数量从1个增加到8个(32%),知道情人节派对的智能体数量从1个增加到13个(52%),且无用户干预。
  • 关系形成:智能体之间形成了新的关系,网络密度从0.167增加到0.74。
  • 智能体协调:12个被邀请的智能体中有5个出席了派对。

(2)边界和错误

        通过归纳分析Smallville中的边界条件和不稳定行为,识别出三种常见的错误行为模式:

  • 记忆综合和执行位置选择的挑战:智能体在综合大量记忆信息时会遇到困难,导致选择不典型的地点执行行动,使行为显得不可信。

  • 不合适行为的错误分类:由于物理规范和自然语言的传达限制,智能体可能会误解某些地点的使用规范(如浴室使用规范或商店关闭时间)。

  • 指令调优的可能影响:智能体的对话行为可能受到指令调优的影响,表现得过于正式和合作。例如,智能体可能会采用不符合自身特征的建议。

代码地址:

链接:https://pan.baidu.com/s/1BQL5y2OBf2wQc18Jg75JKg?pwd=tbfx 
提取码:tbfx 

        

        

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中String类型的大小

java对象在HotSpot虚拟机中的结构 Java对象由三部分组成,对象头、实例数据、填充数据。 对象头 markwork 存储对象运行时数据,HashCode、GC分代年龄、锁状态标志、线程持有的锁、偏向锁ID、偏向时间戳等。在64位虚拟机中,如果没有开启压缩指…

数据库系统基础知识

一、基本概念 二、数据库三级模式两级映像 三、数据库的分析与设计过程 四、数据模型 五、关系代数 六、数据库完整性约束 七、关系型数据库SQL简介 八、关系数据库的规范化 九、数据库的控制功能 十、数据仓库与数据挖掘基础 十一、大数据基本概念 数据库基本概念 1、数据库…

论文笔记:GPT4Rec: Graph Prompt Tuning for Streaming Recommendation

SIGIR 2024 1 intro 1.1 背景 传统推荐系统方法在实际应用中往往未能兑现基准数据集所做的承诺 这种差异主要源于传统的离线训练和测试方法在这些场景中,模型在大型静态数据集上训练,然后在有限的测试集上评估,这一过程没有考虑到现实世界…

第二十届文博会沙井艺立方分会场启幕!大咖齐打卡!

2024年5月24日-27日,第二十届中国(深圳)国际文化产业博览交易会沙井艺立方分会场活动将在艺立方非遗(文旅)产业园盛大举办。 本届文博会艺立方分会场活动办展特色鲜明,亮彩纷呈,将以“种下梧桐树…

留学培训行业PaaS应用系统架构的设计与实践

随着留学需求的增长和教育培训市场的不断扩大,留学培训行业正面临着越来越多的挑战和机遇。在这个背景下,利用PaaS(Platform as a Service)平台来构建留学培训行业的应用系统架构,将成为提升服务质量和效率的重要手段。…

工厂生产管理系统

为应对一些国内验厂,如大疆等,他们需要客户有自己的生产管理系统的,但实际很多公司是没有引入ERP这类的系统的,从而想开发一套简单的生产管理系统。 参考了网上一个比较古老的StorageMange项目,此项目用到DevExpress的…

「探讨」:什么是网络审计?好用的网络审计系统推荐【图文详解】

网络是企业运营、政府管理、个人生活不可或缺的基础设施。 然而网络安全问题却日益凸显,数据泄露、网络攻击、欺诈行为等风险日益严重。 一、网络审计的定义 网络审计,又称信息技术审计或电子审计,是指审计人员运用专业技能和工具&#xff…

亚马逊测评技术自己掌控:打造爆款产品,快速突破销量瓶颈

不管新老店铺来说,出单都是至关重要的,在我们的理解当中测评应该是一种成长剂,是一个加快店铺成长的工具,因为它在店铺的破0、突破瓶颈期、引爆爆款以及在后期店铺的一个补量上都会有一个明显的作用 测评有什么意义? …

简历–工作经历–通用

雇主将会很注意简历中的工作经历这一部分。在看完求职目标后,他们想了解你的历史,你曾在哪儿工作,工作了多长时间。他们想弄明白的是“你是个稳定可靠的人吗?”,“你发挥出的才能有哪些?”最重要的是你是否…

python-找出四位数中的玫瑰花数

【问题描述】玫瑰花数指一个n位数(n>4),其每位上的数字的n次幂之和等于本身。 请求出所有四位数中的玫瑰花数 【输入形式】 【输出形式】 【样例输入】 【样例输出】1634 8208 9474 【样例说明】 【评分标准】 完整代码如下: for n in ra…

android实现PhotoShop里的魔棒效果

魔棒是画板工具一个重要的功能,非常实用,只要轻轻一点,就能把触摸到的颜色区域选中,做复制、剪切、擦除等工作。 那怎么实现呢? 先来看看效果: 要实现这个效果,需要对安卓canvas和paint理解比…

【研发日记】【策划向】(一)游戏策划其实就是一道加减法题

文章目录 序设计的过程其实是控制自己欲望的过程我海纳百川,你要不要看看?我跟别人不一样!我的人设就是没有人设,或者说任何人设都是我的人设 记 序 不知不觉进入这个行业几年了,也经历了独立开发和团队开发的过程。在…

【SQL】外连接 LEFT JOIN

目录 一.内连接与外连接 1.内连接(inner join) 2.外连接(outer join) 二.两表连接 1.我们先来试试看内连接: 2.我们再来试试外连接 三.单表外连接 四.总结 一.内连接与外连接 先得介绍内连接和外连接两个概念&…

git回退到指定版本,同时提交记录也会删除

第一步&#xff1a; git reset --hard xxx (需要恢复版本的 commit id)第二步&#xff1a;branch_name就是远程分支的名称 git push origin <branch_name> --force

解决GoLand无法Debug

goland 调试的的时候提示如下错误 WARNING: undefined behavior - version of Delve is too old for Go version 1.22.3 (maximum supported v 其实个原因是因为正在使用的Delve调试器版本太旧&#xff0c;无法兼容当前的Go语言版本1.22.3。Delve是Go语言的一个调试工具&#…

Java使用apache.poi生成excel插入word中

加油&#xff0c;新时代打工人&#xff01; 工作需求&#xff0c;上个文章我们生成好的word&#xff0c;这次将生成好的excel表格数据&#xff0c;插入word中。需要准备好excle数据&#xff0c;然后插入到word中。 最后个需要&#xff0c;就是把这些生成好的word文档转成pdf进行…

STL题单总结

下周争取全部刷掉 牛客 知乎推荐的题 收藏的文章1 收藏的文章2 收藏的文章3 洛谷题单

Python爬虫:爬取B站视频(最新、能用且讲解详细)【01】

&#x1f4da;博客主页&#xff1a;knighthood2001 ✨公众号&#xff1a;认知up吧 &#xff08;目前正在带领大家一起提升认知&#xff0c;感兴趣可以来围观一下&#xff09; &#x1f383;知识星球&#xff1a;【认知up吧|成长|副业】介绍 ❤️如遇文章付费&#xff0c;可先看…

spring cache(三)demo

一、入门demo 1、pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.o…

java读取shp文件,获取点位

Testvoid contextLoads() {System.out.println(System.currentTimeMillis());//1716516228057 1716516228798String zipFilePath "C:\\code\\risk\\risk_management_backend\\edatope-app\\src\\main\\resources\\新中心范围SHP导入模板.zip";String destDir &quo…