《The Rise and Potential of Large Language Model Based Agents: A Survey》全文翻译

news2024/11/25 20:35:04

The Rise and Potential of Large Language Model Based Agents: A Surve - 基于 LLMs 的代理的兴起和潜力:一项调查

  • 论文信息
  • 摘要
  • 1. 介绍
  • 2. 背景
    • 2.1 AI 代理的起源
    • 2.2 代理研究的技术趋势
    • 2.3 为什么大语言模型适合作为代理大脑的主要组件
  • 3. 代理的诞生:基于大语言模型构建智能体
    • 3.1 大脑
      • 3.1.1 自然语言交互
      • 3.1.2 知识
      • 3.1.3 内存
      • 3.1.4 推理与规划
      • 3.1.5 可迁移性和泛化性
    • 3.2 感知
      • 3.2.1 文本输入
      • 3.2.2 视觉输入
      • 3.2.3 听觉输入
      • 3.2.4 其他输入
    • 3.3 行动
      • 3.3.1 文本输出
      • 3.3.2 工具使用
      • 3.3.3 体现行动
  • 4 代理实践:善用人工智能

论文信息

  • 题目:《The Rise and Potential of Large Language Model Based Agents: A Survey》
  • 作者:复旦 NLP 实验室、米哈游公司
  • 期刊:arXiv
  • 发表时间:14 Sep 2023
  • 内容概述:论文提出了一项针对 LLM 代理的全面、系统的调查,试图调查这一新兴领域的现有研究和前瞻性途径。

摘要

长久以来,人类一直在追求等同或超越人类的人工智能,而 AI 代理被认为是实现这一追求的有效手段。agent是能够感知环境、做出决策并采取行动的人工智能实体。自 20 世纪中期以来,人们已经为开发 AI 代理做出了许多努力。然而,这些努力主要集中在算法训练策略的进步上,以增强特定任务上的特定能力或表现。实际上,我们所缺乏的是一个充分且强大的模型,来作为开发可适应各种不同场景的 AI 代理的基础。具有多样且卓越能力的大语言模型,则被视为通向通用人工智能的必经之路,也为构建通用 AI 代理提供了希望。我们看到,许多利用大语言模型为基础来构建 AI 代理的研究,取得了显著进展。本篇论文,我们将从代理的概念开始,从其哲学起源到其在人工智能领域的发展,并解释为什么大语言模型适合作为 AI 代理的基础。在此之上,我们为基于大语言模型的 AI 代理提供了一个概念框架,包括三个部分:大脑感知行动,这个框架可以根据不同的应用进行定制。接着,我们探索了 AI 代理在三个场景的广泛应用:单一代理多个代理人机合作。之后,我们深入研究了 AI 代理社会,探索了 AI 代理的行为属性,以及它们形成社会时出现的现象。最后,我们讨论了该领域内的一系列关键主题和开放性问题。

1. 介绍

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

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

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

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

图 1:描绘了一个由智能体组成的设想社会的场景,人类也可以参与其中。上图描绘了社会中的一些具体场景。在厨房里,一个代理正在点餐,而另一个代理负责计划和解决烹饪任务。在音乐会上,三个代理正在协作表演乐队。在户外,两个代理正在讨论制作灯笼,通过选择和使用工具来计划所需的材料和财务。用户可以参与这些社交活动的任何阶段。

