A Survey on Large Language Model based Autonomous Agents

2023-11-15

本文是LLM系列的文章,针对《A Survey on Large Language Model based
Autonomous Agents》的翻译。

摘要

自动代理一直是学术界的一个突出研究课题。该领域先前的研究通常集中在孤立环境中训练知识有限的智能体,这与人类的学习过程有很大差异,从而使智能体难以实现类似人类的决策。最近,通过获取大量的网络知识,大型语言模型(LLM)在实现人类水平的智能方面表现出了巨大的潜力。这引发了研究基于LLM的自动代理的热潮。为了充分利用LLM的潜力,研究人员设计了适合不同应用的不同代理架构。在本文中,我们对这些研究进行了全面的调查,从整体的角度对自动智能体领域进行了系统的回顾。更具体地说,我们的重点在于构建基于LLM的代理,为此我们提出了一个统一的框架,该框架包含了以前的大部分工作。此外,我们还总结了基于LLM的人工智能代理在社会科学、自然科学和工程领域的各种应用。最后,我们讨论了基于LLM的人工智能代理常用的评估策略。在前人研究的基础上,我们还提出了该领域的一些挑战和未来方向。为了跟踪该领域并不断更新我们的调查,我们维护了一个库用于相关参考文献https://github.com/Paitesanshi/LLM-Agent-Survey.

1 引言

2 基于LLM的自动代理构建

3 基于LLM的自动代理应用

4 基于LLM的自动代理评估

5 相关综述

6 挑战

尽管之前基于LLM的自主人工智能代理的工作已经显示出许多有前景的方向,但该领域仍处于初级阶段,其发展道路上存在许多挑战。在下文中,我们提出了几个重要挑战。

6.1 角色扮演能力

与传统的LLM不同,人工智能代理通常必须扮演特定的角色(如程序编码员、研究员和化学家)来完成不同的任务。因此,代理的角色扮演能力是非常重要的。虽然对于许多常见的角色(例如影评人),LLM可以很好地模拟它们,但LLM仍然很难捕捉到许多角色和方面。首先,LLM通常是基于网络语料库进行训练的,因此对于网络上很少讨论的角色或新出现的角色,LLM可能无法很好地模拟它们。此外,先前的研究表明,现有的LLM可能无法很好地模拟人类的认知心理特征,导致在对话场景中缺乏自我意识。这些问题的潜在解决方案可能会微调LLM或仔细设计代理提示/架构。例如,人们可以首先收集不常见角色或心理特征的真实人类数据,然后利用这些数据来微调LLM。然而,如何确保微调后的模型仍然能很好地执行常见角色可能会带来进一步的挑战。除了微调之外,还可以设计定制的代理提示/架构,以增强LLM在角色扮演方面的能力。然而,找到最佳提示/架构并不容易,因为它们的设计空间太大。

6.2 广义与人对齐

对于传统的LLM,人们已经讨论了很多人与人之间的关系。在自主人工智能代理领域,特别是当代理用于模拟时,我们认为应该更深入地讨论这个概念。为了更好地为人类服务,传统的LLM通常会经过微调,以符合正确的人类价值观,例如,代理人不应该计划制造一枚为社会复仇的炸弹。然而,当代理被用于真实世界的模拟时,理想的模拟器应该能够诚实地描述不同的人类特征,包括具有错误值的特征。事实上,模拟人类的消极方面可能更重要,因为模拟的一个重要目标是发现和解决问题,没有消极方面就意味着没有问题可以解决。例如,为了模拟现实世界的社会,我们可能必须允许代理人计划制造炸弹,并观察它将如何执行计划以及其行为的影响。基于这些观察,人们可以采取更好的行动来阻止现实社会中的类似行为。受上述案例的启发,基于agent的模拟可能面临的一个重要问题是如何进行广义的人类对齐,即对于不同的目的和应用,agent应该能够与不同的人类价值观进行对齐。然而,包括ChatGPT和GPT-4在内的现有强大LLM大多与统一的人类价值观保持一致。因此,一个有趣的方向是如何通过设计适当的提示策略来“重新调整”这些模型。

6.3 提示的鲁棒性

