0


详解AI Agent系列|(1)AI Agent到底是什么

一、引言

在大语言模型的能力日渐提升的过程中,一种衍生类型的应用AI Agent也借着这股春风开启了一波话题度,各种初创公司,包括Open AI 内部也都在密切关注着AI Agent领域的变化。

面对AI Agent,很多人并不理解它到底是什么,以及它相比于单独的大语言模型到底有什么优势。

正好,这篇文章就基于复旦NLP团队对于AI Agent的综述,从high-level来简明概括地介绍一下AI Agent。

(笔者note:后续也会出基于各种开源AI Agent项目的AI Agent架构、AI Agent技术细节、AI Agent评估的相关内容,感兴趣的小伙伴可以码一下这篇文章所在的专栏)

二、什么是AI Agent

2.1 Agent这个词代表着什么?

有很多人或许会疑惑,Agent这个东西看起来跟LLM也没差得那么远,那为啥最近突然Agent那么火,而不称之为LLM-Application或者其他的词呢?这就得从agent的来历上说起了。

从哲学意义上讲,“Agent”是指具有意图和行动能力的实体(包括物理世界和虚拟世界中的其他实体);而“Agency”一词则表示这种能力的行使或体现。

在 20 世纪 80 年代中后期之后,当“Agent”这一概念被引入人工智能领域时,其含义发生了一些变化。在哲学领域,Agent可以是人、动物,甚至是具有自主性的概念或实;然而,在人工智能领域,Agent是一个计算实体(这种计算实体的表现形式有很多种,例如接入真实世界的机器人,对话接口,沙盒环境里的游戏NPC等),它们能够使用传感器感知周围环境,自主做出决策,然后使用执行器采取行动。

2.2 AI Agent的技术演变史

1、Symbolic Agents: 在人工智能研究的早期阶段,最主要的方法是符号人工智能,其特点是依赖符号逻辑。这种方法采用逻辑规则符号表示来封装知识和促进推理过程。它们主要关注两个问题:转换问题和表示/推理问题。这些Agent旨在模拟人类的思维模式。它们拥有明确的、可解释的推理框架,而且由于其符号性质,它们表现出高度的表达能力(这种方法的一个典型例子是基于知识的专家系统)。然而,Symbolic Agent在处理不确定性和大规模现实世界问题时面临着局限性。此外,由于符号推理算法错综复杂,要找到一种能在有限时间内产生有意义结果的高效算法也很有挑战性。

2、Reactive Agents: 与Symbolic Agent不同,Reactive Agent不使用复杂的符号推理。相反,它们主要关注Agent与其Environment之间的交互,强调快速和实时响应。这类Agent的设计优先考虑直接将输入输出进行映射,而不是复杂的推理和符号操作。Reactive Agent通常需要较少的计算资源,从而能做出更快的反应,但可能缺乏复杂的高层决策和规划能力。

3、RL-based Agents: 该领域的主要关注点是如何让Agent通过与环境的交互进行学习,使其在特定任务中获得最大的累积奖励。最初,RL-based Agent主要基于强化学习算法,如策略搜索和价值函数优化,Q-learning和SARSA就是一个例子。随着深度学习的兴起,出现了深度神经网络与强化学习的整合,即深度强化学习。这使得Agent可以从高维输入中学习复杂的策略,从而取得了众多重大成就(如AlphaGo和DQN)。这种方法的优势在于它能让Agent在未知环境中自主学习,而在学习过程中无需明确的人工干预。这使得它能广泛应用于从游戏到机器人控制等一系列领域。然而,强化学习也面临着一些挑战,包括训练时间长、采样效率低以及稳定性问题,尤其是在复杂的真实世界环境中应用时。