在本文中,我们提出了一项针对 LLM 代理的全面、系统的调查,试图调查这一新兴领域的现有研究和前瞻性途径。 为此,我们首先深入研究关键的背景信息(§ 2)。 特别是,我们首先从哲学到人工智能领域追溯人工智能主体的起源,并简要概述围绕人工智能主体存在的争论(第 2.1 节)。 接下来,我们从技术趋势的角度对 AI 代理的发展进行简明的历史回顾(第 2.2 节)。 最后,我们深入介绍了智能体的基本特征,并阐明了为什么大型语言模型非常适合作为 AI 智能体的大脑或控制器的主要组成部分(第 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 智能体的现有评估工作和一些前景(§ 6.2);(3)基于 LLM 的智能体的潜在风险,我们讨论基于 LLM 的智能体的对抗稳健性和可信度。我们还讨论了其他一些风险,例如滥用、失业和对人类福祉的威胁(第 6.3 条);(4) 扩大智能体数量,我们讨论扩大智能体数量的潜在优势和挑战,以及静态和动态扩展的方法(第 6.4 节);(5) 几个悬而未决的问题,例如关于基于 LLM 的智能体是否代表通向 AGI 的潜在路径的争论、从虚拟模拟环境到物理环境的挑战、AI 代理中的集体智能以及代理即服务(§ 6.5)。毕竟,我们希望这篇论文能为相关领域的研究人员和实践者提供启发。

2. 背景

在本节中,我们提供重要的背景信息,为后续内容奠定基础(第 2.1 节)。我们首先讨论 AI 代理的起源,从哲学到人工智能领域,并讨论有关 AI 代理存在的论述(第 2.2 节)。随后,我们从技术趋势的角度总结了 AI 代理的发展。最后,我们介绍了代理的关键特征,并论证了为什么 LLM 适合作为 AI 代理大脑的主要部分(第 2.3 节)。

2.1 AI 代理的起源

Agent是一个有着悠久历史的概念,在很多领域都得到了探索和诠释。在此,我们首先探讨其哲学渊源,讨论人工产品能否具有哲学意义上的能动性,并考察相关概念是如何被引入人工智能领域的。

哲学代理。Agent 的核心思想在哲学讨论中具有历史背景,其根源可以追溯到亚里士多德和休谟等有影响力的思想家 [5]。一般意义上,“agent” 是具有行为能力的实体,“agency” 一词表示这种能力的行使或表现 [5]。狭义上的 “agency” 通常指有意识的行为的表现;相应地,术语 “agent” 表示拥有欲望、信念、意图和行动能力的实体 [32; 33; 34; 35]。请注意,代理不仅可以涵盖个人,还可以涵盖物理和虚拟世界中的其他实体。重要的是,代理的概念涉及个体自主权,赋予他们行使意志、做出选择和采取行动的能力,而不是被动地对外部刺激做出反应。

从哲学的角度来看,人造实体是否具有代理能力?一般来说,如果我们将代理定义为具有行动能力的实体,那么人工智能系统确实表现出一种代理形式 [5]。然而,“agent” 一词更常用于指代具有意识、意向性和行动能力的实体或主体 [32; 33; 34]。在这个框架内,目前还不清楚人工系统是否可以拥有代理,因为仍然不确定它们是否拥有构成欲望、信仰和意图基础的内部状态。有些人认为,将意图等心理状态归因于人工智能是拟人化的一种形式,缺乏科学严谨性 [5; 36]。正如 Barandiaran 等人 [36] 指出,“具体到代理的要求告诉我们很多关于发展人工代理形式还需要多少努力。” 相比之下,也有研究人员认为,在某些情况下,采用意向立场(即根据意图解释代理行为)可以更好地描述、解释和抽象人工代理的行为,就像为人类所做的那样 [11; 37; 38]。

随着语言模型的进步,人工意向代理的潜在出现显得更有希望 [24; 25; 39; 40; 41]。从严格意义上来说,语言模型仅仅起到条件概率模型的作用,使用输入来预测下一个标记 [42]。与此不同的是,人类结合了社会和感知环境,并根据自己的心理状态说话 [43; 44]。因此,一些研究人员认为当前的语言建模范式与代理的有意行为不兼容 [30; 45]。然而,也有研究人员提出,狭义上的语言模型可以作为代理的模型 [46; 47]。他们认为,在基于上下文的下一个单词预测过程中,当前的语言模型有时可以推断出生成上下文的代理所持有的信念、愿望和意图的近似、部分表示。有了这些表示,语言模型就可以像人类一样生成话语。为了支持他们的观点,他们进行了实验来提供一些经验证据 [46; 48; 49]。

将代理引入人工智能。令人惊讶的是,直到 20 世纪 80 年代中后期,主流人工智能社区的研究人员对与代理相关的概念投入的注意力相对较少。尽管如此,从那时起,计算机科学和人工智能领域对这个主题的兴趣显著增加 [50; 51; 52; 53]。正如伍德里奇等人 [4] 指出,我们可以这样定义人工智能:它是计算机科学的一个子领域,旨在设计和构建基于计算机的代理,以展示智能行为的各个方面。因此我们可以将 “agent” 视为人工智能的核心概念。当 agent 的概念被引入人工智能领域时,它的含义发生了一些变化。在哲学领域,agent 可以是人、动物,甚至是具有自主性的概念或实体 [5]。然而,在人工智能领域,agent 是一个计算实体 [4; 7]。由于意识和计算实体的欲望等概念看似形而上学的本质 [11],并且考虑到我们只能观察机器的行为,包括艾伦·图灵在内,建议暂时搁置代理是否 “actually” 思考或确实拥有 “mind” 的问题 [3]。相反,研究人员采用其他属性来帮助描述代理,例如自主性、反应性、主动性和社交能力的属性 [4; 9]。也有研究人员认为,智力是 “情人眼里出西施”。它不是一种与生俱来的、孤立的属性 [15; 16; 54; 55]。从本质上讲,AI 代理并不等同于哲学代理;相反,它是人工智能背景下代理哲学概念的具体化。在本文中,我们将 AI 代理视为人工实体,能够使用传感器感知周围环境,做出决策,然后使用执行器采取响应行动 [1; 4]。

2.2 代理研究的技术趋势

AI 代理的演进经历了几个阶段,这里我们从技术趋势的角度来简单回顾一下它的发展。

Symbolic Agents。在人工智能研究的早期阶段,使用的主要方法是符号人工智能,其特点是依赖符号逻辑 [56; 57]。这种方法采用逻辑规则和符号表示来封装知识并促进推理过程。早期人工智能代理是基于这种方法构建的 [58],它们主要关注两个问题:转导问题和表示/推理问题 [59]。这些代理旨在模拟人类思维模式。它们拥有明确且可解释的推理框架,并且由于其符号性质,它们表现出高度的表达能力 [13; 14; 60]。这种方法的一个典型例子是基于知识的专家系统。然而,符号代理在处理不确定性和大规模现实问题时面临局限性 [19; 20]。此外,由于符号推理算法的复杂性,找到一种能够在有限的时间范围内产生有意义的结果的有效算法具有挑战性 [20; 61]。

Reactive agents。与符号代理不同,反应代理不使用复杂的符号推理。相反,他们主要关注代理与其环境之间的交互,强调快速和实时的响应 [15; 16; 20; 62; 63]。这些代理主要基于感知-行为循环,有效感知环境并对环境做出反应。此类代理的设计优先考虑直接输入输出映射,而不是复杂的推理和符号操作 [52]。然而,反应性代理也有局限性。它们通常需要更少的计算资源,从而能够更快地做出响应,但它们可能缺乏复杂的更高级别的决策和规划能力。

Reinforcement learning-based agents。随着计算能力和数据可用性的提高,以及对模拟智能代理与其环境之间的交互的兴趣日益浓厚,研究人员已经开始利用强化学习方法来训练代理来处理更具挑战性和复杂的任务 [17; 18; 64; 65]。该领域主要关注的是如何使代理能够通过与环境的交互来学习,使他们能够在特定任务中获得最大的累积奖励 [21]。最初,强化学习(RL)代理主要基于策略搜索和价值函数优化等基本技术,例如 Q-learning [66] 和 SARSA [67]。随着深度学习的兴起,深度神经网络和强化学习的集成,即深度强化学习(DRL)的出现 [68; 69]。这使得代理能够从高维输入中学习复杂的策略,从而取得许多重大成就,例如 AlphaGo [70] 和 DQN [71]。这种方法的优点在于它能够使代理在未知环境中自主学习,而无需明确的人工干预。这使其能够广泛应用于从游戏到机器人控制等一系列领域。尽管如此,强化学习面临着训练时间长、样本效率低和稳定性问题等挑战,特别是在复杂的现实环境中应用时 [21]。

Agents with transfer learning and meta learning。传统上,训练强化学习代理需要巨大的样本量和较长的训练时间,并且缺乏泛化能力 [72; 73; 74; 75; 76]。因此,研究人员引入了迁移学习来加速代理对新任务的学习 [77; 78; 79]。迁移学习减轻了新任务的训练负担,促进知识在不同任务之间的共享和迁移,从而提高学习效率、性能和泛化能力。此外,元学习也被引入人工智能代理中 [80; 81; 82; 83; 84]。元学习专注于学习如何学习,使代理能够从少量样本中快速推断出新任务的最佳策略 [85]。这样的代理在面临新任务时,可以利用所获得的常识和策略快速调整其学习方法,从而减少对大量样本的依赖。然而,当源任务和目标任务之间存在显着差异时,迁移学习的有效性可能达不到预期,并且可能存在负迁移 [86; 87]。此外,元学习所需的大量预训练和大样本量使得很难建立通用的学习策略 [81; 88]。

Large language model-based agents。由于大型语言模型已经表现出令人印象深刻的涌现能力并获得了巨大的欢迎 [24; 25; 26; 41],研究人员已经开始利用这些模型来构建 AI 代理 [22; 27; 28; 89 ]。具体来说,他们采用 LLMs 作为这些代理的大脑或控制器的主要组成部分,并通过多模态感知和工具利用等策略扩展其感知和行动空间 [90; 91; 92; 93; 94]。这些基于 LLM 的代理可以通过思想链 (CoT) 和问题分解等技术展现出与符号代理相当的推理和规划能力 [95; 96; 97; 98; 99; 100; 101]。他们还可以通过从反馈中学习并执行新动作来获得与环境的交互能力,类似于反应代理 [102; 103; 104]。类似地,大型语言模型在大规模语料库上进行预训练,并展示了少样本和零样本泛化的能力,允许任务之间无缝传输,无需更新参数 [41; 105; 106; 107]。基于LLM 的代理已应用于各种现实场景,例如软件开发 [108; 109] 和科学研究 [110] 。由于它们的自然语言理解和生成能力,它们可以无缝地相互交互,从而引起多个代理之间的协作和竞争 [108; 109; 111; 112]。此外,研究表明,允许多个代理共存可以导致社会现象的出现 [22]。

2.3 为什么大语言模型适合作为代理大脑的主要组件

如前所述,研究人员引入了一些属性来帮助描述和定义人工智能领域的代理。在这里,我们将深入研究一些关键属性,阐明它们与 LLM 的相关性,从而阐述为什么 LLM 非常适合作为 AI 代理大脑的主要部分。

Autonomy。自主性意味着代理的运行无需人类或其他人的直接干预,并且对其行为和内部状态拥有一定程度的控制 [4; 113]。这意味着代理不仅应该具备遵循明确的人类指令来完成任务的能力,而且还应该具有独立启动和执行操作的能力。LLMs 可以通过生成类人文本、参与对话以及执行各种任务的能力来展示某种形式的自主性,而无需详细的分步说明 [114; 115]。此外,它们可以根据环境输入动态调整其输出,反映了一定程度的自适应自主性 [23; 27; 104]。此外,他们可以通过展示创造力来展示自主性,例如提出尚未明确编程的新颖想法、故事或解决方案 [116; 117]。这意味着一定程度的自我探索和决策。像 Auto-GPT [114] 这样的应用程序例证了 LLMs 在构建自主代理方面的巨大潜力。只需为他们提供一项任务和一组可用工具,他们就可以自主制定计划并执行以实现最终目标。

Reactivity。主动性意味着代理不仅仅对他们的环境做出反应;他们有能力通过主动采取主动来展示以目标为导向的行动 [9]。这意味着代理可以感知周围环境的变化并立即采取适当的行动。传统上,语言模型的感知空间仅限于文本输入,而动作空间仅限于文本输出。然而,研究人员已经证明了使用多模态融合技术扩展 LLMs 感知空间的潜力,使他们能够快速处理来自环境的视觉和听觉信息 [25; 118; 119]。同样,通过实施技术扩展 LLMs 的行动空间 [120; 121] 和工具使用 [92; 94] 也是可行的。这些进步使 LLMs 能够有效地与现实世界的物理环境交互并在其中执行任务。一个主要的挑战是,基于 LLM 的代理在执行非文本操作时,需要一个中间步骤,即以文本形式生成想法或制定工具使用方法,然后才能最终将其转化为具体操作。这个中间过程会消耗时间并降低响应速度。然而,这与人类行为模式密切相关,遵循 “先思考后行动” 的原则 [122; 123]。

Pro-activeness。主动性意味着代理不仅对环境做出反应;他们有能力通过主动采取行动来表现出以目标为导向的行动 [9]。该属性强调代理在行动中能够推理、制定计划并采取主动措施,以实现特定目标或适应环境变化。尽管直观上 LLMs 中下一个令牌预测的范式可能没有意图或愿望,但研究表明它们可以隐式生成这些状态的表示并指导模型的推理过程 [46; 48; 49]。LLMs 已表现出强大的广义推理和规划能力。通过用 “让我们一步一步思考” 这样的指令来提示大型语言模型,我们可以引出它们的推理能力,例如逻辑和数学推理 [95; 96; 97]。同样,大型语言模型也显示出以目标重新制定 [99; 124]、任务分解 [98; 125] 和根据环境变化调整计划的形式进行规划的涌现能力。

Social ability。社交能力是指代理通过某种代理交流语言与包括人类在内的其他代理进行交互的能力 [8]。大型语言模型表现出强大的自然语言交互能力,例如理解和生成 [23; 127; 128 ]。与结构化语言或其他通信协议相比,这种能力使它们能够以可解释的方式与其他模型或人类进行交互。这构成了基于 LLM 的代理的社交能力的基石 [22; 108]。许多研究人员已经证明基于 LLM 的代理可以通过协作和竞争等社会行为来增强任务绩效[108; 111; 129; 130]。通过输入特定的提示,LLM 也可以扮演不同的角色,从而模拟现实中的社会分工世界[109]。此外,当我们将多个具有不同身份的代理放入一个社会时,可以观察到新兴的社会现象 [22]。

3. 代理的诞生:基于大语言模型构建智能体

在这里插入图片描述

图 2:基于 LLM 的智能体的概念框架,包含三个组成部分:大脑、感知和行动。大脑模块作为控制器,承担记忆、思考、决策等基本任务。感知模块感知并处理来自外部环境的多模态信息,动作模块利用工具进行执行并影响周围环境。这里我们举一个例子来说明工作流程:当人类询问是否会下雨时,感知模块会将指令转换为 LLMs 可以理解的表示形式。然后大脑模块开始根据当前天气和互联网上的天气报告进行推理。最后,动作模块做出响应并将雨伞递给人类。通过重复上述过程,智能体可以不断获得反馈并与环境交互。

“适者生存” [131] 表明,个体要想在外部环境中生存,就必须有效地适应环境。这就要求他具有认知能力,能够感知并响应外界的变化,这与 §2.1 中提到的 “主体” 的定义是一致的。受此启发,我们提出了基于 LLM 的智能体的一般概念框架,该框架由三个关键部分组成:大脑、感知和行动(见图 2)。我们首先描述大脑的结构和工作机制,大脑主要由一个大的语言模型组成(第 3.1 节)。大脑是人工智能体的核心,它不仅存储知识和记忆,还承担着信息处理、决策等不可或缺的功能。它可以呈现推理和规划的过程,并很好地应对看不见的任务,展现智能体的智能。接下来,我们介绍感知模块(第 3.2 节)。其核心目的是将智能体的感知空间从纯文本领域扩大到包括文本、听觉和视觉模态的多模态领域。此扩展使代理能够更有效地掌握和利用周围环境的信息。最后,我们提出了旨在扩展代理动作空间的动作模块(第 3.3 节)。具体来说,我们赋予智能体具体的行动能力和工具处理技能,使其能够熟练地适应环境变化,提供反馈,甚至影响和塑造环境。

该框架可以针对不同的应用场景进行定制,即并非所有特定组件都会在所有研究中使用。一般来说,智能体按照以下工作流程进行操作:首先是感知模块,对应于人类的眼睛和耳朵等感觉系统,感知外部环境的变化,然后将多模态信息转化为智能体可理解的表示。随后,大脑模块作为控制中心,通过包括记忆在内的存储,进行思维、决策、运算等信息处理活动最后,动作模块对应人体四肢,借助工具进行执行并对周围环境产生影响。通过重复上述过程,智能体可以不断获得反馈并与环境进行交互。

3.1 大脑

在这里插入图片描述

图 3:大脑模块的类型。

人脑是一个由大量相互连接的神经元组成的复杂结构,能够处理各种信息,产生不同的思想,控制不同的行为,甚至创造艺术和文化 [199]。就像人类一样,大脑是人工智能体的核心,主要由大型语言模型组成。

运行机制 为了确保有效的沟通,进行自然语言交互的能力(§3.1.1)至关重要。大脑模块接收到感知模块处理后的信息后,首先转向存储、检索知识(§3.1.2)和从记忆中回忆(§3.1.3)。这些结果有助于智能体制定计划、推理和做出明智的决策(第 3.1.4 节)。此外,大脑模块可以以摘要、向量或其他数据结构的形式记住代理过去的观察、想法和行动。同时,还可以更新常识、领域知识等知识,以供将来使用。基于 LLM 的代理还可以利用其固有的泛化和迁移能力来适应不熟悉的场景(第 3.1.5 节)。在接下来的部分中,我们将深入详细探索大脑模块的这些非凡方面,如图 3 所示。

3.1.1 自然语言交互

语言作为交流的媒介,蕴含着丰富的信息。除了直观表达的内容之外,背后还可能隐藏着说话者的信念、欲望和意图 [200]。得益于 LLMs 固有的强大的自然语言理解和生成能力 [25; 201; 202; 203],智能体不仅可以熟练地参与基本的交互式对话 [204; 205; 206] 多种语言 [132; 202] 但也表现出深入的理解能力,这使人类能够轻松理解智能体并与智能体交互 [207; 208]。此外,以自然语言进行交流的基于 LLM 的代理可以赢得更多信任并与人类更有效地合作 [130]。

多轮互动对话。多轮对话能力是有效、一致沟通的基础。作为大脑模块的核心,LLMs,如 GPT 系列 [40; 41; 201],LLaMA系列 [201; 209] 和 T5 系列 [107; 210],可以理解自然语言并生成连贯且上下文相关的响应,这有助于代理更好地理解和处理各种问题 [211]。然而,即使是人类也很难一次不混乱地进行交流,因此需要进行多轮对话。与 SQuAD [212] 等传统的纯文本阅读理解任务相比,多轮对话(1)是交互式的,涉及多个说话者,缺乏连续性; (2)可能涉及多个主题,对话的信息也可能是冗余的,使得文本结构更加复杂 [147]。一般来说,多轮对话主要分为三个步骤:(1)了解自然语言对话的历史; (2) 决定采取什么行动; (3) 生成自然语言响应。基于LLM 的代理能够利用现有信息不断细化输出以进行多轮对话并有效实现最终目标 [132; 147]。

高质量的自然语言生成。最近的 LLMs 表现出卓越的自然语言生成能力,能够持续生成多种语言的高质量文本 [132; 213]。 LLMs 生成内容的连贯性 [214] 和语法准确性 [133] 已显示出稳步增强,从 GPT-3 [41] 逐步发展到 InstructGPT [24],并最终达到 GPT-4 [25]。参见 [214],凭经验证实这些语言模型可以 “适应条件文本的风格和内容” [215]。 Fang 等人的结果 [133] 表明 ChatGPT 在语法错误检测方面表现出色,强调了其强大的语言能力。在对话环境中,LLMs 在对话质量的关键指标上也表现良好,包括内容、相关性和适当性 [127]。重要的是,它们不仅复制训练数据,而且表现出一定程度的创造力,生成与人类制定的基准同样新颖甚至更加新颖的不同文本 [216]。同时,通过使用可控提示,人类监督仍然有效,确保对这些语言模型生成的内容进行精确控制 [134]。

意图和含义理解。尽管在大规模语料库上训练的模型已经足够智能,可以理解指令,但大多数模型仍然无法模拟人类对话或充分利用语言传达的信息 [217]。理解隐含含义是对于与其他智能体的有效沟通和合作至关重要 [135],并使人们能够解释他人的反馈。LLMs 的出现凸显了基础模型理解人类意图的潜力,但当涉及到模糊的指令或其他含义时,它对智能体提出了重大挑战 [94; 136]。对于人类来说,从对话中掌握隐含含义是很自然的,而对于智能体来说,他们应该将隐含含义形式化为奖励函数,使他们能够根据说话者的选择来选择选项看不见的环境中的偏好 [128]。奖励建模的主要方法之一是根据反馈推断奖励,反馈主要以比较的形式呈现 [218](可能补充原因 [219])和不受约束的自然语言 [220]。另一种方法涉及从描述中恢复奖励,使用动作空间作为桥梁 [128]。Jeon 等人 [221] 建议人类行为可以映射到一组隐式选项中的选择,这有助于解释所有通过利用对上下文的理解,代理可以根据特定要求采取高度个性化和准确的行动。

3.1.2 知识

由于现实世界的多样性,许多 NLP 研究人员尝试利用更大规模的数据。这些数据通常是非结构化且未标记的 [137; 138],但它包含可以通过语言模型学习的大量知识。理论上,语言模型可以学习更多的知识,因为它们有更多的参数 [139],语言模型有可能学习和理解自然语言中的一切。研究 [140] 表明,在大规模数据集上训练的语言模型可以将广泛的知识编码到其参数中,并正确响应各种类型的查询。此外,这些知识可以帮助基于 LLM 的代理人做出明智的决策 [222]。所有这些知识可以大致分为以下类型:

  • 语言知识。语言知识 [142; 143; 144] 被表示为一个约束系统,一个语法,它定义了该语言的所有且仅可能的句子。它包括词法、句法、语义 [145; 146] 和语用学。只有获得语言知识的智能体才能理解句子并进行多轮对话 [147]。此外,这些代理可以通过对包含多种语言的数据集进行训练来获取多语言知识 [132],从而无需额外的翻译模型。
  • 常识性知识。常识性知识 [148; 149; 150] 指的是通常在很小的时候就向大多数人教授的一般世界事实。例如,人们普遍知道药物是用来治病的,雨伞是用来防雨的。此类信息通常不会在上下文中明确提及。因此,缺乏相应常识性知识的模型可能无法理解或误解预期含义 [141]。同样,没有常识知识的智能体可能会做出错误的决定,例如在下大雨时不带雨伞。
  • 专业领域知识。专业领域知识是指与特定领域相关的知识,例如编程 [151; 154; 150]、数学 [152]、医学 [153] 等。模型有效解决特定领域内的问题至关重要 [223]。例如,设计用于执行编程任务的模型需要具备编程知识,例如代码格式。同样,用于诊断目的的模型应该具备医学知识,例如特定疾病的名称和处方药的名称。

尽管 LLMs 在获取、存储和利用知识方面表现出了出色的性能 [155],但仍然存在潜在的问题和未解决的问题。例如,模型在训练过程中获取的知识可能会过时,甚至从一开始就是不正确的。解决这个问题就是再训练。然而,它需要先进的数据、大量的时间和计算资源。更糟糕的是,它可能导致灾难性的遗忘 [156]。因此,一些研究人员 [157; 158; 159] 尝试编辑 LLM 来定位和修改他们的实验表明,这种方法可以部分编辑事实知识,但其底层机制仍需要进一步研究。此外,LLMs 可能会生成与来源冲突的内容或事实信息 [224],这种现象通常被称为幻觉 [225]。这是 LLM 不能广泛应用于事实上严格的任务的关键原因之一。为了解决这个问题,一些研究人员 [160] 提出了一个度量标准来衡量幻觉的程度,为开发者评估 LLM 输出的可信度提供有效的参考。此外,一些研究人员 [161; 162] 使LLM能够利用外部工具 [94; 226; 227] 来避免不正确的知识。这些方法可以减轻幻觉的影响,但仍需要进一步探索更有效的方法。

3.1.3 内存

在我们的框架中,“记忆” 存储智能体过去的观察、想法和行动的序列,这类似于 Nuxoll 等人提出的定义 [228]。正如人脑依靠记忆系统回顾性地利用先前的经验来制定策略和决策一样,智能体也需要特定的记忆机制来确保他们能够熟练地处理一系列连续的任务 [229; 230; 231]。当面对复杂的问题时,记忆机制可以帮助智能体有效地回顾和应用先前的策略。此外,这些记忆机制使个体能够通过借鉴过去的经验来适应陌生的环境。

随着基于 LLM 的代理交互周期的扩展,出现了两个主要挑战。第一个与历史记录的长度有关。基于 LLM 的代理以自然语言格式处理先前的交互,将历史记录附加到每个后续输入。随着这些记录的扩展,它们可能会超越大多数基于 LLM 的代理所依赖的 Transformer 架构的限制。发生这种情况时,系统可能会截断某些内容。第二个挑战是提取相关记忆的困难。当智能体们积累大量的历史观察和行动序列时,他们要努力应对不断增加的记忆负担。这使得在相关主题之间建立联系变得越来越困难,可能导致代理的响应与当前上下文不一致。

提高记忆能力的方法。这里我们介绍几种增强基于 LLM 的智能体记忆的方法。

  • 提高 transformers 的长度限制。第一种方法试图解决或减轻固有的序列长度限制。由于这些内在的限制,Transformer 架构很难处理长序列。随着序列长度的扩展,由于自注意力机制中的成对令牌计算,计算需求呈指数级增长。减轻这些长度限制的策略包括文本截断 [163; 164; 232],分段输入 [233; 234],并强调文本的关键部分 [235; 236; 237]。其他一些作品修改了注意力机制以降低复杂性,从而适应更长的序列 [238; 165; 166; 167]。
  • 总结记忆。提高记忆效率的第二种策略取决于记忆总结的概念。这确保代理毫不费力地从历史交互中提取关键细节。已经提出了各种用于总结记忆的技术。使用提示,一些方法简洁地整合记忆 [168],而另一些方法则强调反思过程以创建浓缩的记忆表征 [22]。分层方法将对话简化为每日快照和总体摘要 [170]。值得注意的是,具体策略将环境反馈转化为文本封装,增强代理对未来参与的上下文把握 [169]。此外,在多代理环境中,代理通信的重要元素被捕获并保留 [171]。
  • 用向量或数据结构压缩内存。通过采用合适的数据结构,智能代理可以提高记忆检索效率,促进对交互的及时响应。值得注意的是,几种方法依赖于记忆部分、计划或对话历史的嵌入向量 [109; 170; 172; 174]。另一种方法将句子翻译成三元组配置 [173],而有些方法将记忆视为独特的数据对象,从而促进不同的交互 [176]。此外,ChatDB [175] 和 DB-GPT [239] 将 LLMrollers 与 SQL 数据库集成,从而可以通过 SQL 命令进行数据操作。

记忆检索方法。当智能体与其环境或用户交互时,必须从其记忆中检索最合适的内容。这确保智能体访问相关且准确的信息来执行特定操作。一个重要的问题出现了:如何才能智能体选择最合适的记忆?通常,智能体以自动方式检索记忆 [170; 174]。自动检索的一个重要方法考虑三个指标:新近度相关性重要性。记忆分数由以下因素的加权组合确定:这些指标,具有最高分数的记忆在模型的上下文中被优先考虑 [22]。一些研究引入了交互式记忆对象的概念,它们是对话历史的表示,可以通过摘要移动、编辑、删除或组合。用户可以查看和操作这些对象,影响代理如何感知对话 [176]。 ,其他研究允许基于用户提供的特定命令进行删除等内存操作 [175]。此类方法确保内存内容与用户期望紧密一致。

3.1.4 推理与规划

推理。以证据和逻辑为基础的推理是人类智力活动的基础,是解决问题、决策和批判性分析的基石 [240; 241; 242]。演绎、归纳和溯因是智力活动中普遍认可的主要推理形式 [243]。对于像人类一样基于 LLM 的智能体,推理能力对于解决复杂任务至关重要 [25]。

对于大型语言模型的推理能力,学术界存在不同的看法。一些人认为语言模型在预训练或微调期间具有推理能力 [243],而另一些人则认为它是在达到一定规模后出现的 [26; 244]。具体来说,代表性的思想链(CoT)方法 [95; 96] 已被证明可以通过指导法学硕士在输出答案之前生成基本原理来激发大型语言模型的推理能力。还提出了一些其他策略来提高 LLM 的表现,例如自我一致性 [97]、自我完善 [99]、自我精炼 [178] 和选择推理 [177] 等。一些研究表明,逐步推理的有效性可以归因于训练数据的局部统计结构,变量之间的局部结构化依赖关系比对所有变量进行训练产生更高的数据效率 [245]。

规划。规划是人类面临复杂挑战时采用的关键策略。对于人类来说,规划有助于组织思想、设定目标并确定实现这些目标的步骤 [246; 247; 248]。就像人类一样,计划能力对于代理来说至关重要,而这个计划模块的核心是推理能力 [249; 250; 251]。这为基于 LLM 的代理人提供了结构化的思维过程。通过推理,智能体将复杂的任务解构为更易于管理的子任务,为每个子任务制定适当的计划 [252; 253]。此外,随着任务的进展,代理可以通过内省来修改他们的计划,确保它们更好地适应现实世界的情况,从而实现适应性和成功的任务执行。

通常,规划包括两个阶段:计划制定和计划反思。

  • 计划制定。在制定计划的过程中,智能体通常将总体任务分解为众多子任务,并且在此阶段提出了各种方法。值得注意的是,一些著作提倡基于 LLM 的代理一次性全面分解问题,立即制定完整的计划,然后顺序执行 [98; 179; 254; 255]。相比之下,CoT 系列等其他研究采用了一种自适应策略,一次规划和解决一个子任务,从而在整体处理复杂任务时更加流畅 [95; 96; 256]。此外,一些方法强调分层规划 [182; 185],而其他人则强调最终计划是从以树状格式构建的推理步骤得出的策略。后一种方法认为,代理人应该在最终确定计划之前评估所有可能的路径 [97; 181; 184; 257; 184]。虽然基于 LLM 的代理人表现出广泛的常识,但在处理需要专业知识的情况时,他们偶尔会面临挑战。通过将这些智能体与特定领域的规划器集成来增强它们已被证明可以产生更好的性能 [125; 130; 186; 258]。
  • 计划反思。制定计划后,必须反思和评估其优点。基于 LLM 的代理人利用内部反馈机制,通常从预先存在的模型中汲取见解,以磨练和增强他们的策略和规划方法 [169; 178; 188; 192]。为了更好地符合人类的价值观和偏好,智能体积极与人类互动,使他们能够纠正一些误解,并将这种量身定制的反馈吸收到他们的规划方法中 [108; 189; 190]。此外,他们可以从有形或虚拟的环境中获取反馈,例如任务完成情况或行动后观察的线索,帮助他们修改和完善计划 [91; 101; 187; 191; 259]。

3.1.5 可迁移性和泛化性

智力不应局限于特定领域或任务,而应涵盖广泛的认知技能和能力 [31]。人脑的非凡本质很大程度上归功于其高度的可塑性和适应性。它可以根据外部刺激和内部需求不断调整其结构和功能,从而适应不同的环境和任务。近年来,大量研究表明,大规模语料库上的预训练模型可以学习通用语言表示 [36; 260; 261]。利用预训练模型的力量,只需少量数据进行微调,LLMs 就可以在下游任务中展现出优异的性能 [262]。无需从头开始训练新模型,从而节省大量计算资源。然而,通过这种针对特定任务的微调,模型缺乏通用性,并且难以推广到其他任务。基于 LLM 的智能体不仅仅充当静态知识库,而是表现出动态学习能力,使它们能够快速而稳健地适应新任务 [24; 105; 106]。

看不见的任务泛化。研究表明,指令调整的 LLMs 表现出零样本泛化,无需针对特定任务进行微调 [24; 25; 105; 106; 107]。随着模型规模和语料库规模的扩大,LLMs 在不熟悉的任务中逐渐表现出卓越的突现能力 [132]。具体来说,LLMs 可以根据自己的理解,按照指示完成在培训阶段没有遇到的新任务。其中一种实现是多任务学习,例如,FLAN [105] 在通过指令描述的任务集合上微调语言模型,T0 [106] 引入了一个统一的框架,将每个语言问题转换为文本到文本的问题格式。尽管纯粹是一种语言模型,GPT-4 [25] 在各种领域和任务中都表现出了卓越的能力,包括抽象、理解、视觉、编码、数学、医学、法律、对人类动机和情感的理解等 [31 ]。值得注意的是,提示中的选择对于适当的预测至关重要,直接根据提示进行训练可以提高模型泛化到未见过的任务的鲁棒性 [263]。有希望的是,通过扩大模型大小和训练指令的数量或多样性,可以进一步增强这种泛化能力 [94; 264]。

情境学习。大量研究表明,LLMs 可以通过上下文学习(ICL)来执行各种复杂的任务,这是指模型从上下文中的几个例子中学习的能力 [195]。少镜头上下文学习通过将原始输入与几个完整的示例连接起来作为丰富上下文的提示,增强了语言模型的预测性能 [41]。 ICL 的关键思想是类比学习,类似于人类的学习过程 [265]。此外,由于提示是用自然语言编写的,因此交互是可解释和可变的,使得更容易将人类知识融入到 LLMs 中 [95; 266]。与监督学习过程不同,ICL 不涉及微调或参数更新,这可以大大降低模型适应新任务的计算成本。除了文本之外,研究人员还探索了 ICL 在不同多模式任务中的潜在功能 [193; 194; 267; 268; 269; 270],使代理能够应用于大规模的现实世界任务。

持续学习。最近的研究 [190; 271] 强调了 LLMs 规划能力在促进持续学习方面的潜力 [196; 197]。对于代理来说,这涉及到技能的不断获取和更新。持续学习的一个核心挑战是灾难性遗忘 [272]:当模型学习新任务时,它往往会丢失以前任务中的知识。为了解决上述挑战,人们付出了许多努力,这些挑战可以大致分为三组,引入参考先前模型的常用术语 [273; 274; 275; 276],近似先验数据分布 [277; 278; 279],并设计具有任务自适应参数的架构 [280; 198]。基于 LLMs 的代理人已经成为一种新颖的范式,利用 LLMs 的规划能力来结合现有技能并解决更复杂的挑战。 Voyager [190] 试图解决 GPT-4 [25] 设计的自动课程提出的逐渐困难的任务。通过从更简单的程序中合成复杂的技能,智能体不仅可以快速增强其能力,还可以有效地应对灾难性遗忘。

3.2 感知

人类和动物都依靠眼睛和耳朵等感觉器官从周围环境中收集信息。这些感知输入被转换成神经信号并发送到大脑进行处理 [298; 299],让我们能够感知世界并与世界互动。同样,对于 LLMs 代理人来说,从各种来源和方式接收信息至关重要。这种扩大的感知空间可以帮助智能体更好地了解他们的环境,做出明智的决策,并在更广泛的任务中表现出色,使其成为一个重要的发展方向。 Agent 将这些信息传递给 Brain 模块,通过感知模块进行处理。

在本节中,我们介绍如何使基于 LLM 的代理获得多模态感知能力,包括文本(第 3.2.1 节)、视觉(第 3.2.2 节)和听觉输入(第 3.2.3 节)。我们还考虑其他潜在的输入形式(第 3.2.4 节),例如触觉反馈、手势和 3D 地图,以丰富代理的感知领域并增强其多功能性。3)。基于 LLM 的代理感知的类型图如图 4 所示。
在这里插入图片描述

