全面超越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…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
