你是否曾经想过,如果有一个 AI 能够帮你自动完成各种复杂的任务,比如写代码、分析数据、解决问题,甚至和你合作、向你求助,那该有多好?
今天,我要给大家介绍一个这样的 AI 项目,它就是 XAgent!
XAgent 是一个开源的实验性大语言模型驱动的自主智能体,能够自动解决各种复杂任务。它是由国内领先的人工智能大模型公司 面壁智能 和 清华大学NLP 实验室 共同研发并推出的。
XAgent 的能力已全面超越了 AutoGPT,在众多场景任务上展示出了惊人的自主性和复杂任务的求解能力,将 AI 智能体的智能水平提升到了一个全新高度。
那么,XAgent 是如何做到这一切的呢?让我们一起来看看吧!
XAgent 的设计原理
XAgent 的设计中创新地引入了一种 “双循环机制” ,使它能够从“宏观”和“微观”两个视角进行任务规划和执行。
外循环 :负责全局任务规划,将复杂任务分解为可操作的简单任务。
内循环 :负责局部任务执行,专注于细节。
通过双循环机制的协作,XAgent 如同大模型领域的“超级英雄”,它在应对复杂任务的不同环节时,展现出超强的专业度和丰富的技能。
就像漫威宇宙中的“美队”,XAgent 既有全局观的领导力,也有细致入微的执行力。
例如,当用户给 XAgent 提交了一个 iris.zip 文件,让 XAgent 对数据进行分析时:
在外循环中,XAgent 首先将这个任务分解成了 4 个子任务:对数据进行检查与理解;检查系统的Python环境,查看相关数据分析库是否存在;编写数据分析代码,对数据进行处理与分析;根据python代码执行结果撰写分析报告。
在内循环中,在执行每一个子任务时,XAgent 熟练地使用文件读写、 shell 命令、python notebook 及相应 pandas、sci-kit learn、seaborn、matplotlib 等数据分析库,甚至会对数据进行可视化分析。
而 AutoGPT 在执行相同任务时,并没有制定检查 python 环境与相关库的规划,而是直接开始写代码执行,导致使用相关库时失败报错,最终也没有完成对数据的复杂分析。
XAgent 的交互能力
除了强大的任务规划和执行能力外,XAgent 还具备了与人类协作和交互的能力。它可以自主与用户进行交互,并向人类发出干预和指导的请求。
对于一个智能体而言,“是否能够与人类协作”也是体现其智能程度的重要指标。
首先,XAgent 具备直观的界面 ,用户可以直接覆盖或修改它提出的建议,从而将AI效率与人类的直觉和专业知识有效结合。
其次,在面临陌生挑战的情况下,XAgent具备“向人类寻求帮助”能力,它会向用户征求实时反馈、建议或指导,确保即使在不确定的领域,智能体也能发挥出最佳作用。
这种交互范式,将 AI 的自主性与人类的智慧有机融合,展示了人与 XAgent 之间的全新的协作关系。
例如,当用户想让 XAgent 帮忙推荐一些好吃的餐馆来和朋友聚会,但是却没有提供具体详细的信息时:
这个时候 XAgent 可以意识到目前用户所提供的信息不够充足,难以进行推荐,于是向人类提出请求,询问用户的倾向地点、预算范围、口味喜好、有哪些忌口等等,在得到用户的反馈后从而提供了推荐的餐厅。
而 AutoGPT 则直接开始到网络上搜索餐馆信息进行推荐,最终推荐的结果地点不对,也没有考虑用户的预算,没有符合用户的需求。
XAgent 的工具能力
XAgent 在设计中原创了工具执行引擎 ToolServer ,可以实现更安全、高效、可扩展的工具执行能力。它在隔离的 Docker 环境中运行,确保工具执行不会危及主系统的稳定性或安全性。这种设计带来多重好处:
安全 :在 Docker 容器内运行工具可以保护主系统免受潜在危害。
高效 :系统可以根据需求和使用模式启动、停止和重启节点,实现最佳资源使用。
可扩展 :方便管理代码,调试和扩展性更强。
ToolServer 的关键组件包括:ToolServerNode、ToolServerMonitor、ToolServerManager,在执行操作、节点检查、周期管理等方面提供强大的能力。
目前,XAgent 的 ToolSever 支持FileSystemEnv、PythonNotoBook、WebEnv、ExecuteShell、RapidAPIEnv、AskHumanforHelp 等多种工具。
XAgent 的开源地址
XAgent 是一个开源项目,你可以在 GitHub 上找到它,并且可以自由地使用它。
代码地址:
https://github.com/OpenBMB/XAgent
博客文章:
https://blog.x-agent.net/
示例地址:
https://x-agent.net/
领取专属 10元无门槛券
私享最新 技术干货