4、Agent with transfer learning and meta learning: 传统上,训练强化学习Agent需要大量样本和较长的训练时间,而且缺乏泛化能力。因此,研究人员引入了迁移学习来加速Agent对新任务的学习。迁移学习减轻了新任务培训的负担,促进了知识在不同任务间的共享和迁移,从而提高了学习效率、绩效和泛化能力。此外,AI Agent也引入了元学习。元学习的重点是学习如何学习,使Agent能从少量样本中迅速推断出新任务的最优策略。这样的Agent在面对新任务时,可以利用已获得的一般知识和策略迅速调整其学习方法,从而减少对大量样本的依赖。然而,当源任务和目标任务之间存在显著差异时,迁移学习的效果可能达不到预期,并可能出现负迁移。此外,元学习需要大量的预训练和大量样本,因此很难建立通用的学习策略。

5、LLM-based Agent: 由于大型语言模型已经展示出令人印象深刻的新兴能力,并受到广泛欢迎,研究人员已经开始利用这些模型来构建AI Agent。具体来说,他们采用 LLM 作为这些Agent的大脑或控制器的主要组成部分,并通过多模态感知和工具利用等策略来扩展其感知和行动空间。通过思维链(CoT)和问题分解等技术,这些基于 LLM 的Agent可以表现出与Symbolic Agen相当的推理和规划能力。它们还可以通过从反馈中学习和执行新的行动,获得与环境互动的能力,类似于Reactive Agent。同样,大型语言模型在大规模语料库中进行预训练,并显示出少量泛化的能力,从而实现任务间的无缝转移,而无需更新参数。LLM-based Agent已被应用于各种现实世界场景、如软件开发和科学研究。由于具有自然语言理解和生成能力,它们可以无缝互动,从而促进多个Agent之间的协作和竞争。

目前热度高的AI Agent,都是基于大语言模型的AI Agent (LLM-based Agent,本文中提到的AI Agent,也都是指LLM-based Agent),其实基本上都是** "LLM + 规划技能 + 记忆 + 工具使用****"**的组合,并以控制端 (Brain)、感知端 (Preception)、执行端 (Action) 的概念框架来构成。

三、为什么需要AI Agent

3.1 LLM vs AI Agent

看到这里有些xdm可能会问:为什么大语言模型(LLM)刚流行不久,就需要AI Agent呢?

因为在特定行业场景中,通用大模型具有的泛化服务特性,很难在某些特定领域知识问答、内容生成、业务处理和管理决策等方面精准满足用户的需求;同时LLM仅限于它们所训练的知识,并且这些知识很快就会过时。

LLM的一些缺点:

  1. 会产生幻觉。
  2. 结果并不总是真实的。
  3. 对时事的了解有限或一无所知。
  4. 很难应对复杂的计算。

这些缺点就是AI Agent的用武之地,它可以利用外部的知识库、长短期记忆以及其他外部工具来克服这些限制。

这里的工具是什么呢?工具就是代理用它来完成特定任务的一个插件、一个集成API、一个代码库等等,例如:

  • 搜索:获取最新信息
  • Python REPL:执行代码
  • Wolfram:进行复杂的计算
  • 外部API:获取特定信息
  • 向量数据库:进行记忆存储

AI Agent 和大模型的还有一个区别在于,大模型与人类之间的交互是基于 prompt 实现的,用户 prompt 是否清晰明确会影响大模型回答的效果。而 AI Agent 的工作仅需给定一个目标,它就能够通过控制端、感知端、执行端的配合来针对目标独立思考并做出行动。

3.2 具体案例

我们来看一些具体的案例对比,以更好地阐明AI Agent所具有的能力

3.2.1 LLM vs AI Agent

我们将角色设为“An AI that finds the most relevant job postings for a UI designer on LinkedIn and Glassdoor and applies for you”

以下为GPT4(带着web search的插件)的回复:

可以看到,由于未接入插件以及安全性的设置,GPT4并没有分析用户的经历,且无法进行相关职位的搜索。

以下为AutoGPT的回复:

(AutGPT是一个基于GPT的AI Agent,可以根据你设置的目标,通过使用 GPT 自动帮你完成设定的任务;其内部支持 Google 搜索、执行脚本、引入长期记忆等方式辅助完成目标)

推理过程:

生成的job list:

基于以上的执行过程可以看到,AutoGPT在执行过程中,引入了思考以及推理过程;自动执行了用户角色分析、搜索、处理搜索结果的任务。