图 4:感知模块的类型。

3.2.1 文本输入

文本是一种承载数据、信息和知识的方式,使得文本交流成为人类与世界互动的最重要方式之一。基于 LLM 的代理已经具备通过文本输入和输出与人类通信的基本能力 [114]。在用户的文本输入中,除了明确的内容之外,还隐藏着信念、欲望和意图。理解隐含意义对于智能体掌握人类用户的潜在意图和潜在意图至关重要,从而提高与用户的沟通效率和质量。然而,正如第 3.1.1 节中所讨论的,理解文本输入中的隐含含义对于当前基于 LLM 的代理来说仍然是一个挑战。例如,一些作品 [128; 218; 219; 220] 利用强化学习来感知隐含意义并模拟反馈以获得奖励。这有助于推断说话者的偏好,从而使智能体做出更加个性化和准确的响应。此外,由于代理被设计用于复杂的现实情况,它不可避免地会遇到许多全新的任务。理解未知任务的文本指令对智能体的文本感知能力提出了更高的要求。如第 3.1.5 节中所述,经过指令调优 [105] 的 LLM 可以表现出卓越的零样本指令理解和泛化能力,从而无需针对特定任务进行微调。

3.2.2 视觉输入

尽管 LLM 在语言理解 [25; 300] 和多轮对话 [301] 方面表现出出色的表现,但他们本质上缺乏视觉感知,只能理解离散的文本内容。视觉输入通常包含关于世界的丰富信息,包括智能体周围的物体、空间关系、场景布局等。因此,将视觉信息与其他模态的数据集成可以为智能体提供更广泛的背景和更精确的理解 [120],加深智能体对环境的感知。

