微信扫码
与创始人交个朋友
我要投稿
这篇综述论文针对人工智能Agent的最新进展进行了调研,重点关注了它们在增强推理、规划和工具执行能力的复杂目标的能力。本工作的主要目标是:a) 传达现有人工智能Agent实现的当前能力和局限性,b) 分享我们对这些系统运作的观察所获得的见解,以及 c) 为未来人工智能Agent设计的发展提出重要的考虑因素。我们通过提供单Agent和多Agent架构的概览,识别设计选择中的关键模式和分歧,并评估它们对实现提供的目标的总体影响来实现这一点。我们的贡献概述了在选择Agent架构时的关键主题,领导对Agent系统的影响,Agent通信风格,以及规划、执行和反思的关键阶段,这些阶段使得健壮的人工智能Agent系统成为可能。
从对最近的GPT-4等基础模型的研究开始,并通过AutoGPT和BabyAGI等开源项目推广,研究社区已经尝试构建基于自主Agent的系统。
与大型语言模型的零次提示不同,在零次提示中用户在开放式文本字段中输入并获得无需额外输入的结果,Agent允许更复杂的交互和编排。特别是,Agent系统具有规划、循环、反思和其他控制结构的概念,这些结构充分利用了模型固有的推理能力来端到端完成任务。再加上使用工具、插件和函数调用的能力,Agent被赋予了做更多通用工作的能力。
在社区中,目前有一个关于单Agent系统还是多Agent系统最适合解决复杂任务的辩论。虽然单Agent架构在问题定义明确且不需要其他Agent角色或用户的反馈时表现出色,但多Agent架构在需要协作和多个不同执行路径时更倾向于蓬勃发展。
Agent:AI Agent是由语言模型驱动的实体,能够规划并在多次迭代中采取行动以执行目标。AI Agent架构由单个Agent组成,或多个Agent共同协作解决问题。通常,每个Agent都被赋予一个角色,并可以访问各种工具,这些工具将帮助它们独立或作为团队的一部分完成工作。一些Agent还包含一个记忆组件,它们可以在消息和提示之外保存和加载信息。在本文中,我们遵循包含“大脑、感知和行动”的Agent定义。这些组件满足了Agent理解、推理并对其周围环境采取行动的最低要求。
Agent角色:Agent角色描述了Agent应扮演的角色或个性,包括对该Agent特定的任何其他指令。角色还包含Agent可以访问的任何工具的描述。它们使Agent意识到自己的角色、工具的目的以及如何有效利用它们。研究人员发现,“塑造的个性确实影响了大型语言模型(LLM)在常见下游(即后续)任务中的行为,例如撰写社交媒体帖子”。使用多个Agent角色解决问题的解决方案也显示出与被要求逐步分解其计划的链式思考(CoT)提示相比有显著改进。
工具:在AI Agent的背景下,工具代表模型可以调用的任何功能。它们允许Agent与外部数据源交互,通过拉取或推送信息到该源。一个Agent角色及其相关工具的例子是一个专业合同撰写人。该撰写人被赋予一个解释其角色和必须完成的任务类型的人物角色。它还被赋予了与添加文档注释、阅读现有文档或发送带有最终草稿的电子邮件相关的工具。
单Agent架构:这些架构由一个语言模型驱动,并将独立执行所有的推理、规划和工具执行。Agent被赋予一个系统提示和完成其任务所需的任何工具。在单Agent模式中,没有来自其他AIAgent的反馈机制;然而,可能有人类提供反馈以指导Agent的选项。
多Agent架构:这些架构涉及两个或更多Agent,其中每个Agent可以使用相同的语言模型或一组不同的语言模型。Agent可以访问相同的工具或不同的工具。每个Agent通常都有自己的角色。多Agent架构可以在任何复杂性级别上拥有各种组织。在本文中,我们将它们分为两个主要类别:垂直和水平。需要牢记的是,这些类别代表了频谱的两端,大多数现有的架构都位于这两个极端之间。
垂直架构:在这种结构中,一个Agent充当领导者,其他Agent直接向它们报告。根据架构的不同,报告Agent可能只与领导Agent通信。或者,可以通过所有Agent之间的共享对话来定义领导者。垂直架构的定义特征包括有一个领导Agent和明确的分工。
水平架构:在这种结构中,所有Agent都被视为平等的,并且是关于任务的一个组讨论的一部分。Agent之间的通信发生在一个共享线程中,每个Agent都可以看到其他Agent的所有消息。Agent也可以自愿完成特定任务或调用工具,这意味着它们不需要由领导Agent分配。水平架构通常用于协作、反馈和组讨论对任务总体成功至关重要的任务。
多Agent系统开发的复杂性:在多Agent场景中,开发需要仔细创建和管理多个模型和Agent。这对平台的多功能性和便捷性提出了高要求。特别是需要支持Agent通过不同的初始配置使其专注于不同方面的功能;多Agent应用可能需要Agent按照标准化操作程序(SOP)或更动态的工作流程执行;Agent之间的通信模式可以是一对一或广播(例如,Agent的讨论组)。因此,从开发人员的角度来看,他们希望有一个便捷的平台,可以提供简洁明了的编程模式,同时处理所有这些方面,加速和促进开发周期。然而,同时实现多功能性和便捷性需要精心设计并权衡取舍。
容错机制:当前LLM仍然存在诸如幻觉、指令跟随不足等问题,外部工具的引入也带来了额外的不确定性。从多Agent系统鲁棒性的角度来看,一个意外的误差或响应可以传播到整个系统。虽然LLMs可能有助于识别和管理这些错误,但确定它们是否能够自行解决错误并自动提供错误校正所需的必要信息仍然是一个挑战。因此,在开发多Agent应用时,设计包含LLMs的容错机制是一个关键挑战。
多模态数据的兼容:在多Agent应用中支持多模态数据需要一种全面和系统化的方法。这包括对数据存储、呈现、用户交互、消息传输、通信等方面的兼容。然而这也带来了新的挑战,包括确保不同格式之间的数据一致性、在数据传输和Agent通信期间保持高性能,以及避免为开发人员和用户引入复杂概念。而目前并没有通用的平台级编程接口来支持多模态应用。
分布式应用的编程困难和系统设计挑战:多Agent应用的工业导向场景是:Agent由不同的组织管理,并被分配在不同的机器上运行。因而通常要求开发人员在设计阶段具有分布式系统编程和优化的专业知识。此外分布式应用通常需要在开发和测试中付出额外的努力,特别是在调试和诊断分布在分布式进程或Agent中的问题时。因此,对于开发人员来说,有效地解决这些问题以确保有效的系统运行是一个挑战。
Agent被设计为扩展语言模型的能力,以解决现实世界的挑战。成功的实现需要强大的问题解决能力,使Agent能够在新颖的任务上表现良好。为了有效解决现实世界的问题,Agent需要具备推理和规划的能力,以及调用与外部环境交互的工具。在本节中,我们探讨了为什么推理、规划和调用工具对Agent的成功至关重要。
推理是人类认知的基本构建块,使人们能够做出决策、解决问题,并理解周围的世界。如果人工智能Agent要有效地与复杂环境交互、做出自主决策,并在广泛的任务中协助人类,它们需要强大的推理能力。这种“行动”和“推理”之间的紧密协同关系使得能够快速学习新任务,并在以前未曾见过的情况或信息不确定性下进行强大的决策或推理。此外,Agent需要推理来根据新的反馈或所学信息调整其计划。如果缺乏推理能力的Agent被指定执行简单任务,它们可能会误解查询、基于字面理解生成响应,或者未能考虑到多步骤的影响。规划,需要强大的推理能力,通常分为五种主要方法:任务分解、多计划选择、外部模块辅助规划、反思和完善以及记忆增强规划。这些方法允许模型将任务分解为子任务、从生成的许多选项中选择一个计划、利用现有的外部计划、根据新信息修订以前的计划,或者利用外部信息来改进计划。大多数Agent模式都有一个专门的规划步骤,在执行任何动作之前调用其中一个或多个这些技术来创建计划。例如,像图表一样规划(PLaG)是一种将计划表示为有向图的方法,其中多个步骤并行执行。这可以在包含许多独立子任务且受益于异步执行的任务上提供显着的性能增益。
Agent抽象相对于提示型基础语言模型的一个关键优势是Agent能够通过调用多个工具来解决复杂问题。这些工具使Agent能够与外部数据源交互,从现有的API发送或检索信息,等等。需要大量工具调用的问题通常与需要复杂推理的问题密切相关。单一Agent和多Agent架构都可以通过使用推理和工具调用步骤来解决具有挑战性的任务。许多方法使用多次推理、记忆和反思来有效且准确地完成问题。它们通常通过将一个较大的问题分解为较小的子问题,然后按顺序使用适当的工具解决每个子问题来实现这一点。其他工作着重于推进Agent模式,强调将较大的问题分解为较小的子问题虽然可以有效解决复杂任务,但单一Agent模式常常难以完成所需的长序列。多Agent模式可以解决并行任务和稳健性问题,因为每个个体Agent可以独立处理各自的子问题。许多多Agent模式首先将复杂问题分解为几个较小的任务。然后,每个Agent使用自己独立的工具集,独立地解决每个任务。
在本节中,我们突出了一些显著的单一Agent方法,如ReAct、RAISE、Reflexion、AutoGPT + P和LATS。这些方法中每一个都包含一个专门的阶段,用于在采取任何行动之前对问题进行推理,以推进目标。我们选择这些方法是基于它们对Agent的推理和工具调用能力的贡献。
我们发现,Agent成功地执行目标取决于适当的规划和自我纠正。如果没有自我评估和创建有效计划的能力,单一Agent可能会陷入无尽的执行循环,永远无法完成给定的任务或返回不符合用户期望的结果。我们发现,当任务需要直接的功能调用且不需要来自另一个Agent的反馈时,单一Agent架构特别有用。
ReAct:在ReAct(Reason + Act)方法中,Agent首先针对给定任务写下一个想法。然后,它根据这个想法执行一个动作,并观察输出。这个循环可以重复直到任务完成。当应用于多样化的语言和决策任务时,与在相同任务上的零提示相比,ReAct方法表现出了更高的效果。它还提供了更好的人类互操作性和可信度,因为模型的整个思维过程都被记录下来。在HotpotQA数据集上评估时,与使用“链式思维”(CoT)方法相比,ReAct方法只有6%的时间是虚构的,而使用CoT方法则为14%。然而,ReAct方法也存在一些局限性。尽管交织推理、观察和行动提高了可信度,但模型可能会重复生成相同的想法和动作,并且无法产生新的想法来促使完成任务并退出ReAct循环。在执行任务过程中引入人类反馈可能会增加其有效性和适用性。
RAISE:RAISE方法是基于ReAct方法构建的,增加了一个模仿人类短期和长期记忆的记忆机制。它通过使用一个用于短期存储的scratchpad和一个用于长期存储的类似以前示例的数据集来实现这一点。通过添加这些组件,RAISE提高了Agent在较长对话中保持上下文的能力。该论文还强调,即使使用较小的模型,对模型进行微调也会为其任务带来最佳性能。他们还表明,RAISE在效率和输出质量方面优于ReAct。虽然RAISE在某些方面显著改进了现有方法,但研究人员还是指出了一些问题。首先,RAISE在理解复杂逻辑方面存在困难,从而在许多情况下限制了其实用性。此外,RAISEAgent在角色或知识方面经常出现幻觉。例如,一个没有明确定义角色的销售Agent可能会保留编写Python代码的能力,这可能使他们开始编写Python代码而不是专注于他们的销售任务。这些Agent可能还会给用户提供误导性或不正确的信息。通过微调模型解决了这个问题,但研究人员仍然强调RAISE实现中幻觉是一个限制。
Reflexion:Reflexion是一种使用语言反馈进行自我反思的单一Agent模式。通过利用诸如成功状态、当前轨迹和持久内存等指标,该方法使用LLM评估器向Agent提供具体和相关的反馈。这导致了成功率的提高以及与“链式思维”和ReAct相比的幻觉减少。尽管有这些进步,Reflexion的作者们还是确定了该模式的各种局限性。主要是,Reflexion容易受到“非最优局部最小解”的影响。它还使用滑动窗口进行长期记忆,而不是数据库。这意味着长期记忆的容量受到语言模型的标记限制。最后,研究人员指出,虽然Reflexion超越了其他单一Agent模式,但在需要大量多样性、探索和推理的任务上仍有改进的机会。
AutoGPT + P:AutoGPT + P(Planning)是一种解决自然语言控制机器人的Agent推理限制的方法。AutoGPT+P结合了对象检测和对象可供性映射(OAM)以及由LLM驱动的规划系统。这使得Agent能够探索环境以寻找缺失的对象,提出替代方案,或者请求用户协助达到其目标。AutoGPT+P首先使用场景图像检测出存在的对象。然后,语言模型使用这些对象从四个选项中选择要使用的工具:规划工具、部分规划工具、建议替代工具和探索工具。这些工具允许机器人不仅生成完成目标的完整计划,还可以探索环境、进行假设,并创建部分计划。然而,语言模型并不完全自行生成计划。相反,它生成目标和步骤以与经典规划器并行工作,后者使用规划领域定义语言(PDDL)执行计划。该论文发现,“目前LLMs缺乏将自然语言指令直接转换为执行机器人任务计划的能力,主要是由于它们受限的推理能力”。通过将LLM的规划能力与经典规划器结合起来,他们的方法在基于纯语言模型的机器人规划方面取得了显著改进。与大多数首次尝试相同,AutoGPT+P也不是没有缺点。工具选择的准确性各不相同,某些工具被错误地调用或陷入循环。在需要进行探索的情景中,工具选择有时会导致不合逻辑的探索决策,如在错误的地方寻找对象。该框架在人机交互方面也存在局限性,Agent无法寻求澄清,用户也无法在执行过程中修改或终止计划。
LATS:语言Agent树搜索(LATS)是一种利用树来协同规划、行动和推理的单一Agent方法。这种技术受到蒙特卡洛树搜索的启发,将状态表示为节点,将采取行动表示为在节点之间进行遍历。它使用基于LM的启发式方法来搜索可能的选项,然后使用状态评估器选择一个行动。与其他基于树的方法相比,LATS实现了一个自我反思的推理步骤,这极大地提高了性能。当执行一个行动时,除了环境反馈外,还使用来自语言模型的反馈来确定推理中是否存在任何错误,并提出替代方案。这种自我反思能力与强大的搜索算法相结合,使得LATS在各种任务中表现非常出色。然而,由于算法的复杂性和涉及的反思步骤,LATS通常需要更多的计算资源并且完成时间更长,相比其他单一Agent方法。该论文还使用相对简单的问答基准,并未在涉及工具调用或复杂推理的更健壮场景中进行测试。
在本节中,我们审查了几个具有多Agent架构的关键研究和样本框架,例如“在有组织的团队中,具有体现型LLMAgent学会合作”、DyLAN、AgentVerse和MetaGPT。我们重点介绍了这些实现如何通过Agent间通信和协作计划执行来促进目标的实现。这并不打算是所有Agent框架的详尽列表,我们的目标是提供与多Agent模式相关的关键主题和示例的广泛覆盖。
多Agent架构为基于技能的智能分工和来自各种Agent人的有益反馈创造了机会。许多多Agent架构分阶段工作,其中Agent团队在每个规划、执行和评估阶段都会动态创建和重新组织。这种重新组织提供了优越的结果,因为专业Agent人被用于特定任务,并在不再需要时移除。通过将Agent人的角色和技能与手头任务匹配,Agent团队可以实现更高的准确性,并减少达成目标的时间。有效多Agent架构的关键特征包括Agent团队中的明确领导、动态团队构建以及团队成员之间的有效信息共享,以防重要信息在多余的交流中丢失。
Embodied LLM Agents Learn to Cooperate in Organized Teams.
郭等人的研究展示了领导Agent对整个Agent团队效率的影响。该架构包含一个垂直组件,即领导Agent,以及一个水平组件,即Agent除了与领导者交谈外,还可以与其他Agent进行对话。他们的研究结果表明,有组织的领导者完成任务的Agent团队比没有领导者的团队快近10%。此外,他们发现,在没有指定领导者的团队中,Agent人将大部分时间花在相互下命令(约占通信的50%),其余时间则用于分享信息或请求指导。相反,在有指定领导者的团队中,领导者的60%通信涉及下达指令,促使其他成员更多地专注于交换和请求信息。他们的结果表明,当领导者是人类时,Agent团队最有效。
除了团队结构之外,该论文强调了采用“批评-反思”步骤生成计划、评估性能、提供反馈和重新组织团队的重要性。他们的结果表明,具有动态团队结构和轮换领导的Agent提供了最佳结果,无论是完成任务的时间还是平均通信成本都最低。最终,领导力和动态团队结构提高了整个团队的推理、规划和执行任务的能力。
DyLAN
动态LLMAgent网络(DyLAN)框架创建了一个专注于复杂任务如推理和代码生成的动态Agent结构。DyLAN具有一个特定的步骤,用于确定每个Agent在上一轮工作中贡献了多少,并仅将顶级贡献者移至下一轮执行。由于Agent人可以彼此共享信息且没有明确定义的领导者,因此这种方法是水平的。DyLAN在衡量算术和一般推理能力的各种基准上表现出了改进的性能。这突显了动态团队的影响,并表明通过持续重新评估和排名Agent的贡献,我们可以创建更适合完成给定任务的Agent团队。
AgentVerse
像AgentVerse这样的多Agent架构展示了群体规划的不同阶段如何改善AIAgent的推理和问题解决能力。AgentVerse包含四个主要阶段用于任务执行:招募、协作决策制定、独立行动执行和评估。直到达到整体目标为止,这些阶段可以重复进行。通过严格定义每个阶段,AgentVerse有助于指导Agent组更有效地推理、讨论和执行。举例来说,招募步骤允许根据朝着目标的进展移除或添加Agent。这有助于确保在解决问题的任何阶段都有适当的Agent参与。研究人员发现,水平团队通常最适合于咨询等协作任务,而垂直团队更适合于需要对工具调用的责任进行更清晰的隔离的任务。
MetaGPT
许多多Agent架构允许Agent人在共同解决问题的过程中进行交流。这种对话能力可能导致Agent人之间的闲聊,这种闲聊对于实现团队目标没有帮助。MetaGPT通过要求Agent人生成结构化输出(如文档和图表)而不是共享非结构化的聊天消息来解决Agent人之间无效的闲聊问题。此外,MetaGPT实现了一种“发布-订阅”机制进行信息共享。这使得所有Agent人都可以在一个地方共享信息,但只读取与其个人目标和任务相关的信息。这简化了整体目标的执行,并减少了Agent人之间的对话噪音。与HumanEval和MBPP基准上的单一Agent架构相比,MetaGPT的多Agent架构表现出了明显更好的结果。
在本节中,我们讨论了先前概述的Agent模式所展示的设计选择的关键主题和影响。这些模式作为对AIAgent架构不断增长的研究和实施的重要示例。单一Agent和多Agent架构都旨在通过赋予它们代表或与人类用户一起执行目标的能力来增强语言模型的能力。大多数观察到的Agent实现广泛遵循计划、执行和评估过程,以迭代地解决问题。
我们发现,无论是单一Agent还是多Agent架构在复杂目标执行方面都表现出了引人注目的性能。我们还发现,跨架构的明确反馈、任务分解、迭代改进和角色定义都可以提高Agent的性能。
选择单一Agent与多Agent架构的典型条件
基于前述的Agent模式,我们发现单一Agent模式通常最适合具有狭窄工具列表和流程定义清晰的任务。单一Agent通常更容易实现,因为只需要定义一个Agent和一组工具。此外,单一Agent架构不会面临来自其他Agent的差反馈或来自其他团队成员的干扰和无关的闲聊等限制。然而,如果其推理和改进能力不够强大,它们可能会陷入执行循环,并且无法朝着目标取得进展。
多Agent架构通常适用于需要多个角色的反馈有助于完成任务的情况。例如,文档生成可能会受益于多Agent架构,其中一个Agent向另一个Agent提供关于文档某一部分的清晰反馈。多Agent系统在需要跨不同任务或工作流程进行并行化时也非常有用。关键的是,王等人发现,在没有提供示例的情况下,多Agent模式在性能上表现优于单一Agent。由于其本质,多Agent系统更加复杂,通常需要健壮的对话管理和清晰的领导。
虽然单一和多Agent模式在范围方面具有不同的能力,但研究发现,“当向Agent提供的提示足够强大时,多Agent讨论并不一定增强推理能力”。这表明,实施Agent架构的人应根据使用案例的更广泛背景来决定是选择单一Agent还是多个Agent,而不是基于所需的推理能力。
Agent和异步任务执行
虽然单个Agent可以同时发起多个异步调用,但其操作模型并不固有地支持跨不同执行线程的责任划分。这意味着,尽管任务是异步处理的,但从本质上讲,它们并不是真正的并行,即不是由独立的决策实体自主管理。相反,单个Agent必须顺序地规划和执行任务,在一批异步操作完成之前,它必须等待,并评估并继续下一步。相反,在多Agent架构中,每个Agent可以独立操作,允许更动态地分配劳动力。这种结构不仅促进了跨不同领域或目标的同时任务执行,还允许个别Agent在不受其他Agent处理的任务状态阻碍的情况下继续进行其下一步,体现了一种更灵活和并行的任务管理方法。
反馈和人类监督对Agent系统的影响
在解决复杂问题时,极不可能一次就提供一个正确、健壮的解决方案。相反,一个人可能会在批评和完善之前提出一个潜在的解决方案。他也可以向他人请教,从另一个角度接收反馈。对于帮助Agent解决复杂问题来说,同样重要的是迭代式的反馈和完善过程。
这部分是因为语言模型倾向于在回答中较早地承诺一个答案,这可能导致与目标状态逐渐偏离的“雪球效应”。通过实施反馈,Agent更有可能纠正其行动轨迹并达到目标。
此外,引入人类监督可以通过使Agent的回应更贴近人类期望,从而改善即时结果,减轻了Agent可能采用低效或无效方法解决任务的潜在风险。截至今日,将人类验证和反馈纳入Agent架构中可产生更可靠和可信赖的结果。
语言模型还表现出阿谀奉承的行为,即它们“倾向于反映用户的立场,即使这意味着放弃提出客观或平衡的观点”。具体来说,AgentVerse 论文描述了Agent对其他Agent的反馈容易受到影响,即使反馈并不合理。这可能导致Agent团队制定错误的计划,使其偏离目标[2]。强大的提示可以帮助减轻这一问题,但是开发Agent应用程序的人应意识到在实施用户或Agent反馈系统时存在的风险。
团体对话和信息共享的挑战
多Agent架构面临的一个挑战在于它们在Agent之间智能共享消息的能力。多Agent模式更容易陷入客套之中,彼此问候“你好吗”,而单一Agent模式则倾向于保持专注于手头任务,因为没有团队动态需要管理。多Agent系统中的多余对话可能会影响Agent有效推理和执行正确工具的能力,最终使Agent分心,降低团队效率。在水平架构中尤为明显,Agent通常在一个群聊中分享,可以看到对话中每个Agent的消息。消息订阅或过滤通过确保Agent仅接收与其任务相关的信息,提高了多Agent的性能。
在垂直架构中,任务往往由Agent技能清晰划分,这有助于减少团队中的分散注意力。然而,当主导Agent未能向其支持Agent发送关键信息,并且没有意识到其他Agent不了解必要信息时,就会出现挑战。这种失败可能导致团队混乱或结果幻觉。解决此问题的一种方法是在系统提示中明确包含有关访问权限的信息,以便Agent进行情境适当的交互。
角色定义和动态团队的影响
对于单一和多Agent架构,清晰的角色定义都至关重要。在单一Agent架构中,角色定义确保Agent专注于所提供的任务,执行适当的工具,并最大限度地减少对其他能力的幻觉。同样,在多Agent架构中,角色定义确保每个Agent都知道其在整个团队中负责什么,并且不会承担超出其描述的能力或范围的任务。除了个人角色定义外,建立清晰的团队领导者还通过简化任务分配来提高多Agent团队的整体性能。此外,为每个Agent定义清晰的系统提示可以通过提示Agent不参与无效的交流来最小化多余的对话。
基于需求,将Agent引入和移出系统的动态团队也被证明是有效的。这确保了参与任务规划或执行的所有Agent都适合该轮工作。
在涉及推理和工具执行的各种复杂任务中,单一和多Agent模式都表现出强大的性能。当给定一个明确定义的角色和一组工具、人类反馈的机会以及向目标迭代前进的能力时,单一Agent模式表现良好。当构建一个需要在复杂目标上合作的Agent团队时,部署至少具备以下关键要素之一的Agent是有益的:明确的领导者,明确定义的规划阶段和在学到新信息时完善计划的机会,智能的消息过滤,以及具有与当前子任务相关的特定技能的动态团队。如果一个Agent架构采用了至少其中一种方法,那么与没有这些策略的单一Agent架构或多Agent架构相比,其性能很可能会有所提高。
在本节中,我们审视了当前Agent研究的一些局限性,并确定了改进人工智能Agent系统的潜在领域。尽管Agent架构在许多方面显著增强了语言模型的能力,但在评估、整体可靠性以及从驱动每个Agent的语言模型中继承的问题方面存在一些重大挑战。
虽然大型语言模型(LLMs)是根据一套旨在衡量其一般理解和推理能力的标准基准进行评估的,但Agent评估的基准却各不相同。
许多研究团队在他们的Agent实现旁引入了自己独特的Agent基准,这使得在相同基准上比较多个Agent实现变得具有挑战性。此外,许多这些新的Agent特定基准包括一个手工制作的、高度复杂的评估集,结果是手动评分的。这可以提供对方法能力的高质量评估,但也缺乏更大数据集的健壮性,并且存在引入偏见的风险,因为开发该方法的人也是编写和评分结果的人。由于模型、环境或问题状态的变化,Agent在多次迭代中生成一致答案可能存在问题。这种额外的随机性对于较小、复杂的评估集而言带来了更大的问题。
一些研究人员在典型的LLM基准上评估其Agent实现。新兴研究表明,在模型的训练数据中存在着显著的数据污染,这一观察结果得到了支持,即当基准问题被修改时,模型的性能显著恶化。这引发了人们对于语言模型和由语言模型驱动的Agent的基准分数的真实性的怀疑。
此外,研究人员发现,“随着LLMs快速发展,现有数据集通常无法匹配模型不断发展的能力,因为现有基准的复杂度水平通常是静态且固定的”。为了解决这个问题,已经进行了创建动态基准的工作,这些基准对简单的记忆具有抵抗力。研究人员还探索了基于用户特定环境或用例生成完全合成基准的想法。虽然这些技术可以帮助解决污染问题,但减少人类参与程度可能会带来关于正确性和解决问题能力的额外风险。
许多语言模型基准都设计成在单次迭代中解决,不涉及工具调用,例如MMLU或GSM8K。尽管这些基准对于衡量基础语言模型的能力很重要,但它们并不是Agent能力的好Agent,因为它们没有考虑到Agent系统在多个步骤上进行推理或访问外部信息的能力。StrategyQA通过评估模型在多个步骤上的推理能力改进了这一点,但答案仅限于是/否响应。随着行业继续向Agent专注的用例转变,将需要额外的措施来更好地评估Agent在涉及超出其训练数据范围的工具的任务中的性能和泛化能力。
一些Agent特定的基准,如AgentBench,在各种不同环境中评估基于语言模型的Agent,例如网络浏览、命令行界面和视频游戏[17]。这提供了一个更好的指标,用于评估Agent能够如何推理、规划和调用工具来完成给定任务时在新环境中的泛化能力。像AgentBench和SmartPlay这样的基准引入了旨在评估实现成功率、输出与人类响应的相似度和整体效率的客观评估指标。虽然这些客观指标对于理解实现的整体可靠性和准确性很重要,但也重要考虑更微妙或主观的性能指标。工具使用效率、规划的可靠性和稳健性等指标几乎与成功率一样重要,但更难以衡量。许多这些指标需要由人类专家评估,与LLM作为评判者的评估相比,这可能成本高且耗时。
许多现有的基准测试侧重于Agent系统在逻辑谜题或视频游戏中进行推理的能力。尽管在这些类型的任务上评估性能可以帮助了解Agent系统的推理能力,但不清楚在这些基准上的表现是否能够转化为实际世界的性能。具体而言,实际世界的数据可能存在噪声,并涵盖了许多常见基准所缺乏的更广泛的主题。
一个使用实际数据的流行基准是WildBench,它的数据源自与ChatGPT进行的570,000次真实对话的WildChat数据集。因此,它涵盖了大量的任务和提示。虽然WildBench涵盖了广泛的主题,但大多数其他实际世界的基准都侧重于特定任务。例如,SWE-bench是一个使用GitHub上提出的一组与Python软件工程任务相关的实际问题的基准。这在评估设计用于编写Python代码的Agent时可能非常有用,并提供了Agent如何推理有关代码的问题的概念;但是,当试图了解涉及其他编程语言的Agent能力时,它的信息性就较低了。
已知语言模型在评估、社交或公平方面存在偏见。此外,已经显示Agent“不够健壮,更容易产生更有害的行为,并且能够生成比LLMs更隐蔽的内容,突显出重大的安全挑战”。其他研究发现,“尽管被指示从特定政治角度进行辩论,但语言模型Agent倾向于符合模型固有的社交偏见”。这种倾向可能导致任何基于Agent的实现中的错误推理。随着任务的复杂性和Agent参与度的增加,需要更多的研究来识别和解决这些系统内的偏见。这对研究人员来说是一个非常大的挑战,因为可扩展和新颖的基准往往在创建过程中涉及一定程度的LLM参与。然而,用于评估LLM-basedAgent偏见的真正健壮的基准必须包括人类评估。
本调查探讨的AIAgent实现展示了语言模型驱动的推理、规划和工具调用的快速增强。单一和多Agent模式都表现出解决需要高级问题解决技能的复杂多步问题的能力。本文讨论的关键见解表明,最佳的Agent架构因用例而异。无论选择了哪种架构,性能最佳的Agent系统往往至少包含以下一种方法:明确定义的系统提示、明确的领导和任务划分、专用的推理/规划-执行-评估阶段、动态的团队结构、人类或Agent的反馈以及智能消息过滤。利用这些技术的架构在各种基准和问题类型上都更有效。
尽管AI驱动的Agent的当前状态令人鼓舞,但也存在值得注意的局限性和未来改进的领域。需要在短期内解决关于全面Agent基准、实际世界的适用性以及减轻有害语言模型偏见的挑战,以实现可靠的Agent。通过审视从静态语言模型到更动态、自主Agent的发展过程,本调查旨在提供对当前AIAgent景观的整体理解,并为那些使用现有Agent架构或开发定制Agent架构的人提供见解。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-05-28
2024-04-26
2024-04-11
2024-08-21
2024-07-09
2024-08-13
2024-07-18
2024-10-25
2024-07-01
2024-06-17