3.2.2 AI agent vs RPA

和传统的 RPA 相比,RPA 只能在给定的情况条件下,根据程序内预设好的流程来进行工作的处 理,而 AI Agent 则可以通过和环境进行交互,感知信息并做出对应的思考和行动。

3.2.3 ChatGPT 接入插件

ChatGPT现在接入外部插件后不是也可以执行任务吗?

从定义上来讲,ChatGPT接入插件后/GPT Store里的各种GPTs 已经属于AI Agent范畴,其可以根据用户的特定指令去完成简单的任务,但仍然不具有长期记忆,且缺乏全面的感知和分析能力。

四、AI Agent是如何实现的

AI Agent 的概念框架,包含三个组成部分:控制端(Brain)、感知端(Perception)和行动端(Action),如下图所示:

(此案例:当一个人问是否会下雨时,感知模块将指令转换为LLM可以理解的表示。然后,大脑模块开始根据当前天气和互联网上的天气预报进行推理。最后,动作模块做出响应,将伞交给人类。通过重复上述过程,智能体可以不断地获得反馈并与环境进行交互。)

4.1 控制端(Brain)

作为控制中心的大脑(Brain)模块负责处理信息,以及记忆和知识的存储处理活动,如思考、决策和操作。

我们以以下五种能力来探讨大脑作为控制中心的基础:

(Note:本文根据论文中的内容,细致地探讨了各个方面的能力以及其遇到的挑战,对于这部分,有兴趣的xdm可以重点阅读;如果仅是想对AI Agent有一个大致了解的xdm,可以略读这部分)

  • 自然语言交互: - 多轮交互对话能力:基于LLM的AI Agent能够利用已有的信息不断提炼输出,进行多轮对话,有效地实现最终目标 - 高质量的文本生成:作为控制端核心的LLM能够生成流畅、多样、新颖、可控的文本,且可进行语法错误检测 - 潜在意图理解:除了直观表现出的内容,语言背后可能还传递了说话者的意图、偏好等信息。言外之意有助于代理更高效地沟通与合作,作为控制端核心的LLM凸显了基础模型理解人类意图的潜力,但当涉及到模糊的指令等其他方面,仍然是个挑战
  • 知识: - Scale Law:当LLM有更多的参数、更多的训练语料时,可以学习到更多的知识 - 知识类别:这些知识包括语言知识、常识知识、专业领域知识 - 潜在问题:LLM其本身存在过时、错误和幻觉等问题,现有的一些研究通过知识编辑或调用外部知识库等方法,可以在一定程度上得到缓解。
  • 记忆 - 储存长短期记忆:储存了代理过往的观察、思考和行动序列。通过特定的记忆机制,代理可以确保它们熟练地处理一系列连续的任务,同时有效地反思并应用先前的策略,使其借鉴过去的经验来适应陌生的环境 - 长短期记忆: 1. 短期记忆:可以输入LLM上下文长度以内的记忆 2. 长期记忆:这为代理提供了长时间保留和回忆(无限)信息的能力,通常是通过利用外部向量存储和快速检索、以及设定系统角色来实现的**- 两个困难点:历史上下文长度的限制 & 如何提取更相关的记忆** - 用于提升记忆能力的方法: 1. 扩展基于Transformer架构的长度限制:针对 Transformers 固有的序列长度限制问题进行改进。现有手段包括文本截断、分割输入、强调文本的关键部分、修改注意力机制以降低复杂性 2. 记忆总结:对记忆进行摘要总结,增强代理从记忆中提取关键细节的能力。现有手段包括使用提示、反思过程、分层过程 3. 记忆压缩:通过采用合适的数据结来压缩记忆,可以提高智能代理的记忆检索效率
  • 推理和规划 - 推理能力:对于解决复杂任务至关重要;包括演绎、归纳和溯因,以证据和逻辑为基础,是解决问题、决策和批判性分析的基石 - LLM-based Agent的推理能力:包括思维链(CoT)、self-consistency、self-polish、self-refine以及selection-inference - 规划能力:通过推理,Agent将复杂的任务分解为更易于管理的子任务,并为每个子任务设计合适的计划。此外,随着任务的进行,Agent可以使用自省来修改任务执行计划,确保其更好地与现实世界的情况保持一致。**- 规划的两个步骤:** 1. 计划制定(Plan Formulation):代理将复杂任务分解为更易于管理的子任务。例如:一次性分解再按顺序执行、逐步规划并执行、多路规划并选取最优路径等。在一些需要专业知识的场景中,代理可与特定领域的 Planner 模块集成,提升能力 2. 计划反思(Plan Reflection):在制定计划后,可以进行反思并评估其优劣。这种反思一般来自三个方面:借助内部反馈机制;与人类互动获得反馈;从环境中获得反馈。
  • 迁移和泛化能力 - 动态学习能力:在大量语料库上进行预训练的LLMs 具备强大的在知识、应用上的迁移与泛化能力。一个好的Agent不仅仅是静态的知识库,还应具备动态的学习能力 - 对未知任务的泛化(Unseen Task Generalization):随着模型规模与训练数据的增大,LLMs 在解决未知任务上涌现出了惊人的能力,从而提高了Agent对于未知任务的泛化迁移能力;值得注意的是prompt的选择是至关重要的,并且直接在prompt上进行训练可以提高模型在推广到未知任务时的鲁棒性 - 情景学习(In-context Learning):LLMs可以通过上下文学习来执行各种复杂的任务(例如,few-shot learning);这种能力还可以扩展到文本以外的多模态场景,为Agent在现实世界中的应用提供了更多可能性
  • 持续学习(Continual Learning):LLMs在促进Agent持续学习方面的能咯,包括持续获取和更新技能;持续学习的主要挑战是灾难性遗忘,即当模型学习新任务时容易丢失过往任务中的知识。专有领域的Agent应当尽量避免丢失通用领域的知识。E.g. 如果知识过时了,LLM-based Agent可以学会自动查找最新的知识:

4.2 感知端(Perception)

人类和动物都依靠眼睛和耳朵等感觉器官从周围环境中收集信息,这些感知输入被转换成神经信号并发送到大脑进行处理,使我们能够感知世界并与之互动。
同样,对于LLM-based Agent来说,接收多模态的感知、信息也是至关重要的。这种扩展的感知空间有助于智能体更好地理解其环境,提升通用性、信息利用度。

目前,多模态的信息输入主要包括:

  • 文本输入:LLM强大的文字处理、语言理解能力
  • 视觉输入:LLMs 本身并不具备视觉的感知能力,只能理解离散的文本内容;而视觉输入通常包含有关世界的大量信息,包括对象的属性,空间关系,场景布局等等。**- 针对LLMs无法理解图像的问题,常见的解决方法有:** 1. Image Captioning:根据视觉输入生成对应的文字描述,从而可以被 LLMs 直接理解,且 计算成本低;但是低带宽,且会忽略很多的信息 2. 视觉基础模型 + LLMs:用transformer对视觉信息进行编码表示,通过对齐操作来让模型 理解不同模态的内容,可以端到端的方式进行训练;但是计算成本非常高
  • 视频输入:对于视频输入,其是由一系列连续的图像帧组成。因此,智能体用于感知图像的方法可能适用于视频领域,只是增加了一个时间维度,agent还需要对不同帧之间的时间关系进行理解。
  • **听觉输入: - **一个非常直观的处理方法是,Agent可以使用LLMs作为控制中心,以级联方式调用现有的工具集或模型库来感知音频信息。例如,AudioGPT充分调用了FastSpeech(文本到语音)、GenerSpeech(风格转换)、Whisper(语音识别)等模型的功能。 - 另一种方法将感知方法从视觉领域迁移到音频领域,AST(音频频谱图转换器)采用类似于ViT的Transformer架构来处理音频频谱图图像。通过将音频频谱图分割成小块,实现对音频信息的有效编码
  • 其他输入:引入现实世界的更多的输入,配备更丰富的感知模块。例如:触觉和嗅觉;感知周围环境的温度、湿度和亮度;眼球追踪、身体动作捕捉,甚至是脑机交互中的脑波信号

