当前位置: 首页 > news >正文

The Rise and Potential of Large Language Model Based Agents: A Survey

OpenAI AI的应用研究主管Lilian Weng发布了关于AI Agents的《大语言模型(LLM)支持的自主代理》,在文章中她定义了基于LLM构建AI Agents的应用框架:Agent=LLM(大型语言模型)+记忆(Memory)+规划技能(Planning)+工具使用(Tool Use)。最近复旦大学自然语言处理组《大模型智能体》综述论文,提出了一个基于LLM的智能体的概念框架,包括三个主要组成部分:大脑、感知和行动

Abstract

长期以来,人类一直在追求相当于或超越人类水平的人工智能(AI),而人工智能代理被认为是实现这一追求的有前途的工具。人工智能代理是感知环境、做出决策并采取行动的人造实体。人们为开发智能代理做出了许多努力,但它们主要集中在算法或训练策略的进步,以增强特定任务的特定能力或性能。事实上,社区缺乏的是一个通用且强大的模型来作为设计能够适应不同场景的人工智能代理的起点。由于它们所展示的多功能能力,大语言模型(LLM)被认为是通用人工智能(AGI)的潜在火花,为构建通用人工智能代理带来了希望。许多研究人员利用LLM作为构建人工智能代理的基础,并取得了重大进展。在本文中,我们对LLM Agent进行了全面调研。我们首先追溯agent的概念,从其哲学起源到人工智能的发展,并解释为什么LLM是智能体的合适基础。在此基础上,我们提出了一个基于 LLM 的代理的通用框架,包括三个主要组件:大脑、感知和行动,并且该框架可以针对不同的应用进行定制。随后,我们探讨了基于LLM的智能体在单智能体场景、多智能体场景和人类智能体协作三个方面的广泛应用。接下来,我们深入研究代理人社会,探讨LLM Agent的行为和个性,代理人社会中出现的社会现象,以及他们为人类社会提供的见解。最后,我们讨论了该领域内的几个关键主题和未解决的问题。相关论文的存储库位于 https://github.com/WooooDyy/LLM-Agent-Paper-List。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1. Introduction

人工智能(AI)是一个致力于设计和开发可以复制类人智能和能力的系统的领域[1]。早在 18 世纪,哲学家丹尼斯·狄德罗 (Denis Diderot) 就提出了这样的想法:如果一只鹦鹉能够回答所有问题,那么它就可以被认为是聪明的 [2]。虽然狄德罗指的是鹦鹉等生物,但他的概念强调了一个深刻的概念,即高度智能的有机体可能类似于人类的智能。 20 世纪 50 年代,艾伦·图灵将这一概念扩展到人造实体,并提出了著名的图灵测试 [3]。该测试是人工智能的基石,旨在探索机器是否能够表现出与人类相媲美的智能行为。这些人工智能实体通常被称为“智能体”,构成人工智能系统的基本构建块。通常在人工智能中,代理是指能够使用传感器感知周围环境、做出决策,然后使用执行器采取响应行动的人工实体。

agent的概念起源于哲学,其根源可以追溯到亚里士多德和休谟等思想家[5]。它描述了拥有欲望、信念、意图和采取行动的能力的实体[5]。这个想法转变为计算机科学,旨在使计算机能够理解用户的兴趣并代表他们自主执行操作[6; 7; 8]。随着人工智能的发展,“代理”一词在人工智能研究中找到了自己的位置,用来描述展示智能行为并拥有自主性、反应性、主动性和社交能力等品质的实体[4; 9]。从那时起,智能体的探索和技术进步就成为人工智能界的焦点[1; 10]。人工智能代理现在被认为是实现通用人工智能 (AGI) 1 的关键一步,因为它们包含了广泛的智能活动的潜力 [4; 11; 12]。

从 20 世纪中叶开始,随着研究深入研究智能 AI 代理的设计和进步,在开发智能 AI 代理方面取得了重大进展 [13; 14; 15; 16; 17; 18]。然而,这些努力主要集中在增强特定能力,例如符号推理,或掌握围棋或国际象棋等特定任务[19; 20; 21]。实现跨不同场景的广泛适应性仍然难以实现。此外,以往的研究更注重算法和训练策略的设计,忽视了模型固有的通用能力的发展,如知识记忆、长期规划、有效泛化和高效交互等[22; 23]。实际上,增强模型的内在能力是智能体进一步发展的关键因素,该领域需要一个强大的基础模型,该模型具有上述各种关键属性,作为智能体系统的起点。

