全面超越AutoGPT,面壁智能联合清华NLP实验室开源大模型「超级英雄」XAgent
近日,国内领先的人工智能大模型公司面壁智能又放大招,联合清华大学 NLP 实验室共同研发并推出大模型「超级英雄」——XAgent。
通过任务测试,XAgent 在真实复杂任务的处理能力已全面超越 AutoGPT。
现已在 GitHub 正式开源,地址 https://github.com/OpenBMB/XAgent
案例展示地址:https://x-agent.net/
博客地址:https://blog.x-agent.net
XAgent 何许「人」也?
XAgent 是一个可以实现自主解决复杂任务的全新 AI 智能体,以 LLM 为核心,能够理解人类指令、制定复杂计划并自主采取行动。
传统智能体通常受到人类定制规则的限制,只能在限定范围内解决问题。它们更像是为人类所用的「工具」,而不是真正的「自主智能体」,难以自主解决复杂问题。
相反,XAgent 被赋予了自主规划和决策的能力,使它能够独立运行,发现新的策略和解决方案,不受人类预设的束缚。
它的能力已全面超越 AutoGPT,在众多场景任务上展示出了惊人的自主性和复杂任务的求解能力,将 AI 智能体的智能水平提升到了一个全新高度。
那么问题又来了:它是如何实现的呢?
「左右脑」协同,双循环机制
正如人类具备「左脑」 和「右脑」,在处理复杂任务时通常从「 宏观」和「微观」 两个视角进行考虑,既要针对全局进行统筹和规划,也要从执行层面来考量。
相较于 AutoGPT,面壁智能和清华大学在 XAgent 的设计中创新地引入了一种「双循环机制」:
-
外循环:负责全局任务规划,将复杂任务分解为可操作的简单任务。
-
内循环:负责局部任务执行,专注于细节。
通过双循环机制的协作,XAgent 如同大模型领域的「超级英雄」,它在应对复杂任务的不同环节时,展现出超强的专业度和丰富的技能。
就像漫威宇宙中的「美队」,XAgent 既有全局观的领导力,也有细致入微的执行力。
在外循环中,XAgent 展现出作为一个「规划」(PlanAgent)的领导力,它会把复杂任务拆分成若干简单任务,并监督问题解决的完整过程。
首先,它将给定的复杂任务分解成更小、更易管理的「子任务」,生成「初始规划」,形成任务序列。
随后,它将逐次把每个子任务传递给内循环解决。在这个过程中,外循环会不断监督任务的进度和状态,并根据反馈对后续规划进行「迭代优化」。
在内循环中,XAgent 快速转变身份,展现出作为一个高效「执行者」(ToolAgent)的专业度,确保外循环传递的子任务达到预期。
根据子任务性质的不同,它可以从外部系统中检索工具,并针对子任务进行一步步求解。
在子任务完成后,它将生成当前子任务执行过程的反思,反馈给外循环,指示当前任务是否完成,以及任务执行中的潜在优化点。
如图所示,用户给 XAgent 提交了 iris.zip 文件,让 XAgent 对数据进行分析。
可以看到,XAgent 首先通过外循环将这个任务分解成了 4 个子任务:
-
对数据进行检查与理解;
-
检查系统的 Python 环境,查看相关数据分析库是否存在;
-
编写数据分析代码,对数据进行处理与分析;
-
根据 python 代码执行结果撰写分析报告。
随后,在执行每一个子任务时,XAgent 通过内循环熟练地使用文件读写、 shell 命令、python notebook 及相应 pandas、sci-kit learn、seaborn、matplotlib 等数据分析库,甚至会对数据进行可视化分析。
AutoGPT 在执行相同任务时,并没有制定检查 python 环境与相关库的规划,而是直接开始写代码执行,导致使用相关库时失败报错,最终也没有完成对数据的复杂分析。
人机协作:智能体交互新范式
虽然 AutoGPT 在一定程度上突破了传统 GPT 模型的局限性,但它仍然存在死循环、错误调用等执行出错的现象,需要人工干预才能解决。
而 XAgent 在设计之初就针对相关问题进行了考量,并引入了专为增强人机协作的交互机制:它可以自主与用户进行交互,并向人类发出干预和指导的请求。
对于一个智能体而言,「是否能够与人类协作」也是体现其智能程度的重要指标。
首先,XAgent 具备直观的界面,用户可以直接覆盖或修改它提出的建议,从而将 AI 效率与人类的直觉和专业知识有效结合。
其次,在面临陌生挑战的情况下,XAgent 具备「向人类寻求帮助」能力,它会向用户征求实时反馈、建议或指导,确保即使在不确定的领域,智能体也能发挥出最佳作用。
这种交互范式,将 AI 的自主性与人类的智慧有机融合,展示了人与 XAgent 之间的全新的协作关系。
如图所示,用户想让 XAgent 帮忙推荐一些好吃的餐馆来和朋友聚会,但是却没有提供具体详细的信息。
这个时候 XAgent 可以意识到目前用户所提供的信息不够充足,难以进行推荐,于是向人类提出请求,询问用户的倾向地点、预算范围、口味喜好、有哪些忌口等等,在得到用户的反馈后从而提供了推荐的餐厅。
而 AutoGPT 则直接开始到网络上搜索餐馆信息进行推荐,最终推荐的结果地点不对,也没有考虑用户的预算,没有符合用户的需求。
高效通信语言,超强工具调用
无论「双循环」的运转机制,还是「人机协作」 的交互能力,在 XAgent 的总体设计中,面壁智能和清华团队着重考虑的是智能体的稳定、高效和安全等核心特性。
而结构化的通信方式同样是建立强大、稳定智能体的重要因素之一。
XAgent 采用 Function Call 作为其内部的通信语言,具备结构化、标准化、统一化等优势。
-
结构化:Function Call 具备清晰且严谨的格式,可以明确表述所需内容,从而最小化了潜在的错误。
-
标准化:Function Call 可以将与外部工具的交互过程标准化,提供一种通用语言,使智能体具备使用和整合多种工具的能力,解决复杂任务。
-
统一化:通过将信息摘要、任务规划、工具执行等所有环节转化为特定的 Function Call 形式,确保每个环节均以统一的方式进行处理,从而简化系统设计。
此外,工具调用也是评价 AI Agent 是否具备解决复杂问题的重要能力之一。
XAgent 在设计中原创了工具执行引擎 ToolServer,可以实现更安全、高效、可扩展的工具执行能力。
它在隔离的 Docker 环境中运行,确保工具执行不会危及主系统的稳定性或安全性。
这种设计带来多重好处:
-
安全:在 Docker 容器内运行工具可以保护主系统免受潜在危害。
-
高效:系统可以根据需求和使用模式启动、停止和重启节点,实现最佳资源使用。
-
可扩展:方便管理代码,调试和扩展性更强。
ToolServer 的关键组件包括:ToolServerNode、ToolServerMonitor、ToolServerManager,在执行操作、节点检查、周期管理等方面提供强大的能力。
目前,XAgent 的 ToolSever 支持 FileSystemEnv、PythonNotoBook、WebEnv、ExecuteShell、RapidAPIEnv、AskHumanforHelp 等多种工具。
XAgent 不仅可以帮我们做一些简单的任务,它甚至可以帮助我们训练模型。
比如,用户希望能够对电影评论进行分析,判断一下大众对电影评价的好坏。这个时候 XAgent 会首先下载 imdb 数据集去训练一个 BERT 模型,并使用训练好的 BERT 模型对电影评论进行预测。
释放大模型潜力,全面超越 AutoGPT
经过在一系列任务中的测试可以看到(如下图 a、b 所示),基于 GPT-4 的 XAgent 表现效果在所有基准测试中都超过了原始的 GPT-4,并全面超越了 AutoGPT。
这些任务需要 Agent 推理规划和使用外部工具的能力,包括:用搜索引擎回答问题的能力(FreshQA+HotpotQA)、Python 编程能力(MBPP)、数学推理能力(MATH)、交互式编程能力(InterCode)、具身推理能力(ALFWorld)、真实复杂任务等。
可以看出,XAgent 的系统设计能够充分释放 GPT-4 的基础能力,并达到极高的测试效果和人类倾向(Human Preference)。
这不仅表明 XAgent 在需要推理规划的传统 AI 测试中表现出色,而且在处理复杂的实际指令时具有更高的性能
拓展应用边界,坚实技术基础
AI Agent 的出现让整个行业看到了大模型技术的重要落地方向,无需进行复杂的 prompt 探索,就可以实现整套工作流的任务执行。
作为具有无限潜能的大模型「超级英雄」,XAgent 可以成为每一个普通的人的「个人助理」。它可以帮助我们规划日程,安排行程,管理生活和工作的时间和资源分配。
它还可以自主使用多种数据采集、处理和分析工具,全自动地完成对海量数据的分析并形成报告,帮助用户高效获取重要信息。
此外,XAgent 还能结合外部工具与自主规划算法,根据环境信息做出决策,以实现更高效和精确的任务执行。
XAgent 的研发团队是由来自面壁智能和清华大学 THUNLP 实验室的多位大模型领域的专家和学者组建。他们更像是大模型领域的「超级英雄」。
这一创新成果之所以能够成功推出,正是团队在长期的科研工作过程中构建了一系列前沿创新的大模型 Infra,坚实技术基础,拓展创新和研发的边界。
面壁智能联合清华大学 NLP 实验室、OpenBMB 开源社区打造了一个「三位一体」 的大模型产学研生态布局,提出并发布了多个大模型工具使用框架和引擎:
-
Tool Learning:大模型工具学习范式,将专业工具与大模型的优势相融合,从而在问题解决方面达到更高的准确性、效率和自主性。
-
BMTools:大模型学习引擎,是让语言模型使用扩展工具的开源仓库,同时也是开源社区构建和共享工具平台。
-
ToolLLM,大模型工具学习框架,给大模型接入 16000+ 真实 API,让大模型可以通过调用外部工具以完成更复杂的用户指令任务。
-
WebCPM,中文领域首个支持联网搜索的模型框架,填补国产大模型该领域的空白,让大模型能像人类一样在网页上实时搜索答案,提高了 AIGC 的实时性和准确性。
XAgent 拓展了 AI 智能体在执行复杂任务中的能力上限,让我们看到大模型技术融入生产和生活的前沿趋势和无限潜力。
相关文章:

全面超越AutoGPT,面壁智能联合清华NLP实验室开源大模型「超级英雄」XAgent
近日,国内领先的人工智能大模型公司面壁智能又放大招,联合清华大学 NLP 实验室共同研发并推出大模型「超级英雄」——XAgent。 通过任务测试,XAgent 在真实复杂任务的处理能力已全面超越 AutoGPT。 现已在 GitHub 正式开源,地址 …...

springBoot--web--http缓存机制测试
springBoot--web--http缓存机制测试 前言1、多端内容适配基于请求头内容协商(默认开启)基于请求参数内容协商(需要开启) 2、默认返回json数据3、设置返回xml数据导入jackson-dataformat-xml包在类文件中添加注解 JacksonXmlRootEl…...

免费活动】11月4日敏捷武林上海站 | Scrum.org CEO 亲临现场
活动介绍 过去的几年里,外界的风云变幻为我们的生活增添了一些不一样的色彩。在VUCA世界的浪潮里,每一个人都成为自己生活里的冒险家。面对每一次的变化,勇于探索未知,迎接挑战,努力追逐更好的自己。 七月࿰…...

VSCode搭建ESP32 ESP-IDF开发环境-Windows
陈拓 2023/10/09-2023/10/14 1. 安装Windows系统下的ESP32 ESP-IDF开发环境 见《Windows系统安装ESP32 ESP-IDF开发环境》 Windows系统安装ESP32 ESP-IDF开发环境-CSDN博客Windows系统安装ESP32 ESP-IDF开发环境。https://blog.csdn.net/chentuo2000/article/details/1339225…...
Java可重入锁(GPT编写)
Java可重入锁是Java并发编程中常用的一种锁机制,它可以允许同一个线程多次获取同一个锁,从而避免死锁和其他并发问题。在本篇博客中,我们将对Java可重入锁的源码进行分析,以便更好地理解它的实现原理和使用方法。 Java可重入锁的…...