此外,还可以为代理引入对更广阔的整体环境的感知:采用激光雷达、GPS、惯性测量单元等成熟的感知模块。

4.3 行动端(Action)

在Agent的构建中,行动端接收大脑端发送的动作序列,并执行动作与环境进行交互。当一个Agent拥有类似大脑的结构,具有知识、记忆、推理、计划和泛化能力,以及多模态感知能力时,它也有望拥有多样化的行动范围。

  • 文本输出:LLM-based Agent的固有能力
  • 工具使用:LLM-based Agent在某些方面存在局限性,使用工具可以增强代理的能力。专门的工具使LLM能够增强其在某些特定领域的专业知识,并以可插拔的形式更适合特定于领域的需求(借助工具完成任务的Agent表现出更强的可解释性和鲁棒性,使用这些工具的代理可以更好地处理轻微的输入修改,并且对对抗性攻击更有弹性;可以分解任务,作为集成工具的核心)
  • 具身行动:在追求通用人工智能(AGI)的过程中,具身智能体被认为是一个关键的范式,其将模型智能与物理世界相结合。 E.g. 做饭机器人Mobile ALOHA (mobile-aloha.github.io)

4.4 角色(Agent Profile/Persona)

Agent通常通过扮演特定角色来执行任务,例如编码人员、教师或者是领域专家。角色模块旨在指示Agent角色的概要,这些概要通常作为系统性信息以影响LLM行为。

目前主要使用以下策略来生成Agent的角色信息:

  • 人工定义:人工指定代理配置文件;例如,如果想设计具有不同性格的代理,可以用“你是一个外向的人”或“你是一个内向的人”来描述Agent。E.g., MetaGPT、ChatDev和Self-collaboration预先定义了软件开发中的各种角色及其相应的职责,手动为每个代理分配不同的配置文件以促进协作。
  • LLM生成:代理配置文件基于LLM自动生成。通常,它首先指示概要文件生成规则,阐明目标人群中代理概要文件的组成和属性。然后,可以选择指定几个种子代理配置文件作为少量示例。最后,利用llm生成所有代理配置文件
  • 数据集对齐:代理概要文件是从真实世界的数据集获得的。通常,可以首先将数据集中关于真人的信息组织成自然语言提示,然后利用它来分析代理。

五、AI Agent目前的应用场景

根据代理的组织形式。LLM-based Agent 有三种应用范式:单代理、多代理、人-代理交互场景;

根据应用领域,代理的应用领域主要包括:社会科学、自然科学、工程学等。

5.1 单代理场景

单代理表现出的惊人的多样化能力,并且可以在各种应用程序方向中展示出色的任务解决能力。

单代理场景的三个层次为:任务导向、创新导向、生命周期导向

任务导向:在任务导向的部署中,Agent遵循用户的高层指令,承担诸如目标分解、子目标序列规划、环境交互式探索等任务,直到最终目标实现。

根据现有的任务类型,代理的实际应用又可以分为两种主要场景:

  1. In web scenarios:通常包括填写表格、网上购物和发送电子邮件等网络任务;要求Agent有强大的对HTML代码的阅读和理解能力

  2. In life scenarios:在生活场景中的日常家庭任务;对Agent理解隐含指令并应用常识性知识的能力有非常高的要求,然而对于一个只训练大量文本的LLM-based Agent来说,人类认为理所当然的任务(例如:在光线不好时打开台灯)却需要多次尝试

创新导向:在对智力要求更高的领域,比如尖端科学,Agent的潜力还没有完全实现,还有很大的潜力。主要限制为:

  1. 科学固有的复杂性构成了重大障碍。许多特定于领域的术语和多维结构很难用单个文本表示;

  2. 科学领域严重缺乏合适的训练数据,使得智能体难以理解整个领域的知识

目前,各个专业领域的许多努力都旨在克服这一挑战。计算机领域的专家充分利用代理强大的代码理解和调试能力。在化学和材料领域,研究人员为智能体配备了大量通用或特定任务的工具,以更好地理解领域知识。agent进化为综合性的科学助手,精通在线研究和文档分析,填补数据空白。它们还使用机器人api进行现实世界的交互,从而实现诸如材料合成和机制发现之类的任务