大语言模型(LLM)的发展为智能体的进一步发展带来了一线希望[24; 25; 26],并且社区已经取得了重大进展[22; 27; 28; 29]。根据世界范围(WS)[30]的概念,它包含描述从 NLP 到通用人工智能(即语料库、互联网、感知、体现和社交)的研究进展的五个层次,纯粹的LLM建立在第二个层次上。与互联网规模的文本输入和输出水平。尽管如此,LLM在知识获取、指令理解、泛化、规划和推理方面表现出了强大的能力,同时展示了与人类有效的自然语言交互。这些优势为LLM赢得了 AGI 的火花 [31],使他们非常适合构建智能代理,以培育一个人类与代理和谐共存的世界 [22]。以此为起点,如果我们将LLM提升到代理人的地位,并为他们配备扩展的感知空间和行动空间,他们就有可能达到WS的第三和第四层次。此外,这些基于 LLM 的智能体可以通过合作或竞争来处理更复杂的任务,并且将它们放在一起时可以观察到新兴的社会现象,有可能达到第五个 WS 级别。如图 1 所示,我们设想一个由人工智能体组成的和谐社会,人类也可以参与其中。

在本文中,我们提出了一项针对LLM Agent的全面、系统的调研,试图调查这一新兴领域的现有研究和前瞻性途径。为此,我们首先深入研究关键的背景信息(§ 2)。特别是,我们首先从哲学到人工智能领域追溯人工智能代理的起源,并简要围绕人工智能是否存在的争论(§ 2.1)进行概述。接下来,我们从技术趋势的角度对人工智能代理的发展进行简明的历史回顾(第2.2节)。最后,我们深入介绍了智能体的基本特征,并阐明了为什么大型语言模型非常适合作为人工智能智能体的大脑或控制器的主要组成部分(第 2.3 节)。

受智能体定义的启发,我们提出了基于 LLM 的智能体的通用概念框架,包括三个关键部分:大脑、感知和行动(§ 3),并且该框架可以根据不同的应用进行定制。我们首先介绍大脑,它主要由一个大的语言模型组成(第 3.1 节)。与人类类似,大脑是人工智能体的核心,因为它不仅存储重要的记忆、信息和知识,而且承担信息处理、决策、推理和规划的基本任务。它是智能体能否表现出智能行为的关键决定因素。接下来,我们介绍感知模块(第 3.2 节)。对于智能体来说,这个模块的作用类似于人类的感觉器官。其主要功能是将智能体的感知空间从纯文本扩展到多模态空间,其中包括文本、声音、视觉、触觉、气味等多种感官模式。这种扩展使智能体能够更好地感知来自外部环境的信息。最后,我们提出了用于扩展代理动作空间的动作模块(第 3.3 节)。具体来说,我们期望智能体能够拥有文本输出、采取具体行动并使用工具,以便更好地响应环境变化并提供反馈,甚至改变和塑造环境。

之后,我们对基于LLM的智能体的实际应用进行了详细而透彻的介绍,并阐明了基本的设计追求——“利用人工智能向善”(§ 4)。首先,我们深入研究单个智能体的当前应用,讨论它们在基于文本的任务和模拟探索环境中的表现,重点介绍它们在处理特定任务、推动创新以及展示类人生存技能和适应能力方面的能力(第 4.1 条)。接下来,我们回顾一下多智能体的发展历史。我们介绍了基于LLM的多智能体系统应用程序中智能体之间的交互,它们参与合作、谈判或竞争。无论交互模式如何,代理都会共同努力实现共同目标(第 4.2 节)。最后,考虑到基于LLM的代理在隐私安全、道德约束和数据缺陷等方面的潜在局限性,我们讨论了人机协作。我们总结了智能体和人类之间的协作范式:指导者-执行者范式和平等伙伴关系范式,以及实践中的具体应用(第4.3节)。