为了帮助智能体理解图像中包含的信息,一种简单的方法是为图像输入生成相应的文本描述,称为图像字幕 [302; 303; 304; 305; 306]。字幕可以直接与标准文本指令链接并馈送这种方法具有高度可解释性,并且不需要额外的字幕生成训练,可以节省大量的计算资源。但是,字幕生成是一种低带宽方法 [120; 307],并且可能会丢失在转换过程中会产生大量潜在信息。此外,智能体对图像的关注可能会引入偏差。

受到 Transformer [308] 在自然语言处理中出色性能的启发,研究人员将其应用扩展到计算机视觉领域。代表作品如 ViT/VQVAE [ 281; 282; 283; 284; 309] 已经成功地使用变压器编码视觉信息。研究人员首先将图像划分为固定大小的块,然后在线性投影后将这些块视为 Transformers [291] 的输入标记。最后,通过计算标记之间的自注意力,他们能够整合整个图像的信息,从而形成一种感知视觉内容的高效方式。因此,一些工作 [310] 尝试直接将图像编码器和 LLM 结合起来以端到端的方式训练整个模型。虽然智能体可以实现卓越的视觉感知能力,但它是以大量计算资源为代价的。

广泛预训练的视觉编码器和 LLM 可以极大地增强智能体的视觉感知和语言表达能力 [285; 311]。在训练期间冻结其中一个或两个是一种广泛采用的范例,可以实现训练资源和模型性能之间的平衡 [286]。然而,LLM 无法直接理解视觉编码器的输出,因此有必要将图像编码转换为 LLM 可以理解的嵌入。换句话说,它涉及将视觉编码器与 LLM 对齐。这通常需要在它们之间添加额外的可学习接口层。例如,BLIP-2 [286] 和 InstructBLIP [287] 使用查询转换器(Q-Former)模块作为视觉编码器和 LLM [287] 之间的中间层。 Q-Former 是一个使用可学习查询向量 [288] 的转换器,使其能够提取包含语言信息的视觉表示。它可以为 LLM 提供最有价值的信息,减轻智能体学习视觉语言对齐的负担,从而减轻灾难性遗忘的问题。与此同时,一些研究人员采用计算高效的方法,通过使用单个投影层来实现视觉文本对齐,减少训练额外参数的需要 [118; 290; 311]。此外,投影层可以有效地与可学习接口集成,以适应其输出的维度,使它们与 LLM 兼容 [295; 296; 312; 313]。