为了确保代理的合理行为,设计人员通常会将额外的模块(如内存和规划模块)合并到LLM中。然而,纳入这些模块需要开发更多的提示,以促进一致的操作和有效的沟通。先前的研究强调了LLM提示缺乏稳健性,因为即使是微小的改变也会产生显著不同的结果。当构建自治代理时,这个问题变得更加明显,因为它们包含的不是单个提示,而是考虑所有模块的提示框架,其中一个模块的提示有可能影响其他模块。此外,提示框架在不同的LLM之间可能存在显著差异。开发一个可应用于各种LLM的统一而强大的提示框架是一个重要但尚未解决的问题。对于上述问题,有两种潜在的解决方案:(1)通过试错手动制作基本提示元素,或(2)使用GPT自动生成提示。

6.4 幻觉

幻觉对LLM提出了根本性的挑战,其中模型错误地自信地输出虚假信息。这个问题在自主代理中也很普遍。例如,在[67]中,观察到当在代码生成任务中遇到简单化的指令时,代理可能会表现出幻觉行为。幻觉可能导致严重后果,如错误或误导性代码、安全风险和道德问题。为了解决这个问题,一种可能的方法是将人类校正反馈纳入人类-主体相互作用的循环。关于幻觉问题的更多讨论可以在[157]中看到。

6.5 知识边界

自动AI Agent的一个重要应用是模拟不同的真实世界人类行为。人类模拟的研究有着悠久的历史,最近人们的兴趣激增可归因于LLM取得的显著进步,LLM在模拟人类行为方面表现出了显著的能力。然而,重要的是要认识到LLM的力量可能并不总是有利的。具体来说,理想的模拟应该准确地复制人类的知识。在这方面,LLM可能会表现出过度的权力,因为它们是在超出普通人范围的广泛网络知识库上进行训练的。LLM的巨大能力可以显著影响模拟的有效性。例如,当试图模拟各种电影的用户选择行为时,确保LLM处于对这些电影一无所知的位置是至关重要的。然而,LLM有可能已经获得了有关这些电影的信息。如果不实施适当的策略,LLM可能会根据他们广泛的知识做出决定,即使现实世界的用户事先无法访问这些电影的内容。基于以上例子,我们可以得出结论,对于构建可信代理仿真环境,一个重要的问题是如何约束LLM的用户未知知识的使用。

6.6 高效性

由于其自回归架构,LLM通常具有较慢的推理速度。然而,代理可能需要多次查询每个动作的LLM,例如从内存模块中提取信息、在采取行动之前制定计划等。因此,LLM推理的速度在很大程度上影响了代理动作的效率。使用相同的API密钥部署多个代理可能会进一步显著增加时间成本。

7 结论

在这篇综述中,我们系统地总结了基于LLM的自动代理领域的现有研究。我们从代理的构建、应用和评价三个方面介绍和综述了这些研究。对于其中的每一个方面,我们都提供了一个详细的分类法,以在现有研究之间建立联系,总结主要技术及其发展历史。除了回顾以前的工作外,我们还提出了该领域的几个挑战,这些挑战有望指导未来的潜在方向。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

A Survey on Large Language Model based Autonomous Agents 的相关文章