基于对基于 LLM 的代理实际应用的探索,我们现在将重点转向**“代理社会”**的概念,研究代理与其周围环境之间复杂的相互作用(§ 5)。本节首先调查这些智能体是否表现出类人行为并具有相应的个性(第 5.1 节)。此外,我们还介绍了代理运行的社交环境,包括基于文本的环境、虚拟沙箱和物理世界(§5.2)。与上一节(第 3.2 节)不同,这里我们将关注不同类型的环境,而不是智能体如何感知环境。建立了代理及其环境的基础后,我们继续揭示它们形成的模拟社会(§5.3)。我们将讨论模拟社会的构建,并继续研究从中出现的社会现象。具体来说,我们将强调模拟社会固有的教训和潜在风险。

最后,我们讨论了基于LLM的代理领域内的一系列关键主题(第6节)和开放性问题:(1)LLM研究和代理研究的互惠互利和启发,其中我们证明了LLM的发展为代理和基于代理的LLM社区提供了许多机会(§ 6.1); (2) 从实用性、社交性、价值观和不断发展的能力四个维度对LLM Agent的现有评估工作和一些前景(§ 6.2); (3)基于LLM的代理的潜在风险,我们讨论基于LLM的代理的对抗稳健性和可信度。我们还讨论了其他一些风险,例如滥用、失业和对人类福祉的威胁(第 6.3 条); (4) 扩大代理数量,我们讨论扩大代理数量的潜在优势和挑战,以及预先确定和动态扩展的方法(第 6.4 节); (5) 几个悬而未决的问题,例如关于基于 LLM 的代理是否代表通向 AGI 的潜在路径的争论、从虚拟模拟环境到物理环境的挑战、AI 代理中的集体智能以及代理即服务(§ 6.5)。毕竟,我们希望这篇论文能为相关领域的研究人员和实践者提供启发。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

The Rise and Potential of Large Language Model Based Agents: A Survey

OpenAI AI的应用研究主管Lilian Weng发布了关于AI Agents的《大语言模型(LLM)支持的自主代理》,在文章中她定义了基于LLM构建AI Agents的应用框架:AgentLLM(大型语言模型)记忆(Memory&#xff0…...

【GPT-SOVITS-06】特征工程-HuBert原理

说明:该系列文章从本人知乎账号迁入,主要原因是知乎图片附件过于模糊。 知乎专栏地址: 语音生成专栏 系列文章地址: 【GPT-SOVITS-01】源码梳理 【GPT-SOVITS-02】GPT模块解析 【GPT-SOVITS-03】SOVITS 模块-生成模型解析 【G…...

ros小问题之差速轮式机器人轮子不显示(rviz gazebo)

在rviz及gazebo练习差速轮式机器人时,很奇怪,只有个机器人的底板及底部的两个万向轮,如下图, 后来查看相关.xacro文件,里面是引用包含了轮子的xacro文件,只需传入不同的参数即可调用生成不同位置的轮子&…...

网络安全实训Day5

写在前面 昨天忘更新了......讲的内容不多,就一个NAT。 之前记的NAT的内容:blog.csdn.net/Yisitelz/article/details/131840119 网络安全实训-网络工程 NAT 公网地址与私网地址 公网地址 可以在互联网上被寻址,由运营商统一分配全球唯一的I…...

【Unity入门】详解Unity中的射线与射线检测

目录 前言一、射线的创建方法二、射线检测1、Raycast()Raycast()不使用射线RayRaycast()使用射线Ray 2、RaycastAll()使用射线RayRaycastAll() 不使用射线Ray 3、射线的碰撞信息 三、示例四、具体使用场景射线的调试方法1、Debug.DrawLine()2、Debug.DrawRay利用Gizmos 前言 碰…...

实验11-2-5 链表拼接(PTA)

题目: 本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下: struct ListNode {int data;struct ListNode *next; }; 函数接口定义: struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2); 其中lis…...

Mybatis Plus + Spring 分包配置 ClickHouse 和 Mysql 双数据源