视频输入由一系列连续的图像帧组成。因此,智能体用来感知图像的方法 [286] 可能适用于视频领域,使智能体也能够对视频输入有良好的感知。与图像信息相比,视频信息增加了时间维度。因此,智能体对不同时间帧之间关系的理解对于感知视频信息至关重要。有些作品如 Flamingo [289; 314] 通过使用掩码机制来确保理解视频时的时间顺序。掩码机制限制代理的视图只能访问当它感知视频中的特定帧时较早发生的帧中的视觉信息。

3.2.3 听觉输入

毫无疑问,听觉信息是世界信息的重要组成部分。当智能体拥有听觉能力时,它可以提高对交互内容、周围环境甚至潜在危险的感知。确实,有许多成熟的模型和方法[292; 315 ;316]用于将音频作为独立模态进行处理。然而,这些模型通常在特定任务上表现出色。鉴于法学硕士出色的工具使用能力(将在§3.3中详细讨论),一个非常直观的想法是Agent可以使用LLM作为控制中心,以级联的方式调用现有的工具集或模型存储库来感知音频信息。例如,AudioGPT[292],充分利用了FastSpeech[316]、GenerSpeech[315]等模型的功能、Whisper [315] 和其他 [317; 318; 319; 320; 321 ] 在文本到语音、风格迁移和语音识别等任务中取得了优异的结果。