随机推荐

  • 【毕设教程】FCM模糊聚类算法

    文章目录 0 前言 1 如何理解模糊聚类 2 模糊C means聚类算法 3 FCM算法原理 4 Python FCM支持 4 1 安装相关库 4 2 skfuzzy cmeans函数说明 4 3 代码实现 4 4 运行结果 5 FCM算法
  • C++stringstream的简单介绍以及使用

    在C语言中 如果想要将一个整形变量的数据转化为字符串格式可以使用以下两种方式 1 itoa 函数 2sprint 函数 但是两个函数在转化时 都得需要先给出保存结果的空间 那空间要给多大呢 就不太好界定 而且转化格式不匹配时 可能还会得到错
  • matlab打开视频文件并提取颜色数据

    目标 实现加载任意视频文件 并按帧取指定图像区域的某颜色值代表该区域的颜色值 1 加载视频文件 加载视频文件使用函数VideoReader 输入为文件夹路径 返回为一个VideoReader对象 具体使用方法见创建对象以读取视频文件 MAT
  • 离散数学主析取范式及主合取范式

    今天总结了一下关于离散数学化简主析取范式以及主合取范式的一些方法 首先一般可能会用到 分配律 A B C lt gt A B A C A B C lt gt A B A C 其次若化简式里有蕴涵符号 则可以用 蕴涵等值式 A B lt gt
  • 数据清洗、数据挖掘常见十大问题

    数据清洗 数据挖掘常见十大问题 一 数据预处理 数据清洗和特征工程 二 数据预处理和特征工程阶段 最常见的10个问题 1 什么是数据 EDA 2 缺失值的处理方式有哪些 3 如何检测异常数据 如何处理 4 什么是特征工程 有什么作用 5 特
  • 【Spring】数据导出为Excel的接口报java.io.IOException: UT010029: Stream is closed错误

    数据导出为Excel的接口报java io IOException UT010029 Stream is closed错误 实习时导师让写一个平台信息导出为Excel的功能 写完之后发现文件正常导出 但控制台一直报Stream is clo
  • react中使用less和全局样式

    前言 使用create react app脚手架搭建的react项目 会自带css和sass 但是没有less 如果在项目中需要使用less 需要进行下载并进行一些配置 1 配置 1 暴露webpack配置文件 create react a
  • 解决 in ./node_modules/cesium/Source/ThirdParty/zip.js报错

    由于在 node modules cesium Source ThirdParty zip js 文件中使用了 import meta 语法 webpack 默认不支持 在进行项目构建时 会报如下错误 提示信息需要添加 loader 接下来
  • 谷歌浏览器配置微信浏览器_使用Chrome修改user agent模拟微信内置浏览器

    很多时候 我们需要模拟微信内置浏览器 今天教大家用chrome简单模拟 如图设置 F12或者右键审查元素进入开发者模式 点击Emulation 然后点击Network 把Spoof user agent改成Other 并把下面的带复制进去
  • PaddleSpeech调研、安装、使用

    PaddleSpeech概述 PaddleSpeech asr 模块目前只支持中英文的语音自动识别 建议在Linux环境下安装和使用 配置环境要求 gcc gt 4 8 5 paddlepaddle gt 2 4 1 python gt 3
  • 概率论与数理统计

    目录 一 概率论的基本概念 1 1 概率论的直观解释和数学定义 1 2 条件概率与乘法公式 1 3 全概率公式与贝叶斯公式 1 4 事件的独立性 二 随机变量与分布函数 2 1 随机变量与分布函数 2 2 离散型随机变量和常用分布 2 3
  • 定时任务——Cron表达式详解

    Cron表达式是一个字符串 字符串以5或6个空格隔开 分为6或7个域 每一个域代表一个含义 Cron有如下两种语法格式 Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Secon
  • C++ : 在一个string字符串中查找给定的字符串并提取

    C 在一个string字符串中查找给定的字符串并提取 1 string find last of 返回类型 size t 2 string find first of 返回类型 size t 3 string substr size t a
  • 力扣刷题-面试题 17.13. 恢复空格、字典树、前缀树的应用

    基本概念 Trie 树 又称单词查找树 前缀树 是一种树形结构 典型应用是用于统计 排序和保存大量的字符串 但不仅限于字符串 它的优点是 利用字符串的公共前缀来减少查询时间 最大限度地减少无谓的字符串比较 比哈希表更快 基本性质 根节点不包
  • 正负样本分配策略(OTA, SimOTA,TAS)

    文章目录 OTA SimOTA TAL ATSS OTA 论文 OTA Optimal Transport Assignment for Object Detection 代码 Megvii BaseDetection OTA 标签分配算法
  • c++静态代码扫描工具clang-tidy详细介绍

    clang tidy 文章目录 clang tidy 1 什么是clang tidy 2 clang tidy可以解决什么问题 3 工作原理 4 如何使用clang tidy 4 总结 5 举例说明 1 什么是clang tidy Clan
  • 十五年学不会英语的原因

    学习前预热 轻松学英语第一步 建立英语思维 为什么大家学英语学得这么累 最后依然对英语糊糊涂涂 原因只有一个 就是我们的学习能力太差了 我们的老师太笨了 这篇文章主要是给大家讲英语的基本结构 看了这篇文章 你们会突然就明白 英语怎么会如此简
  • 第19章:python自动化——ChromeOptions与WebUI实操

    目录 一 ChromeOptions设置项 二 WebUI实操 一 ChromeOptions设置项 浏览器在启动之初 如果需要对浏览器进行一些特定内容的定义 可以直接通过浏览器的options类来实现相对应的配置内容 不同的浏览器有不同的
  • Vue中如何配置自定义路径别名

    Vue中如何配置自定义路径别名 在我们日常开发中 常常会导入一些模块或者组件 如果采用相对路径的方式 import uEditor from components tools 会显得臃肿 多余 如果引用稍有差错就会出现 404的报错 不优雅
  • A Survey on Large Language Model based Autonomous Agents

    本文是LLM系列的文章 针对 A Survey on Large Language Model based Autonomous Agents 的翻译 基于大模型的自动agents综述 摘要 1 引言 2 基于LLM的自动代理构建 3 基于