目录 一、背景 二、各个配置文件总览(文件位置因人而异) 2.1 DataSourceConfig 2.2 MybatisClickHouseConfig (ClickHouse 配置类) 2.3 MybatisMysqlConfig(Mysql 配置类) 2.4 application.propertie…...

27-3 文件上传漏洞 - 文件类型绕过(后端绕过)

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 导语 后端校验由开发决定是检测文件后缀,还是文件内容。 文件类型绕过(Content-Type) 1)MIME 类型 定义:MIME(Multipurpose Internet Mail Extensions)类型是一种标准,…...

widget一些控件的使用

QRadioButton使用 先使用ui界面拖拽创建radio button #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);ui->male->setChecked(true);//选中按钮ui->o…...

Python基础(七)之数值类型集合

Python基础(七)之数值类型集合 1、简介 集合,英文set。 集合(set)是由一个或多个元素组成,是一个无序且不可重复的序列。 集合(set)只存储不可变的数据类型,如Number、…...

电脑充电器能充手机吗?如何给手机充电?

电脑充电器可以给手机充电吗? 电脑充电器可以给手机充电,但前提是电脑充电器的功率输出与手机的功率匹配且接口匹配。 假设电脑充电器的输出功率为5V/2A,手机也支持5V/2A的输入功率。 只要接口匹配,就可以使用电脑充电器给手机充…...

矩阵中移动的最大次数

文章目录 所属专栏:BFS算法 题目链接 思路如下: 1.首先我们需要从第一列开始遍历,寻找每一个都能够满足条件的位置,将它插入到数组里面 2.第一列遍历完了后我们先判断第一列的数是否都满足条件插入到数组里面,如果数组为空&#…...

Linux:系统初始化,内核优化,性能优化(3)

优化系统的文件句柄数(全局) 也就是系统的最大文件数量 查看最大数量 cat /proc/sys/fs/file-max 当我们的服务器有非常大的一个数据并发的时候十几二十万的文件需要去配置,可能这个是远远不够的,我们就要去修改 vim /etc/sy…...

使用 GitHub Actions 通过 CI/CD 简化 Flutter 应用程序开发

在快节奏的移动应用程序开发世界中,速度、可靠性和效率是决定项目成功或失败的关键因素。持续集成和持续部署 (CI/CD) 实践已成为确保满足这些方面的强大工具。当与流行的跨平台框架 Flutter 和 GitHub Actions 的自动化功能相结合时,开发人员可以创建无…...

微软 CEO Satya Nadella 的访谈

Nicolai: 大家好。我刚经历了人生中最不可思议的事情,我有幸采访了微软的 CEO、Satya Nadella。微软现在是全球市值最高的公司。真是太棒了,请继续关注。 第一章 微软的发展与平台转变 Nicolai: Satya,你是全球市值最高公司的 CEO&#xff…...

万界星空科技商业开源MES,技术支持+项目合作

商业开源的一套超有价值的JAVA制造执行MES系统源码 亲测 带本地部署搭建教程 教你如何在本地运行运行起来。 开发环境:jdk11tomcatmysql8springbootmaven 可以免费使用,需要源码价格便宜,私信我获取。 一、系统概述: MES制造执…...

Docker Mysql无root账户创建最高权限用户

创建最高权限用户 进入 MySQL 容器的命令行界面。您可以使用以下命令&#xff1a; 修改配置文件my.cnf 无密码进入 [mysqld]下输入 skip-grant-tables重启mysql容器 进入容器内部 container_name 容器ID或name docker restart mysql docker exec -it <container_name>…...

常用芯片学习——DS3231M芯片

DS3231M RTC实时时钟 芯片介绍 DS3231M是一款低成本、极其精确的 I2C 实时时钟 &#xff08;RTC&#xff09;。该设备集成了电池输入&#xff0c;并在设备主电源中断时保持准确的计时。微型电子机械系统 &#xff08;MEMS&#xff09; 谐振器的集成提高了器件的长期精度&…...

蓝桥杯单片机快速开发笔记——矩阵键盘

一、原理分析 二、思维导图 三、示例框架 定义了四个位控制变量&#xff0c;用于控制键盘扫描时的行列信号。 在Scan_Keys()函数中&#xff0c;首先设置行列信号&#xff0c;将其中一个行信号置为0&#xff0c;另一个行信号置为1&#xff0c;同时将列信号置为1&#xff0c;用于…...