京东数据平台:2023年9月京东净水器行业品牌销售排行榜!
鲸参谋监测的京东平台9月份净水器市场销售数据已出炉! 根据鲸参谋平台的数据显示,今年9月份,京东平台净水器的销量为64万,环比下滑约9%,同比下滑约16%;销售额为5.2亿,环比下滑约12%,…...

skiaSharp linux 生成验码字体显示不出来
一、拷贝windows下的字体如:C:\Windows\Fonts 设置字体的地方: var fontPath Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Fonts", "TAHOMA.TTF");最终效果:...
WuThreat身份安全云-TVD每日漏洞情报-2023-10-12
漏洞名称:curl SOCKS5 堆溢出漏洞(CVE-2023-38545) 漏洞级别:高危 漏洞编号:CVE-2023-38545,CNVD-2023-75809 相关涉及:cURL libcurl >7.69.0,<8.3.0 漏洞状态:POC 参考链接:https://tvd.wuthreat.com/#/listDetail?TVD_IDTVD-2023-25382 漏洞名称:Apache H…...
sobel边缘检测算法
Sobel边缘检测算法是一种常用的图像处理技术,用于检测图像中的边缘和轮廓。该算法基于离散卷积操作,通过对图像进行滤波来寻找图像中灰度值的变化。Sobel算子是一种常用的卷积核,用于检测图像中的垂直边缘和水平边缘。以下是Sobel边缘检测算法…...
Kotlin中抽象类与接口
Kotlin 中的抽象类和接口是面向对象编程中的重要概念,它们提供了一种用于定义和组织代码的方式。在下面的代码示例中,我们将介绍 Kotlin 中的抽象类和接口,并给出相应的示例。 抽象类 抽象类是一种不能被实例化的类,它仅用作其他…...