音频频谱图提供了音频频谱的直观表示 [322]。对于一段时间内的一段音频数据,可以将其抽象为有限长度的音频频谱图。音频频谱图具有2D表示,可以表示为因此,一些研究[293; 294]致力于将感知方法从视觉领域迁移到音频。AST(音频频谱图变换器)[293]采用类似于ViT的Transformer架构来处理音频频谱图图像。通过将音频频谱图分割成补丁,它实现了音频信息的有效编码。此外,一些研究人员[295; 296]从冻结编码器的想法中汲取了灵感,以减少训练时间和计算成本。他们将音频编码与数据编码结合起来通过添加相同的可学习接口层来实现其他模式。

3.2.4 其他输入

如前所述,许多研究都研究了文本、视觉和音频的感知单位。然而,基于 LLM 的代理可能配备更丰富的感知模块。未来,他们可以像人类一样感知和理解现实世界中的多种模式。例如,智能体可以拥有独特的触觉和嗅觉器官,使它们能够在与物体交互时收集更详细的信息。同时,智能体还可以清晰感知周围环境的温度、湿度和亮度,从而采取环境感知行动。此外,通过有效集成视觉、文本和光敏度等基本感知能力,智能体可以为人类开发各种用户友好的感知模块。 InternGPT [297] 引入了指向指令。用户可以通过使用手势或移动光标进行选择、拖动或绘制来与图像中特定的、难以描述的部分进行交互。添加指向指令有助于为各个文本指令提供更精确的规范。在此基础上,代理有可能感知更复杂的用户输入。例如 AR/VR 设备中的眼动追踪、身体动作捕捉,甚至脑机交互中的脑电波信号等技术。

最后,一个基于 LLM 的类人代理应该具备更广泛的整体环境的意识。目前已有大量成熟且广泛采用的硬件设备可以辅助代理完成这一任务。激光雷达 [323] 可以创建3D点云地图来帮助代理检测和识别周围的物体。 GPS [324] 可以提供准确的位置坐标并且可以与地图数据集成。惯性测量单元 (IMU) 可以测量和记录物体的三维运动,提供有关物体速度和方向的详细信息。然而,这些感官数据非常复杂,无法被基于 LLM 的代理直接理解。探索智能体如何感知更全面的输入是未来一个有希望的方向。

3.3 行动

在这里插入图片描述

  • 图 5:操作模块的类型。

人类感知环境后,大脑会对感知到的信息进行整合、分析、推理,做出决策。随后,他们利用神经系统来控制自己的身体,从而能够根据环境做出适应性或创造性的行动,例如进行对话、躲避障碍或生火。当智能体拥有类似大脑的结构,具有知识、记忆、推理、计划和泛化能力以及多模态感知能力时,它也有望拥有类似于人类的多种行动来响应周围环境。在智能体的构建中,动作模块接收大脑模块发送的动作序列并执行与环境交互的动作。如图 5 所示,本节从文本输出(第 3.3.1 节)开始,这是基于 LLM 的代理的固有功能。接下来我们讨论基于 LLM 的代理的工具使用能力(第 3.3.2 节),这已被证明可以有效增强他们的多功能性和专业知识。最后,我们讨论为基于 LLM 的代理配备具体行动,以促进其扎根于物理世界(第 3.3.3 节)。

3.3.1 文本输出

正如第 3.1.1 节中所讨论的,基于 Transformer 的生成大语言模型的兴起和发展赋予了基于 LLM 的代理固有的语言生成能力 [132; 213]。他们生成的文本质量在流畅性、相关性、多样性、可控性等各个方面都表现出色 [127; 214; 134; 216]。因此,基于 LLM 的代理可以成为异常强大的语言生成器。

3.3.2 工具使用

工具是工具使用者能力的延伸。当面对复杂的任务时,人类利用工具来简化任务解决并提高效率,从而释放时间和资源。同样,如果代理也学会使用和利用工具,他们就有可能更有效、更高质量地完成复杂的任务 [94]。

基于 LLM 的代理人在某些方面存在局限性,使用工具可以增强代理人的能力。首先,虽然 LLM 的代理人拥有强大的知识基础和专业知识 [340; 341],他们没有能力记住每一条训练数据。他们也可能因情境提示的影响而无法引导正确的知识 [226],甚至产生幻觉知识 [208]。再加上缺乏语料库、训练数据以及针对特定领域和场景的调优,代理在专注于特定领域时的专业知识也受到限制 [342]。专业工具使 LLM 能够增强他们的专业知识,调整领域知识,并以可插拔的形式更适合特定领域的需求。此外,基于 LLM 的代理人的决策过程缺乏透明度,使得他们在医疗保健和金融等高风险领域不太值得信任 [343]。此外,LLM 很容易受到对抗性攻击 [344],并且它们对轻微输入修改的鲁棒性不足。相比之下,借助工具完成任务的智能体表现出更强的可解释性和鲁棒性。工具的执行过程可以反映代理解决复杂需求的方法并提高其决策的可信度。此外,由于工具是专门针对各自的使用场景而设计的,使用此类工具的代理能够更好地处理轻微的输入修改,并且更能抵御对抗性攻击 [94]。

基于 LLM 的代理不仅需要使用工具,而且非常适合工具集成。利用通过预训练过程和 CoT 提示积累的丰富的世界知识,LLM 在复杂的交互环境中表现出了卓越的推理和决策能力 [97],这有助于智能体以适当的方式分解并解决用户指定的任务。更重要的是,LLM 在意图理解和其他方面显示出巨大的潜力 [25; 201; 202; 203]。当智能体与工具结合时,可以降低工具使用的门槛,从而充分释放人类用户的创造潜力 [94]。

了解工具。智能体有效使用工具的前提是全面了解工具的应用场景和调用方法。如果没有这种理解,代理使用工具的过程将变得不可信,并且无法真正增强代理的能力。利用 LLM 强大的零样本和少样本学习能力 [40; 41],代理可以通过利用描述工具功能和参数的零样本提示,或提供特定工具使用场景和相应方法演示的少样本提示来获取有关工具的知识 [92; 325]。这些学习方法与人类通过查阅工具手册或观察他人使用工具的学习方法相似 [94]。面对复杂的任务时,单一工具往往是不够的。因此,智能体首先应该以适当的方式将复杂的任务分解为子任务,然后有效地组织和协调这些子任务,这依赖于 LLM 的推理和计划能力,当然还有对工具的理解。

学习使用工具。智能体学习使用工具的方法主要包括从演示中学习和从反馈中学习。这涉及模仿人类专家的行为 [345; 346; 347],以及理解他们行为的后果并根据从环境和人类收到的反馈进行调整 [24; 348; 349]。环境反馈包括行动是否成功完成任务的结果反馈以及捕捉行动引起的环境状态变化的中间反馈;人类反馈包括显式评估和隐式行为,例如单击链接 [94]。如果智能体僵化地应用工具而没有适应性,则无法在所有场景下获得可接受的性能。智能体需要将在特定上下文中学到的工具使用技能推广到更一般的情况,例如将在雅虎搜索上训练的模型转移到谷歌搜索上。为此,智能体有必要掌握工具使用策略中的共同原则或模式,这可以通过元工具学习来实现 [326]。增强智能体对简单工具和复杂工具之间关系的理解,例如复杂工具的复杂程度建立在更简单的基础上,可以有助于智能体泛化工具使用的能力。这使得智能体能够有效地辨别各种应用场景中的细微差别,并将以前学到的知识转移到新工具中 [94]。课程学习 [350],这使得智能体能够从简单的工具开始,逐步学习复杂的工具,符合需求。此外,受益于对用户意图的理解和推理和规划能力,代理可以更好地设计工具使用和协作的方法,从而提供更高质量的结果。

制造自给自足的工具。现有的工具通常是为了人类的便利而设计的,这对于代理来说可能不是最佳的。为了让智能体更好地使用工具,需要专门为智能体设计的工具。这些工具应该更加模块化,并具有更适合代理的输入输出格式。如果提供说明和演示,基于 LLM 的代理还具有通过生成可执行程序或将现有工具集成到更强大的工具中来创建工具的能力 [94; 329; 351]。他们可以学习进行自我调试 [330]。此外,如果充当工具制造者的代理成功创建了一个工具,除了使用该工具本身之外,它还可以为多代理系统中的其他代理生成包含该工具的代码和演示的包 [328]。据推测,未来智能体可能会变得自给自足,在工具方面表现出高度的自主性。

