近日,国内领先的人工智能大模型公司面壁智能又放大招,联合清华大学 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)、真实复杂任务等。
图 a:XAgent 在真实复杂任务处理中全面超越 AutoGPT
图 b:超越 AutoGPTXAgent 在六大 AI Agent 基准测试中全面领先 GPT-4
可以看出,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 智能体在执行复杂任务中的能力上限,让我们看到大模型技术融入生产和生活的前沿趋势和无限潜力。