生命周期导向:构建一个具有普遍能力的智能体,能够在开放、未知的世界中不断探索、发展新技能,并保持长期的生命周期,这是一个巨大的挑战。这一成就被认为是AGI领域的一个关键里程碑

E.g., Voyager**从类似于AutoGPT的概念中汲取灵感,成为《我的世界》中第一个基于LLM的体现终身学习代理,其长期目标是“发现尽可能多的不同事物”。它引入了一个用于存储和检索复杂操作可执行代码的技能库,以及一个包含环境反馈和错误纠正的迭代提示机制。这使得智能体能够自主探索和适应未知的环境,而无需人工干预。[译]VOYAGER:一个使用大语言模型的开放式具身智能体——官网版 - 知乎 (zhihu.com)

5.2 多代理场景

尽管单代理具有很强的文本理解和生成能力,但它们本质上是作为孤立的实体运行的,它们缺乏与其他代理协作以及从社会互动中获取知识的能力。这种限制了单个代理从与其他代理的多轮对话反馈中学习的潜力;此外,它们不能有效地部署在需要多个代理之间协作和信息共享的复杂场景中。

多代理场景的两种互动形式:合作型互动(又可分为有序性合作和无序性合作)、对抗型互动。

合作型互动:协作式多智能体系统是实际应用中应用最广泛的系统模式。在这样的系统中,个体代理评估其他代理的需求和能力,并积极寻求与他们合作的行动和信息共享。这种方法带来了许多潜在的好处,包括提高任务效率,改善集体决策,解决单个智能体无法独立解决的复杂现实问题,最终实现协同互补的目标。

现有的多智能体协作应用又可以分为无序协作和有序协作:

  1. 无序协作:每个代理都可以自由地公开表达它们的观点和意见,且可以为目前负责的任务提供反馈和建议。
    E.g ChatLLM network[2304.12998] ChatLLM Network: More brains, More intelligence (arxiv.org)

  2. 有序协作:当系统中的Agent遵循特定的规则时,例如按顺序一个接一个地表达自己的意见,下游Agent只需要关注上游的输出;这使任务完成效率显著提高。

对抗型互动:Agent在同一个系统中互相竞争;在竞争环境中,Agent可以通过动态互动迅速调整策略,努力选择最有利或最合理的行动来应对其他Agent引起的变化

5.3 人-代理交互场景

涉及Agent与人类合作完成任务。随着Agent能力的增强,人类的参与能有效地指导和监督Agent的行动,确保它们符合人类的需求和目标。

根据人类在系统中扮演的角色,又可以分为Instructor-Executor 模式和 Equal Partnership 模式

Instructor-Executor 模式:人类直接提供清晰具体的指令,Agent理解来自人类的自然语言命令,并将其转化为相应的动作

Equal Partnership 模式:有两种主要形式:

  1. Agent能够从人类的表达中检测到情感和情绪,最终创造出情感共鸣的对话

  2. 与人类平等的身份参与任务执行

5.4 不同领域的场景

社会科学:心理学(可以用于进行模拟实验;提供心理健康支持)、政治学与经济学、社会情景仿真模拟、法学、研究助理

自然科学:文件和数据管理、自然科学实验助理、自然科学教育者

工程学:土木工程、计算机科学与软件工程、工业自动化、机器人学

参考文献:

[2309.07864] The Rise and Potential of Large Language Model Based Agents: A Survey (arxiv.org)

[2308.11432] A Survey on Large Language Model based Autonomous Agents (arxiv.org)

[2304.03442] Generative Agents: Interactive Simulacra of Human Behavior (arxiv.org)


本文转载自: https://blog.csdn.net/weixin_49659123/article/details/136024048
版权归原作者 Sunny_AI_addict 所有, 如有侵权,请联系我们删除。

“详解AI Agent系列|(1)AI Agent到底是什么”的评论:

还没有评论