工具可以扩展基于 LLM 的代理的行动空间。在工具的帮助下,代理可以在推理和规划阶段利用各种外部资源,例如外部数据库和 Web 应用程序 [92]。该流程可以为 LLM 代理人提供高度专业性、可靠性、多样性和质量的信息,促进他们的决策和行动。例如,基于搜索的工具可以借助外部数据库、知识图和网页来提高代理人可访问的知识的范围和质量,而特定领域的工具可以增强代理人在相应领域的专业知识 [211; 352]。一些研究人员已经开发了基于 LLM 的控制器,可以生成 SQL 语句来查询数据库,或者将用户查询转换为搜索请求并使用搜索引擎来获得所需的结果 [90; 175]。更重要的是,基于 LLM 的代理可以使用科学工具来执行化学有机合成等任务,或与 Python 解释器和 LaTeX 编译器交互,以提高其在复杂数学计算任务上的性能 [353; 354]。对于多代理系统,通信工具(例如电子邮件)可以作为代理在严格的安全约束下相互交互的手段,促进他们的协作,并显示自主性和灵活性 [94]。

尽管前面提到的工具增强了代理的能力,但与环境交互的媒介仍然是基于文本的。然而,工具的设计目的是扩展语言模型的功能,它们的输出并不限于文本。非文本输出的工具可以使智能体动作的方式多样化,从而扩展基于 LLM 的智能体的应用场景。例如,图像处理和生成可以通过利用视觉模型的代理来完成 [327]。在航空航天工程中,正在探索用于物理建模和求解复杂微分方程的代理 [355];在机器人领域,智能体需要规划物理操作并控制机器人执行 [179];等等。能够通过工具或多模式方式与环境或世界动态交互的智能体可以被称为数字化体现 [94]。主体的体现一直是体现学习研究的中心焦点。我们将在第 3.3.3 节中对主体的具体行动进行深入讨论。

3.3.3 体现行动

在追求通用人工智能(AGI)的过程中,具身主体被认为是一种关键范式,努力将模型智能与物理世界相结合。具身假说 [356] 从人类智能发展过程中汲取灵感,并假设:智能体的智能源于与环境的持续交互和反馈,而不是仅仅依赖于精心策划的教科书。同样,与从互联网数据集中学习显式能力来解决领域问题的传统深度学习模型不同,人们预计基于 LLM 的智能体的行为将不再局限于纯文本输出或调用精确的工具来执行特定的领域任务 [357]。相反,他们应该能够主动感知、理解物理环境并与之交互,做出决策并生成特定的行为来修改基于 LLM 广泛的内部知识的环境。我们将这些统称为具体行动,它使代理人能够以与人类行为非常相似的方式与世界互动并理解世界。

基于 LLM 的代理人在具体行动方面的潜力。在 LLM 广泛兴起之前,研究人员倾向于使用强化学习等方法来探索代理的具体行为。尽管基于强化学习的实施例取得了广泛的成功 [358; 359; 360],它在某些方面确实有一定的局限性。简而言之,由于对动态且经常模糊的真实环境建模的挑战,或者严重依赖精确的奖励信号表示,强化学习算法在数据效率、泛化和复杂问题推理方面面临限制 [361]。最近的研究表明,利用 LLM 预培训期间获得的丰富内部知识可以有效缓解这些问题 [120; 187; 257; 362]。

  • 成本效益。一些策略内算法在样本效率方面遇到困难,因为它们需要新的数据来进行策略更新,而收集足够的具体数据来进行高性能训练的成本高昂且噪音大。在一些端到端模型中也发现了该约束 [363; 364; 365]。通过利用 LLM 的内在知识,像 PaLM-E [120] 这样的智能体联合训练机器人数据和通用视觉语言数据,以在具体任务中实现显着的迁移能力,同时还展示了几何输入表示可以提高训练数据效率。
  • 体现行动的概括。正如第 §3.1.5 节中所讨论的,代理人的能力不应超出特定任务的范围。当面对复杂、未知的现实环境时,代理必须表现出动态学习和泛化能力。然而,大多数强化学习算法旨在训练和评估特定任务的相关技能 [101; 366; 367; 368]。相比之下,通过多样化的形式和丰富的任务类型的微调,LLM 展示了卓越的跨任务泛化能力 [369; 370]。例如,PaLM-E 对新对象或现有对象的新颖组合表现出令人惊讶的零样本或单样本泛化能力 [120]。此外,语言能力代表了基于 LLM 的智能体的独特优势,它既可以作为与环境交互的手段,也可以作为将基础技能转移到新任务的媒介 [371]。 SayCan [179] 使用 LLM 将提示中呈现的任务指令分解为相应的技能命令,但在部分可观察的环境中,有限的先验技能往往无法达到令人满意的性能 [101]。为了解决这个问题,Voyager [190] 引入了技能库组件来不断收集新颖的自我验证技能,从而实现代理的终身学习能力。
  • 具体的行动计划。规划构成了人类以及基于法学硕士的智能体应对复杂问题所采用的关键策略。在 LLM 表现出卓越的推理能力之前,研究人员引入了分层强化学习(HRL)方法,高层策略约束低层策略的子目标,低层策略产生适当的行动信号 [372; 373; 374]。与高层政策的作用类似,具有新兴推理能力的 LLM [26] 可以以零样本或少样本的方式无缝应用于复杂任务 [95; 97; 98; 99]。此外,来自环境的外部反馈可以进一步提高基于 LLM 的代理人的规划绩效。根据当前的环境反馈,一些工作 [101; 91; 100] 动态生成、维护和调整高级行动计划,以尽量减少对部分可观察环境中先验知识的依赖,从而为计划奠定基础。反馈也可以来自模型或人类,通常可以称为批评者,根据当前状态和任务提示评估任务完成情况 [25; 190]。

针对基于 LLM 的代理的具体行动。根据代理在任务中的自主程度或行动的复杂性,有几种基于 LLM 的基本具体行动,主要包括观察、操纵和导航。

  • 观察。观察是智能体获取环境信息和更新状态的主要方式,对于提高后续具体行动的效率起着至关重要的作用。如 §3.2 所述,具体化智能体的观察主要发生在具有各种输入的环境中,最终汇聚成多模态信号。一种常见的方法需要预先训练的视觉变换器(ViT)用作文本和视觉信息的对齐模块,并标记特殊标记来表示多模态数据的位置 [120; 331; 121]。Soundspaces [375] 提出了由混响音频输入引导的物理空间几何元素的识别,以更全面的视角增强代理的观察 [374]。近年来,更多的研究将音频作为嵌入式观察的模态。从广泛采用的级联范式 [292; 376; 315] 来看,类似于 ViT 的音频信息编码进一步增强了音频与其他输入形式的无缝集成 [293]。代理对环境的观察也可以来自实时来自人类的语言指令,而人类反馈帮助代理获取可能不容易获得或解析的详细信息 [332; 190]。
  • 操纵。一般来说,实体代理的操纵任务包括对象重新排列、桌面操纵和移动操纵 [23; 120]。典型的案例需要代理在厨房执行一系列任务,其中包括从抽屉中取出物品并将其交给用户,以及清洁桌面[179]。除了精确观察之外,这还涉及利用LLM将一系列子目标组合起来。因此,保持智能体状态和子目标之间的同步具有重要意义。DEPS [183] ​​利用基于 LLM 的交互式规划方法来保持这种一致性,并帮助在整个多过程中根据智能体的反馈进行纠错。步骤,长距离推理过程。与这些相反,AlphaBlock [333] 专注于更具挑战性的操作任务(例如使用积木制作笑脸),这要求代理对指令有更扎实的理解。与现有的开环范例不同,AlphaBlock 构建了一个包含 35 个复杂高级任务的数据集,以及相应的多步骤规划和观察对,然后微调多模态模型以增强其对高级认知指令的理解。
  • 导航。导航允许代理动态改变其在环境中的位置,这通常涉及多角度和多对象观察,以及基于当前探索的长视野操作 [23]。在导航之前,实体智能体必须先建立关于外部环境的内部地图,通常以拓扑图、语义图或占用图的形式 [357]。例如,LM-Nav [334] 利用 VNM [377] 创建内部拓扑图。它进一步利用 LLM 和 VLM 来分解输入命令并分析环境以找到最佳路径。此外,一些 [378; 379 ] 通过利用预先训练的 VLM 模型将图像的视觉特征与物理世界的 3D 重建相结合,强调空间表示对于实现空间目标精确定位的重要性,而不是传统的以点或对象为中心的导航操作 [357]。导航通常是一项长期任务,智能体即将到来的状态受到其过去动作的影响。需要内存缓冲区和摘要机制来作为历史信息的参考 [335],这也是在《Smallville》和《Voyager》中采用 [22; 190; 380; 381]。此外,正如 §3.2 中提到的,一些作品提出音频输入也具有重要意义,但集成音频信息在将其与视觉环境相关联方面提出了挑战。基本框架包括动态路径规划器,它使用视觉和听觉观察以及空间记忆来规划一系列导航动作 [374; 382]。