每周一算法:双向深搜

题目描述 达达帮翰翰给女生送礼物&#xff0c;翰翰一共准备了 N N N 个礼物&#xff0c;其中第 i i i 个礼物的重量是 G [ i ] G[i] G[i]。 达达的力气很大&#xff0c;他一次可以搬动重量之和不超过 W W W的任意多个物品。 达达希望一次搬掉尽量重的一些物品&#xff0c;请…...

蓝桥杯刷题(十)

1.翻转 代码 输入数据&#xff0c;每组数据进行比较&#xff0c;j的范围掐头去尾&#xff0c;若a[j]b[j]&#xff0c;继续&#xff0c;若出现010,101子串则改成000,111&#xff0c;遍历完后比较a是否等于b&#xff0c;相同则输出次数&#xff0c;不同则输出-1。 for _ in ran…...

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

&#x1f31f; 绘图神器 ioDraw 重磅更新&#xff0c;文件保存再无忧&#xff01;&#x1f389; 无需注册&#xff0c;即刻畅绘&#xff01;✨ ioDraw 让你告别繁琐注册&#xff0c;尽情挥洒灵感&#xff01; 新增文件在线实时保存功能&#xff0c;支持将绘图文件保存到 GitHu…...

利用 Python 处理遥感影像数据:计算年度平均影像

在地球科学、气象学以及环境监测等领域&#xff0c;遥感影像数据是一种重要的信息源&#xff0c;它们可以提供地表的地形、植被覆盖、气候变化等丰富信息。然而&#xff0c;随着观测技术的进步&#xff0c;我们通常会获得大量的遥感影像数据&#xff0c;如何高效地处理和分析这…...

【Leetcode-73.矩阵置零】

题目&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&…...

redis 常见的异常

目录 一、缓存穿透 1、概念 解决方案 &#xff08;1&#xff09;布隆过滤器 (2)、缓存空对象 二、缓存雪崩 1、概念 解决方案 &#xff08;1&#xff09;redis高可用 &#xff08;2&#xff09;限流降级 &#xff08;3&#xff09;数据预热 一、缓存穿透 1、概念 缓…...

npm包、全局数据共享、分包

使用 npm 包 小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经支持使用 npm 安装第三方包&#xff0c;从而来提高小程序的开发效率。但是&#xff0c;在小程序中使用npm 包有如下 3 个限制&#xff1a; ① 不支持依赖于 Node.js 内置库的包 ② 不支持依赖于浏览器内置…...

UnityShader:IBL

效果&#xff1a; 实现&#xff1a; Shader "MyShader/IBL" {Properties{_CubeMap ("环境贴图", Cube) "white" {}_Exposure("曝光",float)1.0_Color("颜色",color)(1,1,1,1)_NormalMap("法线贴图",2d)"bu…...

每日五道java面试题之mybatis篇(三)

目录&#xff1a; 第一题. MyBatis的框架架构设计是怎么样的?第二题. 为什么需要预编译?第三题. Mybatis都有哪些Executor执行器&#xff1f;它们之间的区别是什么&#xff1f;第四题. Mybatis中如何指定使用哪一种Executor执行器&#xff1f;第五题. Mybatis是否支持延迟加载…...

C#开发五子棋游戏:从新手到高手的编程之旅

C#开发五子棋游戏&#xff1a;从新手到高手的编程之旅 目录 一、引言 二、项目规划与设计思路 三、棋盘与棋子的数据模型构建 四、交互式用户界面设计 五、核心游戏逻辑实现 一、引言 五子棋&#xff0c;作为一种古老的策略型棋类游戏&#xff0c;在全球拥有广泛的爱好者…...

ELK日志管理实现的3种常见方法

ELK日志管理实现的3种常见方法 1. 日志收集方法 1.1 使用DaemonSet方式日志收集 通过将node节点的/var/log/pods目录挂载给以DaemonSet方式部署的logstash来读取容器日志,并将日志吐给kafka并分布写入Zookeeper数据库.再使用logstash将Zookeeper中的数据写入ES,并通过kibana…...