解决osg绘制场景时因Z冲突导致重影或闪烁等不正常情况
目录 1. 问题的提出 2. Z冲突(z-fighting)简介 2.1. Z冲突(z-fighting)产生的原因 2.2. 如何消除Z冲突(z-fighting) 3. 代码实现 1. 问题的提出 今天绘制了一个棋盘格,鼠标在棋盘格上单击…...

adb 获取 Android 设备中已安装的 apk 文件
前言 今天发现手机上一个应用在应用商店已经搜索不到了,想把其推荐给朋友使用,发现不知道从哪里找原始的 apk 安装文件,记录一下。 如何提取 apk 两种方法 MT管理器导出 可以使用 MT管理器(Android 平台逆向神器),它有个 安装…...

学习记录683@类别不平衡问题解决的基本策略之再缩放的数学解释
什么是类别不平衡问题 分类学习方法都有一个共同的基本假设,即不同类别的训练样例数目相当。如果不同类别的训练样例数目稍有差别,通常影响不大,但若差别很大,则会对学习过程造成困扰。例如有998个反例,但正例只有2个…...

2023App测试必掌握的核心测试:UI、功能测试
一、UI测试 UI即User Interface (用户界面)的简称。UI 设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。手机APP从启动界面开始, 到运行过程,直至退出,…...

华为荣耀手机,开启开发者选项,hbuilder调试依然找不到
我的手机是华为荣耀50,其他华为手机不知道是不是这个问题哦 解决办法:usb配置,选择音频来源 然后就可以了...

【C++】特殊类实现
一、请设计一个类,不能被拷贝 拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 将拷贝构造函数与赋值运算符重载只声明不定义…...
代码随想录打卡第四十四天|● 01 二维背包问题 ●一维背包问题-滚动数组 ● 416. 分割等和子集
什么是01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 01背包的模板 二维dp数组 dp数组的含义 dp[i][j]含义下标为【0-i】之间…...

燃气管网智能巡检系统
燃气管网维护工作繁杂,涉及人员、资源、巡检等,稍一疏忽就会使我们的工作陷入被动,可见启用燃气管网智能巡检系统是很有必要的。 燃气管网智能巡检系统综合管理智能平台,可对燃气管网数据的统一管理,实现对日常巡查、养…...

【微信小程序开发】运用WXS进行后台数据交互
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于小程序的相关操作吧 一.wxs是什么 WXS是指"微信小程序云开发"(WeChat Mini Program Cloud Development),是由微信…...

屏幕录像推荐:Apeaksoft Screen Recorder 中文 for mac
Apeaksoft Screen Recorder 是一款功能强大的屏幕录制软件,它允许用户在 Windows 和 Mac 系统上捕捉和录制屏幕活动。无论是记录游戏过程、创建教学视频、制作演示文稿还是捕捉在线流媒体内容,该软件都提供了丰富的功能和工具。 以下是 Apeaksoft Scree…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...