通过整合这些,智能体可以完成更复杂的任务,例如体现问答,其主要目标是自主探索环境并回答预定义的多模态问题,例如厨房里的西瓜比锅大吗?哪一个更难?为了解决这些问题,智能体需要导航到厨房,观察两个物体的大小,然后通过比较来回答问题 [357]。

在控制策略方面,如前所述,基于 LLM 的代理在特定的具体数据集上进行训练,通常会生成高级策略命令来控制低级策略,以实现特定的子目标。低级策略可以是机器人变压器 [120; 383; 384],它将图像和指令作为输入,并为末端执行器以及机器人手臂在特定的具体任务中产生控制命令[179]。最近,在虚拟体现环境中,高级策略被用来控制游戏中的代理 [172; 183; 190; 336]或模拟世界 [22; 108; 109]。例如,Voyager [190] 调用 Mineflayer [385] API 接口来不断获取各种技能并探索世界。

具身行动的未来展望。基于 LLM 的具身行动被视为虚拟智能和物理世界之间的桥梁,使智能体能够像人类一样感知和修改环境。然而,仍然存在一些限制,例如物理成本高昂。世界机器人操作员和具体数据集的稀缺性,促使人们对调查代理在 Minecraft [183; 337; 336; 190; 338 ] 等模拟环境中的具体行动越来越感兴趣。通过利用 Mineflayer [385 ] API,这些调查使得对各种具体代理的操作进行具有成本效益的检查,包括探索、规划、自我完善甚至终身学习 [190]。尽管取得了显着的进展,但由于模拟平台和物理平台之间存在显着差异,实现最佳的具体行动仍然是挑战为了在现实世界场景中有效部署具体代理,对密切反映现实世界条件的具体任务范式和评估标准的需求不断增加 [357]。另一方面,学习代理的基本语言是例如,“像猫一样跳下来” 这样的表达主要传达一种轻松和宁静的感觉,但这种语言隐喻需要足够的世界知识 [30]。[339] 努力将文本蒸馏与事后经验重放(HER )构建一个数据集作为训练过程的监督信号。尽管如此,当具体行动在人类生活的各个领域发挥着越来越重要的作用时,对基础具体数据集的额外研究仍然是必要的。

4 代理实践:善用人工智能

参考

  1. 复旦 NLP 实验室和米哈游全面解读 AI Agents:一文读懂 5 万字论文;

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

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

相关文章

【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的预训练模型

前言 文章介绍了一种用于视觉信息提取(VIE)的预训练模型:GeoLayoutLM。GeoLayoutLM通过显式建模几何关系和特殊的预训练任务来提高文本和布局的特征表示。该模型能够提高文档信息抽取的性能。 一、提出背景 当前多模态预训练模型在 SER 任…

c/c++中如何输入pi

标准的 C/C 语言中没有π这个符号及常量,一般在开发过程中是通过开发人员自己定义这个常量的,最常见的方式是使用宏定义: 方法1:#define pi 3.1415926 方法2:使用反三角函数const double pi acos(-1.0);

如何使用记事本制作一个简陋的小网页(2)——表格的建立

前情题要&#xff1a;http://t.csdnimg.cn/bK3H9 1.首先在之前的基础上建立一个新的标签页面。 2.使用<body></body>建立背景颜色 3.表格的填充和使用 如图所示&#xff0c;<table></table>是建立一个表格所需要使用的标签&#xff0c;可以使用width来…

Docker 容器跨主机通信 - Flannel

Author&#xff1a;rab 目录 前言一、架构及环境二、服务部署2.1 Etcd 部署2.2 Flannel 部署2.3 Docker 网络配置 三、容器通信验证及路由分析3.1 通信验证3.2 路由转发分析3.3 数据分发分析 总结 前言 今天是中秋佳节&#xff0c;首先在此祝大家“中秋快乐&#xff0c;阖家团…

java mongodb 并表 group 查询 Bson

对mongodb的使用中&#xff0c;需要将发生额表occr期初表open表&#xff0c;进行union的并表操作后&#xff0c;再进行group&#xff0c;sum&#xff0c;排序&#xff0c;分页操作。 查询了一番后&#xff0c;mongodb4.4版本后&#xff0c;新增了一个管道符&#xff0c;$union…

什么是 DNS 泛洪攻击(DNS 泛洪)

什么是 DNS 泛洪攻击&#xff08;DNS 泛洪&#xff09;&#xff1f; 域名系统 &#xff08;DNS&#xff09; 是用于在网站的机器可读地址&#xff08;例如 191.168.0.1&#xff1a;80&#xff09;和人类可读名称&#xff08;例如 radware.com&#xff09;之间进行解析的目录DN…

【HUAWEI】单臂路由

目录 ​ &#x1f96e;写在前面 &#x1f96e;2.1、拓扑图 &#x1f96e;2.2、操作思路 &#x1f96e;2.3、配置操作 &#x1f363;2.3.1、LSW4配置 &#x1f363;2.3.2、R2配置 &#x1f363;2.3.3、测试网络 &#x1f990;博客主页&#xff1a;大虾好吃吗的博客 &…

​面试官:谈谈 Go 泛型编程

大家好&#xff0c;我是木川 泛型编程是一种编程范式&#xff0c;它允许编写具有参数化类型的代码&#xff0c;从而增加代码的复用性和灵活性。在泛型编程中&#xff0c;你可以编写一段代码&#xff0c;使其适用于不同类型的参数&#xff0c;而不需要为每种类型编写不同的实现。…

js 时差计算 根据时间戳获取相差时间 几时几分几秒

上代码 // 如下&#xff1a;封装方法直接调用console.log("根据时间戳差值计算相差几小时几分几秒"); console.log("时间相差", timestampDifference(1695522383442 ,1695521518845)); 根据测试代码段 可以在浏览器控制台打印&#xff1a; 可以看到 &…

No148.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

No150.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

MacBook Pro 电池电量限制充电怎么设置AlDente Pro for Mac最大充电限制工具

通过充电电量限制工具可以更好的保护MacBook Pro的电池&#xff0c;通过 AlDente Pro 您可以设置电池的最大充电百分比设置为 20&#xff05; 至 100&#xff05;&#xff0c;然后&#xff0c;它将保持在所需的电池百分比&#xff0c;然后再次使用电源适配器进行充电。 AlDent…

led灯什么牌子的质量好?Led护眼台灯排行榜

现在我们很多家长对自己孩子的视力十分关心&#xff0c;生怕自己的孩子是近视、远视、弱视等等。对于父母而言&#xff0c;在孩子读书压力大课业重的关键时期&#xff0c;为孩子选择合适的桌椅&#xff0c;保护灯具从而保护孩子的眼睛是非常重要的事情!那么买给孩子读书做功课的…

如何改变讨好型人格,做回真正的自己

讨好型人格虽然说不上疾病那么严重&#xff0c;但是又切实的影响了正常的生活&#xff0c;阻碍了个人的事业发展&#xff0c;在人际关系方面也同样面临诸多不良影响。 根据我这段时间的阅读&#xff0c;尤其是知乎上关于讨好型人格的话题实在太多太多。那么如何才能摆脱讨好型…

Java实现使用多线程,实现复制文件到另一个目录,起不一样的名字,创建100万个数据

目录 1 需求2 实现 1 需求 我现在有一个300MB 的文件&#xff0c;想要根据这个文件&#xff0c;创建100万个大小一样的&#xff0c;名称不一样&#xff0c;如何实现&#xff0c;如何比较快点实现 2 实现 1 先准备好这个文件 2 准备好目录 3 写代码 private static void crea…

大数据分布式处理框架Hadoop

大数据是什么 大数据容量常以TB、PB、甚至EB为单位&#xff0c;远超传统数据库的承载能力&#xff0c;无论入库还是查询都出现性能瓶颈。 Hadoop是什么 Hadoop是开源的分布式计算技术框架&#xff0c;用于处理大规模数据和实现分布式存储。 Hadoop核心组件 HDFS&#xff08;…

PHP8的数据封装(数据隐藏)-PHP8知识详解

面向对象的特点之一就是封装性&#xff0c;也就是数据封装&#xff0c;也被称为数据隐藏。 php8通过限制访问权限来实现数据的封装性&#xff0c;这里用到了public、private、protected、static和final几个关键字。下面来介绍前3个。 1.、public&#xff08;公共成员&#xf…

JavaSE学习之--继承和多态

&#x1f495;"越是不思考的人&#xff0c;越不愿倾听别人说话。"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;JavaSE学习之--继承和多态 目录 一.继承(inheritance) 1.为什么要有继承 2.继承的概念 3.继承的语法及代码实现 4.在子类中访…

【1++的Linux】之进程(四)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;进程创建二&#xff0c;进程等待三&#xff0c;进程终止 一&#xff0c;进程创建 在Linux中我们通过fork来创建一个新的进程。新创建的进程叫做子进程&…

No149.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…