AI小镇Generative Agents: Interactive Simulacra of Human Behavior

文章目录

  • 1 Introduction
  • 2 Related Works
    • 2.1 Human-AI Interaction
    • 2.2 Belivable Proxies for Human Behavior
    • 2.3 Large Language Model and Human Behavior
  • 3 Generative agent behavior and interaction(行为与交互)
    • 3.1 Agent Avatar and Communication
    • 3.2 Environment Interaction
    • 3.3 Example “Day in the life"
    • 3.4 Emergent social behavior(突发社交行为)
  • 4 Generative agent achitecture(结构模型)
    • 4.1 Memory and Retrival(第一记忆模型——低级印象)
    • 4.2 Reflection(第二记忆模型——高级推理)
    • 4.3 Planning and Reacting(计划与执行)
  • 5 Sandbox environment implementation
    • 5.1 From structured world environment 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
  • 7 End-To-End evaluation
    • 7.1 Emergent social behavior
    • 7.2 Boundaries and Errors
  • 8 Discussion
    • 8.1 Applications of Generative agent
    • 8.2 Future Works and Limitations
    • 8.3 Ethics and Society Impact
  • 9 Conclusion

  • 1

1 Introduction

  • Importance: 基于计算的智能体是人类行为模型的可信代理
    • 如果agent的行为能够代表人类行为
    • 有助于构建虚拟空间和社区
    • 极端情景模拟
    • 社会科学理论验证
    • 等等
  • Problem Area:人类行为模型非常复杂
    • 虽然LMM能够在一定程度上理解并模拟人类行为,但是无法提供长时支持
  • Research Gap:一个支持记忆能力的,具备在较长时间跨度上
      1. 根据事件、交互等进行学习(retrieve
      1. 根据memory进行推理与反应(reflect
      1. 提出合理的计划并实行(plan and reaction
  • This Paper:提出了一种生成式代理(generative agent)
    • 基于生成模型
      • 模拟人类行为(既包括个人行为,也包括社交能力)
      • agent society:new relationship, information diffuses, coordination
    • 提出了一种agent框架
      • 基于LLM
      • 三个组件
        • memory stream:用自然语言描述的agent经历
        • reflection:用于将memory合成为高级认知
        • planning:结合认知与周围环境,生成行为方案
        • 后者反哺memory
    • Outcome:一个包含25个generative agent的小型社区
    • Evaluation:
        1. controlled evaluation:测试agent是否能够生成并执行believable individual behaviors
        1. end-2-end evaluation:进行了为期两天(模拟时间)的测试,以观察agents之间的社交行为
    • 实验方法:
        1. interviewing:与agent直接进行对话,判断其是否清晰其角色定位,其记忆能力、计划、反应等
        1. ablation:消融实验,测试各个组件对agent的影响——结果显示三个核心组件对agent功能完备性皆具有重要影响
    • 在运行过程中最常出错的地方:
      • 记忆检索失败
      • 记忆篡改失败
      • 受LLM模型影响导致其感知推理出现偏差
    • 核心贡献
        1. generative agent
        1. 一种基于LLM的agent构建框架
        1. 完备的测试与实验
        1. 进一步的讨论——就agent在交互环境中可能出现的伦理与社会问题

2 Related Works

2.1 Human-AI Interaction

  • 旨在将人类智慧以及能力赋予可交互人工智能以使其具备与人类交互的能力(甚至帮助人类更好的完成任务)

2.2 Belivable Proxies for Human Behavior

  • 也被描述为believabilitybelievable agent
  • 核心是构建人类行为的可描述模型

2.3 Large Language Model and Human Behavior

  • LLM本身是超大规模人工智能模型,对人工智能模型的讨论不在本文范畴中,但考虑到其本身基于大量人类知识构建,对于人类行为的理解具有其独到优势

3 Generative agent behavior and interaction(行为与交互)

  • 2

3.1 Agent Avatar and Communication

  • 用自然语言对每个agent进行描述(角色卡
    • 3
    • 这段描述会在初始阶段被载入到对应角色的memory中
    • 可以看到这段描述中不仅包含了对该角色的身份、性格进行了描述,同时也对其社交网络进行了详细的描述
  • Inter-agent communication
    • 基于自然语言进行
    • action导向
    • agent能够感知到其所处环境周围的人
  • User controll
    • 基于自然语言进行
    • 两种方式:
      • 交互:直接与agent进行对话
      • inner voice:更像是指令,例如you are going to sleep

3.2 Environment Interaction

  • 模拟环境包含有一个小村镇的常见基本要素
  • agent可以与环境进行交互并移动(vedio game)
  • 用户以及agent均能够改变环境状态,例如厕所正在被占用(沙盒游戏)

3.3 Example “Day in the life"

  • 3

3.4 Emergent social behavior(突发社交行为)

  • 该程序中的新增社交都是突发的而并非是预先编码的
  • 信息传播(information disffusion):通过对话传播
  • 关系记忆(relationship memory)agent能够记住与他人的相遇并形成新的关系
  • 合作(coordination):agent之间能够进行合作
    • 4

4 Generative agent achitecture(结构模型)

  • 5
  • 最大挑战是:如何有机地组合LLM以及agent的记忆(量大)
    • memory stream
  • 基于Chatgpt3.5 turbo

4.1 Memory and Retrival(第一记忆模型——低级印象)

  • 核心问题:
    • 大量的experience难以fit到一个prompt中
      1. 大量的文本可能分散model的注意力
      1. context window不够长
    • GPT4.0 turbo支持128000 tokens长度
  • 解决方法:
    • memory stream本身包含对agent经历的完整记录
      • 由一系列的memory objects构成
        1. 一段自然语言描述
        1. Creation timestamp
        1. Most recent access timestamp
      • observation: 描述由agent直接接收到的信息,包括agent自身的行为信息,周围agent的行为信息,非agent单位信息等
    • Retrival function
      • 输入:agent的当前信息
      • 输出:提炼后的信息(原文:subset of memory stream)——用于输入到LLM中
      • 如何提炼信息:有多种基于不同标准的提炼方法,论文提出了基于三种属性的提炼方法
          1. Recency:为最近发生的事情提供更高的权重——指数衰减(exponential decay, factor:0.995)
          1. Importance:为agent认为更重要的事情提供更高的权重(原文:distinguishes mundane from core memories
          • 采用的方案是:直接询问LLM
          • 6
          1. Relevance:为与当前情况相关度更高的记忆提供更高的权重
          • 如何定义/计算相关度
            • 基于LLM为每个memory object进行编码(embedding vector)
            • 相似度由编码之间的余弦相似性计算得到
        • 最终方案:基于min-max scaling将上述三值归一化到[0. 1],然后累加三值

4.2 Reflection(第二记忆模型——高级推理)

  • 7
  • 核心问题:在仅有memory stream的情况下,agent难以做到高水平的reflection
  • 解决方案:
    • 第二种记忆模型:reflection
      • 由agent生成的更高级、更抽象的思想(thoughts)
    • 周期性生成:在过去一段时间内的observation总retrival值超过150时
      1. what to reflct on
      • 基于LLM
      • 输入memory stream中最近的100条记录
      • 输出“基于上述输入,我们能回答的三个最突出的的高级问题是什么?”
        • Given only the information above, what are 3 most salient highlevel questions we can answer about the subjects in the statements?
      1. gather relavent memory:针对上述三个问题,分别收集相关的memory objects
      1. extract insights:基于关联memory集合,输出insights
      • 8

4.3 Planning and Reacting(计划与执行)

  • 核心问题:
    • 虽然LLM能够在特定情境下做出符合人类逻辑的决策(行为),但是agent需要在更长时间跨度上保证系列行为的连贯性以及合理性
    • 当下时刻的行为合理性与长时行为合理性存在一定程度上的冲突(原文:Optimizing for believability in the moment sacrifices believability over time
  • 解决方案
    • 一个计划(plan)需要包含一系列的行为同时也需要保证行为的连续性(consistency)
    • plan三要素:地点、开始时间、持续时间(结束时间)
    • plan也保存在memory stream中——也会参与到retrival过程中
      • 这使得agent能够综合考虑observation、reflection以及plan的内容来决定行为——可能改变其plan
    • 多层plan方案
        1. 构建当天的大致议程
        • 输入:个人描述、recent experience、summary of previous day
          • 9
        • 输出:一个包含5-10点内容的大致安排(保存在memory stream中)
        1. 细化议程:对第一层输出的每一个议程进行细化安排
        • 2.1 hour-long chunks
        • 2.2 5-15 minute chunks
        • 粒度是可调整的
  • Reacting and updating plans(计划调整)
    • 从编码的角度上来看,action是一个满足特定时间长度的loop
    • 在每一个step中,agent都会对外界进行感受(observation)——保存在memory stream中
      • 是否合理
    • 基于这些observations,LLM将决定是继续当前行动还是进行反应(react)
      • 10
      • 其中context summary由两个queries生成:
          1. 观察者与被观察者之间的关系
          1. 被观察者当前的状态信息
      • 如果观察者认为需要进行反应,则:
          1. 调整agent的plan
          1. 如果该调整行为导致了进一步的交互(agents之间),则进一步生成对话(dialogue)
  • Dialogue(对话生成)
    • 根据对交流对象的记忆调整对话的内容
    • 对于发起者而言:(以及决定发起对话——react)
      • 11
    • 对被发起者而言:该对话是event的一部分——会被观测到
      • 如果被发起者决定react
      • 12

5 Sandbox environment implementation

  • 基于Phaser web game development framework[https://phaser.io/phaser3]进行开发
  • agents以JSON单元进行表示
  • 该环境同时需要为agent提供环境信息

5.1 From structured world environment to natural language , and back again

  • agent的推理行为需要被限制在虚拟世界中
  • 用树结构存储环境单元,字节点表示包含关系
    • 环境包含一个完整的tree结构
    • 每个agent会建立自己的环境tree——是整体环境tree的子集
    • agent并不是无所不知的,其构建的环境tree可能是过时的
  • 对于agent的一个action,其需要定位到合适的位置
    • 输入:被flatten的环境信息
      • 13
    • 输出:The Lin family's house
    • 反复上述过程,直到定位到精确位置
  • 物体状态的变更同样基于LLM(是否有必要

6 Controlled evaluation

  • 验证在特定场景环境下,agent是否能够产生合理的行为、agents group是否能够进行信息传播、agents之间是否能够构建新的关联、agents之间是否能够合作并与环境保持同步等

6.1 Evaluation Procedure

  • 测试方法:interviewing——包含五个方面
    • self-knowledge: 对自己的任职
    • memory:对记忆的检索能力
    • plan:对所定计划的理解能力
    • reacting:对事件的反应能力
    • reflecting:综合理解能力
  • 测试依据:belivability
    • 人工判断

6.2 Conditions

  • 消融组
    • 组合memory stream中的三个组件:observation, reflection, planning
  • human crowdworker-authored behavior:用于验证agent的行为是否达到了基本水平
    • 人工组:每个雇员需要查看agent的记忆内容,并以agent的身份回答interview问题

6.3 Human Evaluators

  • 100位雇员

6.4 Analysis

  • 基于TureSkill对各测试组进行rank排序
    • mean rating value
    • standard deviation

6.5 Results

  • 结论:完备系统(包含完整的memory stream)效果最佳,但同时也有一些问题
  • 14

7 End-To-End evaluation

  • 进行了长度为2天的模拟测试,验证并观察agents行为的合理性

7.1 Emergent social behavior

  • 包含三个方面:information diffusion, relationship formation, agent coordination
  • 15

7.2 Boundaries and Errors

  • 大量的经理以及记忆带来的挑战
      1. 更难整理出有用信息
      1. 抉择更加困难(例如:午餐地点选择)
  • 一些难以用自然语言表述的“规则”导致agent做出错误的决策
    • 例如:在没有明确标识浴室只能有一个人使用的情况下,agent可能会进入已被占用的浴室(但这些内容本质上更像是常识
    • 这一点或许可以通过精细化的规则描述加以规避,但这将大大增加背景信息
  • agent受显性instruction的影响过于明显
    • 对话过于正式规范
    • 不会拒绝请求
    • 易受其他agent影响等

8 Discussion

8.1 Applications of Generative agent

  • 只要是与人类行为模型相关的应用都能够从generative agent研究中收益
  • 以人类为中心的应用

8.2 Future Works and Limitations

  • 未来的工作:
      1. 基于该generative agent框架的应用
      1. 更加合理的retrival模型
      1. 运行效率更高的执行方案
      1. 专精LLM构建
  • limitations
      1. 行为believability baseline构建
      1. 没有就各项参数以及使用的方法模型作更进一步的分析
      1. 鲁棒性测试缺失
    • 总体来说,底层LLM的缺陷都将被构建于其上的agent继承

8.3 Ethics and Society Impact

9 Conclusion

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode—2471.逐层排序二叉树所需的最少操作数目【中等】(置换环解法!)

2023每日刷题(二十七) Leetcode—2471.逐层排序二叉树所需的最少操作数目 置换环解题思想 参考自网络 总交换次数 每一层最小交换次数之和 每一层元素个数 - 置换环数 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* …

照片放大软件 Topaz Gigapixel AI mac中文版简介

Topaz Gigapixel AI mac是一款使用人工智能功能扩展图像的桌面应用程序,同时添加自然细节以获得惊人的效果。使用深度学习技术,A.I.Gigapixel™可以放大图像并填写其他调整大小的产品遗漏的细节,使用A.I.Gigapixel™,您可以裁剪照…

【LeetCode刷题-二分查找】--658.找到K个最接近的元素

658.找到K个最接近的元素 方法一:二分查找双指针 假设数组长度为n,数组arr已经按照升序排序,可以将数组arr分为两部分,前一部分所有元素[0,left]都小于x,后一部分[right,n-1]都大于等于x,left与right都可以…

【JS】判断字符串是否为 url 的方法

文章目录 用法解析 用法解析 当你传递一个字符串给 URL 构造函数时: 如果字符串是一个有效的 URL,它将返回一个新的 URL 对象。否则,它将返回一个错误。 const url new URL("https://www.baidu.com/"); console.log(url);函数封装&#xf…

YOLO目标检测——猫狗目标检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:宠物识别、猫狗分类数据集说明:猫狗分类检测数据集,真实场景的高质量图片数据,数据场景丰富,含有猫和狗图片标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xm…

安装纯净版Linux后的必备设置

目录 一:网络设置 1,设置yum源 2,配置网络 二:samba服务设置 1,安装samba 2,设置samba 3,windows上挂载 三:安装必备的开发软件 1,GCC安装 2,Pyth…

jdk安装

.概览 1.jdk下载 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 安装JDK后,会在电脑中同时安装:java的运行环境jre 和 开发环境jdk。 安装 JDK时,不建议安装太旧或太新的版本。目前的最新版本是jdk9。目前jdk8比较稳定&am…

【ARM入门】ARM、SOC、ARM授权 概念篇

什么是ARM ARM前身是Acorn公司设计的第一款微处理器,叫ARM:Acorn RISC Machine ARM公司的名字叫ARM:Advanced RISC Machines ARM内核 包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等 内核是有ARM公司设计并以销售方…

从C++软件调试实战的角度去看多线程编程中的若干细节问题

目录 1、线程与线程函数基础知识 1.1、创建线程的函数返回时不代表代码执行到线程函数中了 1.2、创建线程的函数返回后要调用CloseHandle将线程句柄(引用计数)释放掉 1.3、线程何时退出并结束? 2、线程函数的几个细节 3、回调函数运行在…

扭矩传感器信号模拟地、数据地与电源地

在电子电路中,电源地、信号地、数字地和模拟地都是不同的地(ground)节点,它们在电路中有不同的作用。 电源地(Power Ground)是指用于连接电源电源回路的地节点。在大多数电子设备中,电源地通常是…

线性代数理解笔记

一.向量引入: 向量:只由大小和方向决定,不由位置决定。 二.向量加减法 向量的加法是首尾相连,减法是尾尾相连。 而向量v向量w为平行四边形主对角线。 向量v-向量w为平行四边形副对角线。 2.向量内积点乘(内积) 内积…

《数据结构、算法与应用C++语言描述》-队列的应用-工厂仿真

工厂仿真 完整可编译运行代码见:Github::Data-Structures-Algorithms-and-Applications/_19Factory simulation/ 问题描述 一个工厂有m台机器。工厂的每项任务都需要若干道工序才能完成。每台机器都执行一道工序,不同的机器执行不同的工序。一台机器一…

如何让useEffet支持async/await

前言 刚开始学react写过类似下面的代码,就是想直接在useEffect中使用async/await。然后浏览器就会报错如下图: useEffect(async () > {const res await Promise.resolve({ code: 200, mes: });}, [])报错的意思: useEffect 期望接受一…

算法导论笔记5:贪心算法

P216 第15章动态规划 最优子结构 具有它可能意味着适合应用贪心策略 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。 剪切-粘贴技术证明 每个子问题的解就是它本身的最优解(利用反证法&#xff0…

CCC数字钥匙设计 --数字钥匙数据结构

1、数字钥匙是什么? 汽车数字钥匙,将传统实体钥匙数字化,用卡片、手机等智能设备来做数字钥匙的载体。 从而实现无钥匙进入/启动、为他人远程钥匙授权、个性化的车辆设置等功能。 目前市场上流行的数字钥匙方案是通过NFC、BLE、UWB通信技术…

【数据库开发】DataX开发环境的安装部署

文章目录 1、简介1.1 DataX简介1.2 DataX功能1.3 支持的数据通道 2、DataX安装配置2.1 DataX2.2 Java2.3 Python2.4 测试 3、DataX Web安装配置3.1 mysql3.2 DataX Web3.2.1 简介3.2.2 架构图3.2.3 依赖环境3.2.4 安装 结语 1、简介 DataX是阿里云DataWorks数据集成的开源版本。…

考研分享第2期 | 中央财经大学管理科学跨考北大软微金融科技406分经验分享

一、个人信息 本科院校:中央财经大学 管理科学与工程学院 管理科学专业 上岸院校:北京大学 软件与微电子学院 金融科技专业硕士 考试科目: 初试:思想政治理论 英语一 数学二 经济学综合 面试考察范围广,包括英语自…

深度学习1【吴恩达】

视频链接:1.5 关于这门课_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1FT4y1E74V?p5&spm_id_frompageDriver&vd_source3b6cdacf9e8cb3171856fe2c07acf498 视频中吴恩达老师所有的话语收录: 机器学习初学者-AI入门的宝典 (ai-start.c…

CorelDRAW2023中文免费版矢量图设计软件

设计工作经验丰富的人一定对比过多种设计软件,在对众多矢量图设计软件进行对比之后,多数资深设计师认为CorelDRAW的专业性、便捷性以及兼容性的综合表现更好,而且软件还配置了海量艺术笔,这让工作成果更为出众,因此更愿…

Clickhouse学习笔记(8)—— 建表优化

数据类型 时间字段 建表时能用数值型或日期时间类型(DateTime)表示的字段就不要用字符串 因为clickhouse进行分区时一般使用时间字段来进行分区,而将时间字段使用DateTime表示,不需要经过函数转换处理,执行效率高、…