AI代理架构的发展:从单一到多代理系统的演进及其影响分析

2024-05-04 14:04

本文主要是介绍AI代理架构的发展:从单一到多代理系统的演进及其影响分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

代理人的转变


自从ChatGPT推出以来,初代的生成性AI应用主要围绕着使用检索增强生成(RAG)模式的聊天机器人,以响应用户提示。尽管有持续的工作来增强这些基于RAG的系统的健壮性,研究社区现在正在探索下一代AI应用 —— 其中一个共同的主题是发展自主AI代理人。

代理系统整合了如规划、迭代和反思等高级能力,这些能力利用模型固有的推理能力来完成端到端的任务。配合使用工具、插件和函数调用的能力 —— 代理能够处理更广泛的通用工作。

代理人的推理、规划和有效工具调用的重要性


推理是人类思维的基础构件。没有推理,人们无法做决策、解决问题或在学到新信息时完善计划 —— 本质上是误解了我们周围的世界。如果代理人没有强大的推理技能,他们可能会误解其任务,生成无意义的答案,或未能考虑多步骤的影响。

我们发现大多数代理实现包含一个规划阶段,该阶段采用以下技术之一来创建计划:任务分解、多计划选择、外部模块辅助规划、反思和完善以及记忆增强规划。

相较于仅使用基础语言模型,利用代理实现的另一个好处是,代理人可以通过调用工具解决复杂问题。工具可以使代理执行诸如与API交互、写入第三方应用程序等操作。推理和工具调用紧密相连,有效的工具调用依赖于充分的推理。简而言之,不能期望一个推理能力差的代理人知道何时是调用其工具的合适时机。

单一代理与多代理架构


研究强调,无论是单一代理还是多代理架构,都可以通过采用推理和工具调用步骤来解决具有挑战性的任务。

对于单一代理实现,我们发现成功的目标执行依赖于适当的规划和自我修正。如果没有自我评估和创建有效计划的能力,单一代理可能会陷入无休止的执行循环,永远无法完成既定任务或返回不符合用户期望的结果。我们发现,当任务需要直接函数调用且不需要来自另一代理的反馈时,单一代理架构特别有用。

然而,我们注意到单一代理模式通常难以完成一长串子任务或工具调用。多代理模式可以解决并行任务和鲁棒性问题,因为架构中的多个代理可以分别处理各个子问题。许多多代理模式首先将复杂问题分解为若干个较小的任务。然后,每个代理使用其独立的工具集独立解决各个任务。

涉及多个代理的架构提供了基于能力进行智能劳动分配的机会,以及来自不同代理人格的宝贵反馈。许多多代理架构在规划、执行和评估阶段以阶段方式运作,其中代理团队被动态

组建和重组。这种重组因为利用了专门的代理来完成特定任务,并在不再需要时将其移除,从而产生了优越的结果。通过匹配代理角色和技能以适应手头的任务,代理团队可以提高准确性并缩短完成目标所需的时间。有效的多代理架构的关键特性包括在代理团队中明确的领导、动态团队构建和团队成员之间的有效信息分享,以防重要信息在无关紧要的通信中丢失。

研究突出了诸如ReAct、RAISE、Reflexion、AutoGPT + P、LATS以及多代理实现如DyLAN、AgentVerse和MetaGPT等著名的单一代理方法,这些在全文中有更深入的解释。

我们的关键发现


单一代理模式:

单一代理模式通常最适合工具列表明确且流程明确定义的任务。它们不会受到来自其他代理的不良反馈或来自其他团队成员的分散和无关的闲聊的影响。然而,如果单一代理的推理和完善能力不健全,它们可能会陷入执行循环,并且无法朝着其目标取得进展。

多代理模式:

多代理模式非常适合需要来自多个人格的反馈以完成任务的情况。当需要跨不同任务或工作流的并行处理时,它们很有用,允许各个代理继续进行下一步操作,而不受其他代理处理的任务状态的影响。

反馈和人在循环中

语言模型倾向于在其响应中更早地承诺一个答案,这可能导致与其目标状态日益偏离的“滚雪球效应”。通过实施反馈,代理更有可能纠正其路径并达到其目标。人类的监督通过使代理的回应更贴近人类的期望,改善了即时结果,产生了更可靠和更值得信赖的结果。代理可能会受到来自其他代理的反馈的影响,即使这些反馈并不可靠。这可能会导致代理团队产生一个错误的计划,使他们偏离目标。

信息共享和沟通

多代理模式更倾向于陷入礼节性的交流,代理们可能会互相询问诸如“你好吗”,而单一代理模式则倾向于专注于手头的任务,因为没有团队动态需要管理。这可以通过强有力的提示来减轻。在垂直架构中,代理可能会失败于将关键信息发送给他们的支持代理,没有意识到其他代理不知道完成其任务所需的必要信息。这种失败可能导致团队混乱或结果出现幻觉。解决这个问题的一种方法是在系统提示中明确包括关于访问权的信息,以便代理进行上下文适当的交互。

角色定义和动态团队的影响

对于单一代理和多代理架构而言,清晰的角色定义都至关重要。角色定义确保代理理解其指派的角色,专注于提供的任务,执行适当的工具,并最小化其他能力的幻觉。建立明确的团队领导可以提高多代理团队的整体表现,通过简化任务

分配。动态团队,根据需要将代理引入和移出系统,也被证明是有效的。这确保参与任务的所有代理都是强有力的贡献者。

关键见解摘要

讨论的关键见解表明,最佳的代理架构根据用例的不同而有所不同。无论选择哪种架构,表现最好的代理系统倾向于至少采用以下一种方法:明确定义的系统提示、清晰的领导和任务分配、专门的推理/规划-执行—评估阶段、动态团队结构、人类或代理反馈以及智能信息过滤。利用这些技术的架构在各种基准和问题类型中更为有效。

结论


我们的元分析旨在提供对当前AI代理景观的全面理解,并为那些使用现有代理架构或开发自定义代理架构的人提供洞见。在自主AI代理的设计和开发中存在显著的限制和未来改进的领域,例如缺乏全面的代理基准、现实世界的适用性以及减轻有害语言模型偏见的措施。这些领域将需要在近期内得到解决,以实现可靠的代理。

这篇关于AI代理架构的发展:从单一到多代理系统的演进及其影响分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959370

相关文章

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