LLM | 论文精读 | 基于大型语言模型的自主代理综述
论文标题:A Survey on Large Language Model based Autonomous Agents
作者:Lei Wang, Chen Ma, Xueyang Feng, 等
期刊:Frontiers of Computer Science, 2024
DOI:10.1007/s11704-024-40231-1
一、引言
自主代理(Autonomous Agents)长期以来一直是人工智能领域的研究热点。传统的自主代理通常在隔离的环境中进行训练,知识和经验有限,因此很难达到类似人类的智能水平。近年来,随着大型语言模型(LLM)的发展,研究人员尝试利用这些模型作为自主代理的核心控制器,从而提升代理的决策能力。本文对基于LLM的自主代理进行了全面的综述,涵盖了其构建、应用和评估方法,并探讨了这一领域的挑战与未来方向。
二、LLM自主代理的构建
1. 代理的架构设计
LLM自主代理的构建主要关注两个问题:如何设计代理的架构以更好地利用LLM,以及如何赋予代理执行特定任务的能力。本文提出了一个统一的框架,将代理架构分为四个模块:
-
画像模块(Profiling Module):用于确定代理的角色,例如代码编写者、老师等。代理的角色信息通常会写入提示词中,以影响LLM的行为。画像模块可以通过三种方式构建:
-
手工设定:手动为代理指定角色特征,例如“你是一个外向的人”或“你是一名经验丰富的教师”。这种方法灵活但较为耗时。
-
LLM生成:利用LLM根据预定义的规则自动生成角色画像,通常使用少量样本作为示例,生成具有不同特征的代理。
-
数据集对齐:从真实数据集中获取代理的角色信息,使得代理的行为更符合真实世界的情况。
-
-
记忆模块(Memory Module):模拟人类的短期和长期记忆,帮助代理在动态环境中积累经验并进行有效决策。记忆模块的设计包括以下几个方面:
-
记忆结构:
-
统一记忆:仅模拟短期记忆,直接将上下文信息写入提示词中,适用于简单任务。
-
混合记忆:结合短期记忆和长期记忆,短期记忆用于存储当前上下文信息,长期记忆用于积累重要的经验和知识。混合记忆使代理能够在复杂环境中进行长程推理和经验积累。
-
-
记忆格式:记忆可以以自然语言、嵌入向量或数据库的形式存储。
-
自然语言:灵活且易于理解,适合描述复杂的记忆内容。
-
嵌入向量:提高检索效率,适用于快速查询。
-
数据库:使用结构化数据存储记忆,方便高效地操作记忆内容。
-
-
记忆操作:包括记忆的读取、写入和反思。
-
记忆读取:根据任务需求,从记忆中提取相关信息,通常基于时间、相关性和重要性进行选择。
-
记忆写入:将新信息存储到记忆中,需要处理重复信息和内存溢出问题。
-
记忆反思:代理可以对过去的行为进行总结和反思,从中提取高层次的见解,以改进未来的行动。
-
-
-
规划模块(Planning Module):允许代理将复杂任务分解为更简单的子任务,使其行为更加合理和可靠。规划模块分为两种类型:
-
无反馈的规划:代理在规划过程中不接受外部反馈,适用于简单任务。
-
单路径推理:按照预定步骤逐步完成任务,例如“链式思维”(CoT)。
-
多路径推理:为每个步骤生成多个可能的后续步骤,例如“思维树”(ToT)。
-
-
有反馈的规划:代理在执行过程中根据反馈调整规划,适用于复杂任务。反馈可以来自环境、人类或模型自身。
-
环境反馈:从外部环境中获取信息,例如游戏中的任务完成情况。
-
人类反馈:通过与人类交互获取反馈,以更好地对齐人类价值观。
-
模型反馈:代理自身生成的反馈,用于改进计划质量。
-
-
-
行动模块(Action Module):将代理的决策转化为具体行动,并直接与环境进行交互。行动模块包括以下几个方面:
-
行动目标:代理可以执行不同目标的行动,例如完成特定任务、与其他代理交流或探索环境。
-
行动生成:代理可以基于记忆回忆生成行动,或者基于预先生成的计划执行行动。
-
行动空间:代理可以调用外部工具(例如API、数据库等)或依赖LLM的内在知识来完成行动。
-
行动影响:行动会对环境或代理自身产生影响,例如改变环境状态、更新代理的内部记忆或触发新的行动。
-
三、LLM自主代理的应用
LLM自主代理在社会科学、自然科学和工程等多个领域都有广泛的应用。
-
社会科学:LLM自主代理可用于模拟人类行为和社交互动。例如,RecAgent通过模拟用户对电影的偏好,研究个性化推荐的实现。
-
自然科学:在科学研究中,LLM自主代理可以帮助科学家处理庞大的数据集,自动化实验设计和分析。
-
工程:在工程领域,LLM自主代理可以作为智能助手,帮助工程师完成复杂任务,例如代码编写和故障排查。
四、评估策略
LLM自主代理的评估策略分为主观和客观两种。主观评估通常通过人类专家的反馈来判断代理的行为质量,而客观评估则使用具体的指标,例如任务完成度和执行效率。
五、挑战与未来方向
虽然LLM自主代理表现出了巨大的潜力,但仍面临一些挑战:
-
长程记忆和上下文理解:现有的模型对长时记忆的处理仍然有限,难以有效地管理和利用长时间跨度的信息。
-
推理能力的提升:如何让代理在复杂任务中具备更强的推理和计划能力,仍是一个亟待解决的问题。
-
与人类交互的安全性:代理在与人类进行交互时,如何保证其行为符合伦理规范,是未来研究的重要方向。
未来,研究人员可以探索如何通过更高效的记忆管理、复杂推理机制和安全的人机交互框架来进一步提升LLM自主代理的性能。
六、总结
本文对LLM自主代理的构建、应用和评估进行了系统的综述,并提出了未来研究的方向。基于LLM的自主代理展示了在多领域中的巨大潜力,但仍需克服诸多挑战,以实现更加智能和安全的人机交互。
相关文章:
LLM | 论文精读 | 基于大型语言模型的自主代理综述
论文标题:A Survey on Large Language Model based Autonomous Agents 作者:Lei Wang, Chen Ma, Xueyang Feng, 等 期刊:Frontiers of Computer Science, 2024 DOI:10.1007/s11704-024-40231-1 一、引言 自主代理(…...
详解Redis相关缓存问题
目录 缓存更新策略 定期⽣成 实时⽣成 缓存淘汰策略 Redis内置缓存淘汰策略 缓存预热 缓存穿透 缓存雪崩 缓存击穿 缓存更新策略 定期⽣成 每隔⼀定的周期(⽐如⼀天/⼀周/⼀个⽉), 对于访问的数据频次进⾏统计. 挑选出访问频次最⾼的前 %N的数据. 实时⽣成 先给缓存…...
ubuntu 24 (wayland)如何实现无显示器远程桌面
ubuntu 24默认采用的是wayland而非x11,查过文档vnc对wayland的支持不是很好,折腾了好久,弄了一个如下的方案供参考: 硬件条件 需要一个显卡欺骗器或者可以接HDMI口作为视频信号源输出的设备。 将ubuntu的主机的HDMI输出接到该硬…...
《模拟电子技术基础》第六版PDF课后题答案详解
《模拟电子技术基础》第六版是在获首届全国优秀教材建设奖一等奖的第五版的基础上,总结6年来的教学实践经验修订而成的新形态教材。为满足国家人才培养的需求,适应新型教学模式,并考虑到大多数院校逐渐减少课程学时的现状,在不降低…...
python知识收集
文章目录 语法def声明函数class声明类class 子类(父类) 继承 数据结构列表列表操作 元组元组操作 字典遍历字典 集合 文件读写读文件写文件 csv模块读入写入 time模块发送邮件制作二维码滚动广告 语法 def声明函数 class声明类 class 子类(父类) 继承 数据结构 列表 列表…...
传奇996_3——使用补丁添加怪物
找素材,看素材是否是打包好的,没有的话就使用工具进行素材打包(打包好后尽量别改名),并复制进客户端,D:\chuanqinew\996M2_debug\dev\anim\monster找到模型表cfg_model_info.xls,复制表中前几行…...
「Mac畅玩鸿蒙与硬件13」鸿蒙UI组件篇3 - TextInput 组件获取用户输入
在鸿蒙应用开发中,TextInput 组件用于接收用户输入,适用于文本、密码等多种输入类型。本文详细介绍鸿蒙 TextInput 组件的使用方法,包括输入限制、样式设置、事件监听及搜索框应用,帮助你灵活处理鸿蒙应用中的用户输入。 关键词 TextInput 组件用户输入输入限制事件监听搜索…...
MCU裸机任务调度架构
第1章 方式一(平均主义) int main(int argc, char **argv){/* RTC 初始化 */bsp_RTC_Init(&rtc);/* 串口初始化 */uartInit(115200);/* LED初始化 */ledInit();while(1){// 任务1(获取传感器数据)// 任务2// 任务3} } 1.1 平均主义的缺陷 获取传感器数据可以600ms去读取一…...
【Web前端】JavaScript 对象原型与继承机制
JavaScript 是一种动态类型的编程语言,其核心特性之一就是对象和原型链。理解原型及其工作机制对于掌握 JavaScript 的继承和对象关系非常重要。 什么是原型 每个对象都有一个内部属性 [[Prototype]],这个属性指向创建该对象的构造函数的原型…...
【华为HCIP实战课程二十六】中间到中间系统协议IS-IS配置默认路由及IS-IS数据库,网络工程师
一、IS-IS路由器分类 1、L1路由器:Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB包含本区域的路由信息。到本区域…...
mysql上课总结(2)(DCL的所有操作总结、命令行快速启动/关闭mysql服务)
目录 一、DCL小结(数据控制语言) 1、查询表不在当前使用的数据库,可以在表名前加数据库名。 2、系统数据库mysql 的 user 表。 3、在系统数据库mysql 的 user 表当中如何判断创建的用户是否唯一? 4、系统数据库mysql 的 user 表当…...
法律智能助手:开源NLP系统助力法律文件高效审查与检索
一、系统概述 思通数科AI平台是一款融合了自然语言处理和多标签分类技术的开源智能文档分类工具,特别适用于法律行业。平台采用深度学习的BERT模型来进行特征提取与关系抽取,实现了精准的文档分类和检索。用户可以在线训练和标注数据,使系统…...
如何使用AdsPower指纹浏览器克服爬虫技术限制,安全高效进行爬虫!
随着中国开发者日益成熟,应用质量明显提升,越来越多的开发者选择出海寻找机会扩大市场。但“应用出海”说起来容易,做起来难。其中,最大的困恼就是对海外市场缺乏了解。 很多开发者会选择使用网络爬虫(Web Crawling&a…...
四、虚拟化配置寄存器(HCR_EL2)
bit字段描述63:60TWEDELTWE延迟。当HCR_EL2.TWEDEn为1,由HCR_EL2引起的WFE*陷阱的最小延迟为2的(TWEDEL 8)次方,单位周期。59TWEDEnTWE推迟启用。让由HCR EL2.TWE引起的WFE*指令延迟陷入可配置。0:陷入的延迟是已经定义的;1&…...
我要成为算法高手-滑动窗口篇
目录 滑动窗口算法题目1:长度最小的子数组题目2:无重复字符的最长子串题目3:最大连续1的个数题目4:将x减到0的最小操作数题目5:水果成篮题目6:找到字符串中所有的字母异位词题目7:串联所有单词的子串题目8:最小覆盖子串 滑动窗口算法 滑动窗口的本质还是双指针,只不…...
jenkins搭建及流水线配置
1.安装docker curl https://mirrors.aliyun.com/repo/Centos-7.repo >> CentOS-Base-Aliyun.repomv CentOS-Base-Aliyun.repo /etc/yum.repos.d/yum -y install yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/…...
Vue v-on
vue : v-on:func --------------------------- data(){ return{ prop:any; } } methods:{ func(){ } } template:, v-on...
快速生成高质量提示词,Image to Prompt 更高效
抖知书老师推荐: 随着 AI 技术的不断发展,视觉信息与语言信息之间的转换变得越来越便捷。在如今的数字化生活中,图像与文字的交互需求愈发旺盛,很多人都希望能轻松将图像内容直接转化为文本描述。今天我们来推荐一款实用的 AI 工…...
SELS-SSL/TLS
一、了解公钥加密(非对称加密) 非对称加密中,用于加密数据的密钥与用于解密数据的密钥不同。私钥仅所有者知晓,而公钥则可自由分发。发送方使用接收方的公钥对数据进行加密,数据仅能使用相应的私钥进行解密。 你可以将…...
算法:排序
排序算法 1. 简单排序1.1 直接插入排序1.2 冒泡排序1.3 简单选择排序 2. 希尔排序3. 快速排序4. 堆排序5. 归并排序 将文件的内容按照某种规则进行排列。 排序算法的稳定判定:若在待排序的一个序列中, R i R_i Ri和 R j R_j Rj的关键码相同…...
MyBatis-Plus 更新对象时如何将字段值更新为 null
MyBatis-Plus 是一个 MyBatis 的增强工具,在简化开发、提高效率方面表现非常出色。然而,在使用 MyBatis-Plus 更新对象时,默认情况下是不会将字段值更新为 null 的。这是因为 MyBatis-Plus 使用了非空字段策略(FieldStrategy&…...
Unreal5从入门到精通之如何在VR中使用3DUI
文章目录 前言创建3DUI1.新建控件蓝图2.添加控件到画布上3.新建Actor蓝图MyUIActor4.添加控件组件Widget5.设置控件类和画布大小6.创建MyUIActor实例到场景中3DUI和VR射线交互1.添加按钮的点击事件2.设置MyUIActor碰撞响应3.VRPawn添加控件交互组件4.添加手柄Trigger点击事件绑…...
ViSual studio如何安装 并使用GeographicLib
在C的 Boost.Geometry、GDAL/OGR 和 GeographicLib。这些库都可以用于计算两个经纬度点之间的地面距离。 . Boost.Geometry 描述:Boost库的一部分,提供了几何计算功能,包括计算两点之间的地面距离。 优势:轻量级、易于集成到C项…...
Java程序设计:spring boot(11)——分布式缓存 Ehcache 整合
目录 1 Spring Cache 相关注解说明 1.1 CacheConfig 1.2 Cacheable 1.3 CachePut 1.4 CacheEvict 1.5 Caching 2 环境配置 2.1 pom.xml 依赖添加 2.2 ehcahe.xml ⽂件添加 2.3 application.yml 缓存配置 2.4 启动缓存 2.5 JavaBean 对象实现序列化 3 缓存实现 3.…...
豆包,攻克数字是个什么工具?《GKData-挖掘数据的无限可能》(数据爬虫采集工具)
豆包,攻克数字是个什么工具? “攻克数字” 指的是 “攻克数字(GKData)” 这样一款工具。是一款针对网页、APP中数据自动解析转表存入数据库的软件,为数据工作者而生。它是一个不会编程也能用的可视化数据解析为标准二…...
说一说QWidget
目录 关于QWidget 作为界面组件时,你需要有印象的 1. 控制属性 2. 组件状态与交互属性 3. 外观和样式属性 4. 布局与子组件管理属性 5. 图标和光标属性 6. 大小策略属性 作为单独的窗体的属性 写Qt快两年了,也写过一些规模偏大的软件,…...
Web3.0技术入门
Web3.0技术入门是一个涉及多个方面和领域的复杂过程,以下是一些关键的步骤和要点,帮助您初步了解并掌握Web3.0技术。 一、了解Web3.0的基本概念 Web3.0也被称为下一代互联网,它是对当前互联网(Web2.0)的演进和升级。…...
spygalss cdc 检测的bug(二)
当allow_qualifier_merge设置为strict的时候,sg是要检查门的极性的。 如果qualifier和src经过与门汇聚,在同另一个src1信号或门汇聚,sg是报unsync的。 假设当qualifier为0时,0&&src||src1src1,src1无法被gat…...
集合论(ZFC)之 选择公理(Axiom of Choice)注解
直观感受(Intuition) 集合论(ZFC)中的 "C" 指的是选择公理(Axiom of Choice)中的"choice"。简单来说,对于任一非空集合 S,那么存在一个函数 f,选择出…...
JS:字符串操作
目录 1、 字符串分割 1、 字符串分割 var str "123,456,789"; console.log(str.split(,)); // ["123", "456", "789"]...
网站备案审核制度/今天刚刚发生的新闻
题库来源:安全生产模拟考试一点通公众号小程序 安全生产模拟考试一点通:危险化学品经营单位主要负责人考试题是安全生产模拟考试一点通总题库中生成的一套危险化学品经营单位主要负责人模拟试题,安全生产模拟考试一点通上危险化学品经营单位…...
外网设计素材网站/前端优化网站
顺序容器与关联容器的不同之处在于两者组织元素的方式。 除了array之外,所有标准库容器都提供了灵活的内存管理。在运行时可以动态添加或删除元素来改变容器的大小。 使用push_back 除array和forward_list之外,每个顺序容器(包括string类型&…...
wordpress translate/整合营销传播成功案例
在Centos5,6系统下修改DNS我们都知道只要修改/etc/resolv.conf文件,添加需要的dns即可 Author:yangfannie.com cat /etc/resolv.conf nameserver 119.29.29.29 nameserver 223.5.5.5 最近测试在Centos7上面也按原来的方法修改/etc/resolv.conf文件&#…...
遂宁做网站/想开个网站怎样开
日前,教育部推出“新工科”计划。新举措自然引起工程教育界的广泛关注。如果你在考虑继续求学深造,纠结什么专业比较好,一定要好好了解一下爆红的“新工科”!什么是“新工科”?根据教育部办公厅印发的通知指出…...
2023年防疫新政策/国际站seo优化是什么意思
点击关注公众号,Java干货及时送达推荐阅读:劝大家别再搞老旧的 Spring Cloud 了!Spring Cloud 2022 正式发布!来源:InfoQ、编译:核子可乐、Tina在 Git 的绝对统治下,你还记得 SVN 吗?…...
网站建设应该注意什么/优化推广seo
纠结了2个多小时的问题,原来是NULL 和nil在作怪 总结下: 1.当它是基本数据类型时,需要用NULL判断其是否为空 2.当它是对象时,需要用nil判断其是否为空 初始化items items [[NSMutableArray alloc]initWithCapacity:0]࿱…...