探索API主导的最佳AI创业项目商业模式
AI Agent架构概况:关于推理、规划和工具调用
AI Agent(智能体)是近来一个火热的话题。今天这篇文章就来聊一聊AI Agent背后的故事。这是一篇由IBM和微软的研究人员于2024年4月发表的名为《The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey》的论文,论文详细研究并分析了当前AI Agent架构的发展概况,主要关注AI Agent在实现复杂目标时所需的推理、规划和工具调用能力。
省流版综述
AI Agent技术正逐渐成为解决复杂任务中不可或缺的力量,尤其是在推理、规划和工具调用方面发挥着关键作用。在不同的应用场景下,单智能体(single-agent)和多智能体(multi-agent)系统各自展现出独特的优势。单智能体系统在任务定义明确且对外部反馈依赖较低的情况下表现出色,而多智能体系统则在需要多方协作和多路径并行处理任务的环境中显示出其独特的优势,但实现难度较大。为了提升AI Agent系统的有效性,必须对智能体进行细致的个性化设置,配备合适的工具,并赋予其强大的推理能力。此外,清晰的角色定义、动态的团队构建以及高效的信息共享机制是提高Agent系统性能的另外几个关键因素。
目前,AI Agent系统的研究仍面临一些挑战和局限性。评估标准的不一致性、现实应用场景的适应性、以及语言模型的内在偏差是当前研究中需要重点关注的问题。未来的研究可能会集中在建立更加全面和客观的评估体系上,提高AI Agent系统在真实世界场景中的可靠性和稳健(Robust)性,并探索减少系统偏差的有效方法。尽管当前的AI Agent系统尚未完全成熟,但它们在处理推理、规划和工具使用等方面的能力已经超越了传统的静态语言模型。随着技术的持续进步,预计AI Agent将在更多的领域中发挥关键作用,成为推动AI应用发展的重要环节。
以下是来自E2B的一张关于“AI Agents Landscape”的行业全景图。
背景介绍
自从ChatGPT发布以来,第一波生成式AI应用大多是基于“检索增强生成”(Retrieval Augmented Generation,简写为RAG)模式,通过聊天界面与文档语料库进行交互。尽管目前众多研究正致力于提高RAG系统的稳健性,但研究者们也在积极探索下一代AI应用的开发,其中AI Agent技术成为了一个共同关注的焦点。
与以往大语言模型(Large Language Model,LLM)的零样本提示(zero-shot prompting)相比,AI Agent允许用户进行更为复杂的交互和任务协调。AI Agent系统内置了规划、循环、反思等控制机制,这些机制充分利用了模型的内在推理能力,以实现从任务开始到结束的全流程处理。此外,AI Agent还能够调用工具、插件和执行函数,这使得它们能够胜任更多通用性的工作。
目前,学术界对于在解决复杂任务时,是单智能体系统还是多智能体系统更为有效,存在一定的讨论。单智能体架构在处理那些定义清晰、无需其他智能体角色或用户反馈的任务时表现出了其优势。相对地,多智能体架构则在需要多方协作和能够采取多条执行路径的情况下,展现出其独特的优势。
AI Agent(智能体)的分类
智能体(Agents):AI Agent是受语言模型驱动的实体,能够规划并在多次迭代中采取行动以执行目标。智能体架构可以由一个单智能体组成,或者由多个智能体协作解决问题。
通常,每个智能体都被赋予一个角色个性(persona)和访问各种工具的权限,这些工具将帮助它们独立或作为团队的一部分完成工作。一些智能体还包含一个记忆组件,可以在消息和提示之外保存和加载信息。在本文中,我们遵循包含“大脑、感知和行动”三个部分的智能体定义。这些组成部分满足了智能体理解、推理并对其周围环境采取行动的最低要求。
【拓展延伸】
我在之前的文章中介绍过的智能体/智能体平台包括:ChatGPT的GPT Store(GPTs),字节跳动的Coze和扣子,以及月之暗面的Kimi+,和百度的文心智能体平台。这些平台初期走的都是单智能体(single-agent)的路线,即由一个独立的智能体完成一项特定的任务。后来GPTs和Kimi+推出了在对话过程中以@
的形式使用其他智能体的功能,这便是当前多智能体(multi-agent)的雏形。
智能体角色个性(Agent Persona):智能体角色个性描述了智能体应该扮演的角色或个性,包括任何特定于该智能体的其他指令。角色个性还包含智能体可以访问的任何工具的描述。它们使智能体意识到自己的角色、工具的目的以及如何有效利用它们。研究人员发现,“塑造的个性确实影响了大型语言模型(LLM)在常见下游任务(例如撰写社交媒体帖子)中的行为”。与让模型逐步分解其计划的链式思考(CoT)相比,使用多个智能体角色来解决问题的方案也表现出了显著的改进。
工具(Tools):在AI智能体的背景下,工具代表模型可以调用的任何功能。它们允许智能体通过拉取或推送信息与外部数据源进行交互。以专业合同撰写智能体为例,该智能体被赋予了一个明确的角色个性,详细说明了撰写者的角色定位以及其需要完成的各类任务。此外,为了辅助合同撰写智能体更高效地工作,还为其配备了一系列的工具。这些工具包括但不限于:在文档中添加注释的功能、阅读和理解现有文档内容的能力,以及发送包含最终草稿的电子邮件的工具。通过这些工具,智能体能够在执行合同撰写任务时,更加灵活和专业。
【拓展延伸】
在GPTs或Coze/扣子创建个性化的智能体时,你可以自定义该智能体所需用到的插件(plugin),以增强智能体的能力。这些插件都是上面提到的智能体的工具。
单智能体架构(Single Agent Architectures):这些架构由一个语言模型驱动,将独立完成所有的推理、规划和工具执行。智能体被赋予一个系统提示和完成其任务所需的任何工具。在单智能体模式中,没有来自其他AI智能体的反馈机制;然而,可能有人提供反馈以指导智能体的选项。
多智能体架构(Multi-Agent Architectures):这些架构涉及两个或更多的智能体,每个智能体可以使用相同的语言模型或一组不同的语言模型。智能体可能可以访问相同的工具或不同的工具。每个智能体通常都有自己的角色个性。
多智能体架构可以在任何复杂性级别上拥有广泛的组织形式。在该论文中,研究人员将它们分为两个主要类别:垂直和水平。值得一提的是,这些类别代表了一个范围的两端,大多数现有的架构位于这两个极端之间。
垂直架构(Vertical Architectures):在这种结构中,一个智能体充当领导者,其他智能体直接向其报告。根据架构的不同,报告智能体可能只与领导智能体通信。或者,领导者可以定义为所有智能体之间的共享对话。垂直架构的定义特征包括有一个领导智能体和清晰的分工。
水平架构(Horizontal Architectures):在这种结构中,所有智能体都被视为平等的,并且是关于任务的一个群组讨论的一部分。智能体之间的通信发生在一个共享的线程中,每个智能体都可以看到其他智能体的所有消息。智能体也可以自愿完成特定任务或调用工具,这意味着它们不需要由领导智能体分配。水平架构通常用于协作、反馈和组讨论对任务总体成功至关重要的任务。
关键考量:打造有效的AI Agent
AI Agent旨在扩展语言模型的能力,以解决现实世界的任务。成功的实现需要强大的问题解决能力,使Agent能够在新任务上表现出色。为此,Agent需要具备推理和规划的能力,以及调用与外部环境互动的工具。
推理和规划的重要性
推理是构成人类认知的基础,它赋予我们决策、问题解决以及理解周围世界的能力。AI Agent若想要在复杂环境中有效互动、自主做出决策,并在多样化的任务中为人类提供帮助,强大的推理能力是不可或缺的。这种“行动”与“推理”的紧密结合,不仅让智能体能够迅速掌握新任务,即便在面对未知情境或信息不明确时,也能做出稳健的决策和推理。此外,智能体还需依赖推理能力,以便根据新的反馈或所学信息来调整它们的计划。缺乏推理能力的智能体在执行直接任务时,可能会误解指令、仅基于字面意思做出响应,或未能预见多步骤行动的后果。
规划是推理能力的另一重要应用,通常涉及五种主要方法:任务分解、多计划选择、外部模块辅助规划、反思与改进以及记忆增强规划。这些方法使得智能体能够将复杂任务细分为子任务、从多个候选计划中做出选择、利用现有的外部计划、根据新信息更新旧计划,或借助外部信息来优化计划。大多数智能体模型在采取行动前,都有一个专门的规划步骤,通过运用这些技术中的一个或多个来制定行动计划。例如,“像图一样计划”(Plan Like a Graph,PLaG)方法,通过将计划视作有向图,允许多个步骤并行执行,这在处理包含许多独立子任务的复杂问题时,相比其他方法能显著提升性能。
有效调用工具的重要性
与基础语言模型的直接提示相比,AI Agent的抽象层次更关键地体现在它们能够调用多种工具来解决复杂问题。这些工具赋予了智能体与外部数据源进行交互的能力,如通过API发送或检索信息。通常,需要大量工具调用的问题往往也伴随着对复杂推理的需求。
无论是单智能体还是多智能体架构,都可以通过结合推理和工具调用步骤来应对具有挑战性的任务。在解决这些问题时,智能体通常需要经过多次的推理、记忆和反思迭代,以确保问题解决的有效性和准确性。它们通过将大问题分解为一系列小的子问题,然后顺序使用合适的工具来解决每个子问题。此外,多智能体模式特别擅长处理需要并行处理和高稳健性的复杂任务,因为每个智能体都能够独立地处理自己的子问题。在多智能体模式中,通常首先将一个复杂的大问题分解为若干较小的任务,然后每个智能体利用自己独立的工具集来解决这些任务。这种方法不仅提高了问题解决的效率,也增强了系统的灵活性和稳健性。
单智能体架构(Single Agent Architectures)
对于单智能体,每种方法在采取行动之前都专门设有一个针对问题进行推理的阶段。研究人员根据智能体推理和工具调用能力选择了ReAct、RAISE、Reflexion、AutoGPT + P和LATS这几种单智能体架构进行讨论。
研究发现,智能体成功执行目标任务取决于适当的规划和自我修正。没有自我评估和制定有效计划的能力,单智能体可能会陷入无尽的执行循环,无法完成给定任务或返回不符合用户期望的结果。当任务需要直接的方法调用且不需要来自另一个智能体的反馈时,单智能体架构特别有用。
ReAct
ReAct(推理+行动)方法是一种让智能体首先针对特定任务形成思考,然后基于这些思考执行动作并观察结果的过程。这种方法在多样化的语言和决策任务中相比传统的零样本提示(zero-shot prompting)展现出更高的有效性,因为模型的整个思考过程都被记录下来了,从而提高了模型的可信度和人类的互操作性。在HotpotQA数据集上的评估中,ReAct方法的幻觉率仅为6%,而使用链式思考(CoT)方法的幻觉率为14%。
然而,ReAct方法也有其局限性,尤其是在模型可能会重复生成相同的想法和行动,而未能产生新想法来完成任务时。在任务执行过程中引入人类反馈可能会增强其有效性并提高在现实世界场景中的适用性。
RAISE
RAISE方法在ReAct方法的基础上增加了模拟人类短期和长期记忆的记忆机制,通过使用临时存储和长期存储的以往类似案例数据集来实现。这些组件的添加提升了智能体在较长对话中保持上下文的能力,并且通过微调模型,即使使用较小的模型也能获得最佳性能,展现了在效率和输出质量上超越ReAct的优势。尽管RAISE在某些方面显著改进了现有方法,但它在理解复杂逻辑方面存在挑战,限制了其在多种场景下的实用性。此外,RAISE智能体在其角色或知识方面经常出现幻觉,例如,一个没有明确角色定义的销售智能体可能会开始编写Python代码,而不是专注于其销售任务,有时还可能向用户提供误导性或错误的信息。尽管通过微调模型解决了一些问题,但幻觉仍是RAISE实现的一个限制。
Reflexion
Reflexion是一种单智能体模式,它通过语言反馈实现自我反思,利用成功状态、当前轨迹和持久记忆等指标,结合大语言模型评估器为智能体提供具体的反馈,从而提高了成功率并减少了与链式思考(CoT)和ReAct方法相比的幻觉发生。尽管Reflexion在某些方面取得了进步,但它也有局限性,包括容易陷入非最优的局部最小解,以及使用滑动窗口而非数据库来处理长期记忆,这限制了长期记忆的容量。此外,尽管Reflexion在性能上超越了其他单智能体模式,但在需要大量多样性、探索和推理的任务上,仍有提升性能的空间。
AutoGPT + P
AutoGPT + P(Planning,规划)是一种旨在解决用自然语言指挥机器人的智能体在推理方面的限制的方法。它结合了对象检测、对象可利用性映射(OAM)以及由大语言模型驱动的规划系统,使智能体能够探索环境中缺失的对象、提出替代方案或请求用户协助以实现目标。AutoGPT + P首先利用场景图像来检测物体,然后语言模型根据这些物体从四种工具中选择使用:计划工具、部分计划工具、建议替代方案工具和探索工具。这些工具不仅允许机器人生成完成目标的完整计划,还能够探索环境、做出假设并创建部分计划。
然而,语言模型并非完全独立生成计划。它与一个经典规划器协作,生成目标和步骤,后者使用规划领域定义语言(PDDL)执行计划。研究发现,大语言模型目前还无法直接将自然语言指令转换为执行机器人任务的计划,主要是因为它们的推理能力受限。通过将LLM的规划能力与经典规划器相结合,该方法显著改进了其他纯粹基于语言模型的机器人规划方法。尽管如此,AutoGPT + P作为一种新兴方法,也存在一些缺点,包括工具选择的准确性不一,有时可能会不恰当地调用某些工具或陷入循环。在需要探索的场景中,工具选择有时会导致不合逻辑的探索决策,例如在错误的地方寻找对象。此外,该框架在人类交互方面也存在限制,智能体无法寻求澄清,用户也无法在执行期间修改或终止计划。
LATS
Language Agent Tree Search(LATS)是一种单智能体架构,它通过使用树结构来协同规划、行动和推理。这种技术受到蒙特卡洛树搜索的启发,将状态表示为节点,而采取行动则视为在节点之间的遍历。LATS使用基于语言模型的启发式方法来搜索可能的选项,然后利用状态评估器来选择行动。与其他基于树的方法相比,LATS实现了自我反思的推理步骤,显著提升了性能。当采取行动后,LATS不仅利用环境反馈,还结合来自语言模型的反馈,以判断推理中是否存在错误并提出替代方案。这种自我反思的能力与其强大的搜索算法相结合,使得LATS在执行各种任务时表现出色。
然而,由于算法本身的复杂性以及涉及的反思步骤,LATS通常比其他单智能体方法使用更多的计算资源,并且完成任务所需的时间更长。此外,尽管LATS在相对简单的问答基准测试中表现良好,但它尚未在涉及工具调用或复杂推理的更复杂场景中得到测试和验证。这意味着尽管LATS在理论上具有强大的潜力,但在实际应用中可能需要进一步的调整和优化。
多智能体架构(Multi Agent Architectures)
多智能体架构通过智能体之间的通信和协作计划执行来实现目标,为基于技能的智能体分工和来自多样智能体角色的有益反馈提供了机会。这些架构通常按阶段工作,智能体团队在每个规划、执行和评估阶段动态地创建和重组。这种重组通过为特定任务分配专门的智能体并在不再需要时将其移除,实现了更优的结果。通过将智能体的角色和技能与手头任务相匹配,智能体团队能够提高准确性并缩短达成目标的时间。有效的多智能体架构的关键特性包括智能体团队中的清晰领导、动态团队构建以及团队成员之间的有效信息共享,以确保重要信息不会在无关的闲聊中丢失。
在多智能体系统的背景下,研究和框架(如“Embodied LLM Agents Learn to Cooperate in Organized Teams”、DyLAN、AgentVerse和MetaGPT)展示了如何通过智能体间的协作来促进目标的执行。这些方法旨在广泛覆盖与多智能体模式相关的关键主题和示例。通过智能体之间的协作和角色分配,这些架构能够更高效地处理复杂任务,同时减少完成任务所需的时间和提高整体准确性。
Embodied LLM Agents Learn to Cooperate in Organized Teams
在Xudong Guo等人的另一个研究中发现,领导智能体对于提升多智能体架构的表现至关重要。该架构通过设置一个领导智能体来实现垂直管理,同时允许智能体之间进行水平沟通,即除了与领导智能体交流外,智能体们还能相互之间直接交换信息。研究发现,有组织领导的智能体团队完成任务的速度比没有领导的团队快近10%。此外,他们发现在没有指定领导的团队中,智能体大部分时间都在相互下达指令(约占沟通的50%),其余时间则用于分享信息或请求指导。相反,在有指定领导的团队中,领导的60%沟通涉及给出方向,促使其他成员更多地专注于交换和请求信息。结果表明,当领导是人类时,智能体团队最为有效。
除了团队结构之外,研究强调采用“批评-反思”步骤的重要性,用于生成计划、评估表现、提供反馈和重组团队。他们的结果表明,具有动态团队结构和轮流领导的智能体在任务完成时间和平均沟通成本上都提供了最佳结果。最终,领导力和动态团队结构提高了团队整体的推理、规划和执行任务的能力。
DyLAN
DyLAN(Dynamic LLM-Agent Network,动态LLM-智能体网络)框架构建了一个专注于复杂任务如推理和代码生成的动态智能体结构。该框架通过评估每个智能体在上一轮工作中的贡献度,并仅将贡献最多的智能体带入下一轮执行,从而实现了一种水平式的工作模式,即智能体之间可以相互共享信息,而无需一个明确的领导者。DyLAN在多种衡量算术和一般推理能力的基准测试上展现了提升的性能,这突显了动态团队的重要性,并证明了通过持续地重新评估和排名智能体的贡献,能够构建出更适合完成特定任务的多智能体团队。
AgentVerse
AgentVerse是一种多智能体架构,它通过明确的团队规划来提升AI Agent的推理和问题解决能力。AgentVerse将任务执行划分为招聘、协作决策制定、独立行动执行和评估四个主要阶段,这些阶段可以根据目标的进展情况重复进行,直至最终目标达成。通过严格定义每个阶段,AgentVerse引导智能体集合更有效地进行推理、讨论和执行。
例如,在招聘阶段,智能体会根据目标进展情况被添加或移除,确保在问题解决的任何阶段都有合适的智能体参与。研究者发现,水平团队通常更适合需要协作的任务,如咨询,而垂直团队则更适合那些需要明确划分责任和工具调用的任务。这种结构化的方法使得AgentVerse能够有效地指导智能体团队,以适应不同任务的需求,从而提高整体的执行效率和问题解决能力。
MetaGPT
MetaGPT是一种多智能体架构,旨在解决智能体在共同解决问题时可能出现的无效交流问题。在很多多智能体系统中,智能体之间的对话可能导致无关紧要的闲聊,这并不有助于推进任务目标。MetaGPT通过要求智能体生成结构化的输出,如文档和图表,而非交换非结构化的聊天记录,来解决这一问题。
此外,MetaGPT还实现了一种“发布-订阅”的信息共享机制。这种机制允许所有智能体在一个地方共享信息,但只阅读与其各自的目标和任务相关的信息。这不仅简化了整体目标的执行流程,还减少了智能体之间的交流噪声。在HumanEval和MBPP等基准测试中,与单智能体架构相比,MetaGPT的多智能体架构展现出了显著更好的性能。
核心发现
无论是单智能体还是多智能体架构,它们的目标都是增强语言模型的功能,使其能够独立或协同人类用户来执行任务。当前大多数智能体实现都遵循计划、行动和评估的过程,以迭代解决问题。研究发现,单智能体和多智能体架构在复杂目标执行上都展现出了引人注目的性能。在各种架构中,清晰的反馈、任务分解、迭代细化和角色定义都能提高智能体的性能。
单智能体 VS 多智能体
在选择单智能体与多智能体架构的典型条件方面,研究发现单智能体模式通常最适合工具列表有限且流程明确定义的任务。单智能体架构不仅实现起来相对简单,因为只需要定义一个智能体和一套工具,而且不会遇到来自其他智能体的不良反馈或分心的无关对话。然而,如果它们的推理和细化能力不强,可能会陷入执行循环,无法朝着目标取得进展。
多智能体架构特别适合于那些能够从多个智能体角色反馈中受益的任务,比如文档生成。在这样的架构中,一个智能体可以对另一个智能体所撰写的文档给出明确反馈。此外,当任务需要同时处理多个不同任务或工作流程时,多智能体系统也显示出其效用。研究还表明,在缺乏示例的情况下,多智能体模式相较于单智能体能够更好地执行任务。由于多智能体系统的复杂性,它们往往需要有效的对话管理和明确的领导来指导。
尽管单智能体和多智能体模式在它们的能力表现上存在差异,但研究指出,如果提供给智能体的提示本身已经足够优秀,那么多智能体间的讨论可能并不能进一步提升其推理能力。这意味着,在决定采用单一智能体还是多智能体架构时,应更多地考虑他们的具体用例和上下文需求,而不是仅仅基于推理能力这一单一标准。
智能体与异步任务执行
智能体在处理异步任务执行方面扮演着关键角色。虽然单个智能体有能力同时启动多个异步任务,但其工作模式本质上并不支持跨不同执行线程的责任分配。这表示,任务虽然是并发处理的,但并不等同于由独立决策实体管理的真正并行处理。因此,单个智能体在执行任务时必须按顺序来,完成一批异步操作后才能继续进行评估和下一步操作。相比之下,多智能体架构允许每个智能体独立运作,从而实现了更为灵活和动态的职责分配。这种架构不仅使得不同领域或目标下的任务可以同时进行,而且还使得每个智能体都能够独立地推进自己的任务,而不受其他智能体任务状态的制约,体现了一种更为灵活和高效的任务管理策略。
反馈和人类监督
反馈和人类监督对智能体系统的影响至关重要。在解决复杂问题时,我们很少能在第一次尝试中就提出正确且稳健的解决方案。通常,会先提出一个可能的解决方案,然后对其进行批评和改进,或者咨询他人以获得不同角度的反馈。对于智能体而言,这种迭代反馈和改进的理念同样重要,有助于它们解决复杂问题。这是因为语言模型往往在回答的早期就急于给出答案,这可能导致它们逐渐偏离目标状态,形成所谓的“雪球效应”。通过实施反馈机制,智能体更有可能纠正自己的方向,从而达到目标。
此外,纳入人类监督可以改善即时结果,使智能体的响应更符合人类的预期,减少智能体采取低效或错误方法解决问题的可能性。至今为止,将人类验证和反馈纳入智能体架构已被证明能够产生更可靠和值得信赖的结果。然而,语言模型也表现出了迎合用户立场的倾向,即使这意味着放弃公正或平衡的观点。特别是,AgentVerse论文描述了智能体如何容易受到其他智能体反馈的影响,哪怕这些反馈本身并不合理。这可能导致多智能体架构制定出偏离目标的错误计划。虽然强有力的提示可以帮助缓解这一问题,但开发智能体应用时应意识到在实施用户或智能体反馈系统时存在的风险。
群组对话与信息共享
在多智能体架构中,智能体之间的信息共享和群组对话存在挑战。多智能体模式更倾向于进行非任务相关的交流,比如互相问候,而单智能体模式则因为没有团队需要动态管理,更倾向于专注于手头任务。在多智能体系统中,这种多余的对话可能会削弱智能体有效推理和正确执行工具的能力,最终分散智能体的注意力,降低团队效率。特别是在水平架构中,智能体通常共享一个群聊,能够看到对话中每个智能体的每一条消息。通过消息订阅或过滤机制,可以确保智能体只接收与其任务相关的信息,从而提高多智能体系统的性能。
在垂直架构中,任务通常根据智能体的技能被明确划分,这有助于减少团队中的干扰。然而,当领导智能体未能向辅助智能体发送关键信息,且没有意识到其他智能体未获得必要信息时,就会出现挑战。这种失误可能导致团队混乱或结果失真。解决这一问题的一种方法是在系统提示中明确包含有关访问权限的信息,以便智能体进行适当情境的交互。
角色定义与动态团队
角色定义对于单智能体和多智能体架构都至关重要。在单智能体架构中,清晰的角色定义确保智能体专注于既定任务,正确执行工具,并减少对其他能力的幻觉。在多智能体架构中,角色定义同样确保每个智能体都明白自己在团队中的职责,不会承担超出其描述能力和范围的任务。此外,建立一个明确的团队领导者可以简化任务分配,从而提高多智能体团队的整体表现。为每个智能体定义清晰的系统提示,可以减少无效沟通,避免智能体进行无关的讨论。
动态团队的概念,即根据需要将智能体引入或移出系统,也被证明是有效的。这确保了参与规划或执行任务的所有智能体都适合当前工作的需求,从而提高了团队的效率和任务执行的相关性。
总结
无论是单智能体还是多智能体系统,在处理需要推理和工具调用的复杂任务时都表现出色。单智能体在有明确角色定位、工具支持、能够接收人类反馈,并能逐步向目标推进的情况下,工作效果最佳。而在构建协作的智能体团队以共同完成复杂目标时,如果团队中的智能体具备以下特征之一,将大有裨益:有明确的领导、有清晰的规划阶段并能根据新信息不断优化计划、能有效过滤信息以优化沟通,以及能够根据任务需要调整团队成员以确保他们具备相关技能。智能体架构若能融入这些策略之一,其表现很可能会超越单一智能体系统或缺乏这些策略的多智能体系统。
AI Agent的局限性与未来研究方向
尽管AI Agent架构在很多方面显著增强了语言模型的功能,但在评估、整体的可靠性,以及解决由底层语言模型带来的问题等方面,仍然面临着挑战。
智能体评估的挑战
尽管大语言模型可以通常通过一套标准化的测试来评估其理解和推理能力,但对智能体的评估却没有统一的标准。许多研究团队为他们开发的智能体系统设计了独有的评估标准,这使得不同智能体系统之间的比较变得困难。此外,一些新设立的智能体评估标准包含手工打造的复杂测试集,这些测试集的评分需要人工完成。虽然这能够提供对智能体能力深度评估的机会,但它们通常缺乏大规模数据集的稳健性,并且由于评分者可能同时是智能体系统的开发者,这也可能引入评估偏见。此外,智能体在连续的迭代中生成一致答案的能力也可能因为模型、环境或问题状态的变化而受到影响,这种不稳定性在小规模且复杂的评估集中尤为突出。
数据污染和静态基准的影响
一些研究人员使用标准的大语言模型基准来评估智能体系统的性能。然而,最新研究揭示了这些模型训练数据中可能存在数据污染问题。当基准测试问题被稍作修改后,模型的性能就会急剧下降,这一现象能够证实数据污染的存在。这一发现对语言模型及其驱动的智能体系统在基准测试中取得的高分提出了质疑,因为这些得分可能并不真实反映模型的实际能力。
同时,随着LLM技术的进步,现有的数据集往往跟不上模型日益增长的能力,因为这些基准测试的复杂度水平通常是固定不变的。为了应对这一挑战,研究人员已经开始开发动态基准测试,这些测试能够抵御简单的记忆行为。此外,他们还在探索创建完全合成的基准测试,这些基准测试将基于用户的特定环境或用例,以更准确地评估智能体的性能。尽管这些方法可能有助于减少数据污染,但减少人类的参与可能会增加评估结果在准确性和问题解决能力方面的不确定性。
基准范围和可转移性
许多语言模型基准被设计为在没有工具调用的单次迭代中解决,例如MMLU或GSM8K。虽然这些对于衡量基础语言模型的能力很重要,但它们并不是衡量智能体能力好的标准,因为它们没有考虑到智能体系统在多个步骤上推理或访问外部信息的能力。StrategyQA通过评估模型在多个步骤上的推理能力来改进这一点,但答案限于是/否响应。随着行业继续转向以智能体为重点的用例,将需要额外的措施来更好地评估智能体在涉及超出其训练数据的工具的任务中的性能和泛化能力。
一些特定的智能体基准,如AgentBench,评估基于语言模型的智能体在各种不同环境中的表现,如网页浏览、命令行界面和视频游戏。这更好地表明了智能体通过推理、规划和调用工具来实现给定任务的泛化能力。像AgentBench和SmartPlay这样的基准引入了客观的评估指标,旨在评估实现的成功率、输出与人类响应的相似度和整体效率。虽然这些客观指标对于理解实现的整体可靠性和准确性很重要,但考虑更微妙或主观的性能度量也很重要。工具使用效率、可靠性和规划稳健性等指标几乎和成功率一样重要,但更难衡量。这些指标的许多需要人类专家评估,与LLM作为评判的评估相比,这可能是昂贵且耗时的。
现实世界的适用性
目前,许多基准测试主要集中在评估智能体系统解决逻辑问题或进行电子游戏的能力上。这些测试的结果确实为我们提供了智能体系统潜在能力的线索,但它们是否能够准确反映智能体在现实世界任务中的表现,目前尚无定论。现实世界的数据往往更为复杂和多变,涉及的范围也远超现有基准测试的覆盖。
WildBench是一个典型的例子,它基于与ChatGPT进行的570,000次真实对话的数据集,因此包含了广泛的任务和情景,从而更全面地评估智能体的性能。尽管WildBench能够覆盖多样化的主题,但大多数现实世界的基准测试还是更倾向于专注于特定的任务。例如,SWE-bench就是一个专门针对Python软件工程任务的基准测试,它使用了GitHub上的现实世界问题集。这种基准测试在评估设计用于编写Python代码的智能体时非常有用,能够很好地展示智能体处理代码相关问题的推理能力。然而,当评价智能体处理其他编程语言的能力时,这类基准测试的参考价值就会大打折扣。
智能体系统中的偏见和公平性
语言模型在评估过程中以及社会公平性方面常常表现出偏见。此外,智能体系统,被指出存在不够稳健的问题,它们有可能展现出不当行为,并能产生比传统语言模型更隐蔽的内容,这些都构成了严峻的安全挑战。还有研究观察到,即使在被引导从特定的政治角度进行辩论时,语言模型驱动的智能体仍然倾向于遵循模型内部固有的偏见,这可能导致推理过程中的错误。
随着智能体所承担的任务变得更加复杂,以及它们在决策过程中的参与度增加,研究者们需要更加深入地研究并解决这些系统中的偏见问题。这对研究者来说无疑是一项巨大的挑战,因为在创建可扩展和创新的评估基准时,通常需要语言模型一定程度的参与。然而,为了真正评估基于语言模型的智能体的偏见,所采用的基准测试必须包含人类的评估,以确保评估的准确性和公正性。
总结
AI Agent能够有效增强LLM语言模型的推理、规划和工具调用能力。无论是单智能体还是多智能体架构,都展现出了解决复杂问题所需的问题解决能力。最适宜的智能体架构取决于具体的应用场景。不过,无论是哪种架构,表现优异的智能体系统通常会采用以下至少一种策略:明确的系统提示、清晰的领导和任务分配、专门的推理与规划到执行再到评估的流程、灵活的团队结构、人工或智能体的反馈机制,以及智能的消息筛选功能。这些技术的运用使得智能体在多种测试基准中表现得更加出色。
尽管AI驱动的智能体目前展现出巨大的潜力,但它们仍然面临着一些挑战和需要改进的地方。为了实现更加可靠的智能体,我们必须在不久的将来解决包括全面的基准测试、现实世界的适用性,以及减少语言模型中的有害偏见等问题。研究者通过回顾从静态语言模型到更加动态和自主的智能体的演变,旨在提供一个全面的视角来理解当前AI Agent领域的格局,并为那些正在使用现有智能体架构或正在开发定制智能体架构的个体或组织提供有价值的见解。
写在最后
本文主要是对论文《The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey》及相关文献的翻译、总结和学习,仅作学习交流使用。
参考文献:
- Masterman, Tula et al. The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey. 2024. arXiv: 2404.11584 [cs.AI]. URL: https://arxiv.org/abs/2404.11584
- Xudong Guo et al. Embodied LLM Agents Learn to Cooperate in Organized Teams. 2024. arXiv: 2403.12482 [cs.AI].
- Weize Chen et al. AgentVerse: Facilitating Multi-Agent Collaboration and Exploring Emergent Behaviors. arXiv:2308.10848 [cs]. Oct. 2023. URL: http://arxiv.org/abs/2308.10848.
文章转自微信公众号@AI信息Gap