OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  XAgent — 面向复杂任务规划与执行的自主智能体系统

XAgent — 面向复杂任务规划与执行的自主智能体系统

 
  answer ·  2026-03-21 18:10:20 · 5 次点击  · 0 条评论  

📖 简介

XAgent 是一个开源的实验性大型语言模型(LLM)驱动的自主智能体,能够自动解决各种任务。
它被设计为一个通用智能体,可应用于广泛的任务场景。XAgent 仍处于早期开发阶段,我们正在努力改进它。

🏆 我们的目标是创建一个能够解决任何给定任务的超级智能体!

我们欢迎各种形式的合作,包括全职和兼职角色等。如果您对智能体的前沿技术感兴趣,并希望加入我们,共同实现真正的自主智能体,请通过 xagentteam@gmail.com 联系我们。

XAgent 概览
XAgent 概览图。

XAgent

XAgent 设计具有以下特点:
- 自主性:XAgent 可以在无需人工参与的情况下自动解决各种任务。
- 安全性:XAgent 设计为安全运行。所有操作都被限制在 Docker 容器内。放心运行!
- 可扩展性:XAgent 设计为易于扩展。您可以轻松添加新工具以增强智能体的能力,甚至可以添加新的智能体!
- 图形界面:XAgent 提供了一个友好的图形用户界面,供用户与智能体交互。您也可以使用命令行界面与智能体交互。
- 人机协作:XAgent 可以与您协作处理任务。它不仅具备在执行中遵循您的指导来解决复杂任务的能力,还能在遇到挑战时主动寻求您的帮助。

XAgent 由三个部分组成:
- 🤖 调度器:负责动态实例化任务并将其分派给不同的智能体。它允许我们添加新的智能体并改进智能体的能力。
- 🧐 规划器:负责为任务生成和修正计划。它将任务分解为子任务并为其生成里程碑,使智能体能够逐步解决问题。
- 🦾 执行器:负责执行操作以实现目标并完成子任务。执行器利用各种工具解决子任务,也可以与人类协作解决问题。

XAgent 工作流程
XAgent 工作流程图。

🧰 工具服务器

工具服务器是为 XAgent 提供强大且安全工具以解决任务的服务器。它是一个 Docker 容器,为 XAgent 的运行提供了一个安全环境。
目前,工具服务器提供以下工具:
- 📝 文件编辑器:提供文本编辑工具,用于写入、读取和修改文件。
- 📘 Python 笔记本:提供一个交互式 Python 笔记本,可以运行 Python 代码来验证想法、绘制图表等。
- 🌏 网页浏览器:提供一个网页浏览器,用于搜索和访问网页。
- 🖥️ Shell:提供一个 bash shell 工具,可以执行任何 shell 命令,甚至可以安装程序和托管服务。
- 🧩 Rapid API:提供一个工具,用于从 Rapid API 检索 API 并调用它们,这为 XAgent 提供了广泛的 API 选择。有关 Rapid API 集合的更多信息,请参阅 ToolBench
您也可以轻松地向工具服务器添加新工具,以增强 XAgent 的能力。

✨ 快速开始

🛠️ 构建和设置工具服务器

工具服务器是 XAgent 执行操作的地方。它是一个 Docker 容器,为 XAgent 的运行提供了一个安全环境。
因此,您需要先安装 dockerdocker-compose
然后,您需要构建工具服务器镜像。请参照以下任一方法进行构建:

通过运行以下命令从 Docker Hub 拉取镜像:

docker compose up

通过运行以下命令从本地源码构建镜像:

docker compose build
docker compose up

这将构建工具服务器的镜像并启动工具服务器的容器。
如果您想在后台运行容器,请使用 docker compose up -d
有关我们工具服务器的详细信息,请参阅此处

如果工具服务器有更新,您需要重新拉取/重建镜像:

docker compose pull

docker compose build

🎮 设置并运行 XAgent

设置好工具服务器后,您可以开始运行 XAgent。
- 安装依赖(要求 Python >= 3.10)

pip install -r requirements.txt
  • 配置 XAgent
  1. 在运行 XAgent 之前,您应该在 assets/config.yml 中配置它。
  2. assets/config.yml 中至少提供一个 OpenAI API 密钥,用于访问 OpenAI API。
    我们强烈建议使用 gpt-4-32k 来运行 XAgent;对于大多数简单任务,gpt-4 也可以。
    无论如何,至少应提供一个 gpt-3.5-turbo-16k API 密钥作为备用模型。
    由于上下文长度有限,我们未测试也不推荐使用 gpt-3.5-turbo 运行 XAgent;您不应尝试在该模型上运行 XAgent。
  3. 如果您想更改 XAgentServer 的配置文件路径,应修改 .env 文件中的 CONFIG_FILE 值并重启 Docker 容器。
  • 运行 XAgent
python run.py --task "在此处输入您的任务" --config-file "assets/config.yml"
  1. 您可以使用参数 --upload-files 来选择要提交给 XAgent 的初始文件。

  2. XAgent 的本地工作空间位于 local_workspace 中,您可以在其中找到 XAgent 在整个运行过程中生成的所有文件。

  3. 执行结束后,ToolServerNode 中的整个 workspace 将被复制到 running_records 中,以便您查看。

  4. 此外,在 running_records 中,您可以找到所有中间步骤的信息,例如任务状态、LLM 的输入输出对、使用的工具等。

  5. 您可以通过在配置中设置 record_dir(默认为 Null)来加载记录以复现之前的运行。记录是与 XAgent 代码版本绑定的系统级记录。所有运行配置、查询、代码执行状态(包括错误)、服务器行为都将被记录。

  6. 我们已经从记录中移除了所有敏感信息(包括 API 密钥),因此您可以安全地与他人共享。在不久的将来,我们将引入更细粒度的共享选项,突出显示执行过程中人类的贡献。

  • 使用图形界面运行 XAgent
    容器 XAgent-Server 启动时附带 nginx 和一个监听端口 5173 的 Web 服务器。
    您可以访问 http://localhost:5173 通过 Web UI 与 XAgent 交互。
    默认的用户名和密码分别是 guestxagent
    有关我们图形界面演示的详细信息,请参阅此处

🎬 演示

在此,我们也展示一些 XAgent 解决任务的案例:
您可以在 XAgent 官方网站 上查看我们的实时演示。我们还在此提供了使用 XAgent 的视频演示和案例展示:
演示

案例 1. 数据分析:展示双循环机制的有效性

我们从帮助用户进行复杂数据分析的案例开始。在这里,我们的用户向 XAgent 提交了一个 iris.zip 文件,寻求数据分析的帮助。XAgent 迅速将任务分解为四个子任务:(1) 数据检查和理解,(2) 验证系统 Python 环境是否包含相关数据分析库,(3) 编写数据处理和分析的代码,(4) 根据 Python 代码的执行结果编写分析报告。
下图是 XAgent 绘制的图表。
XAgent 绘制的数据统计图

案例 2. 推荐:人机交互的新范式

凭借主动寻求人类帮助并协作解决问题的独特能力,XAgent 不断重新定义人机协作的边界。如下面的截图所示,一位用户寻求 XAgent 的帮助,为朋友聚会推荐一些很棒的餐厅,但未能提供具体细节。XAgent 认识到所提供信息不足,使用了 AskForHumanHelp 工具,提示人类介入以获取用户偏好的地点、预算限制、烹饪偏好和饮食限制。凭借这些宝贵的反馈,XAgent 无缝生成了量身定制的餐厅推荐,确保为用户及其朋友提供个性化和满意的体验。

XAgent 请求人类帮助的图示

案例 3. 训练模型:一个复杂的工具使用者

XAgent 不仅处理日常任务,还在模型训练等复杂任务中提供宝贵的帮助。这里,我们展示了一个场景:用户希望分析电影评论并评估特定电影的公众情绪。作为回应,XAgent 立即启动流程,下载 IMDB 数据集以训练一个尖端的 BERT 模型(见下图),利用深度学习的力量。凭借这个训练好的 BERT 模型,XAgent 无缝地驾驭电影评论的复杂细微差别,就公众对各种电影的看法提供有洞察力的预测。

bert_1
bert_2
bert_3

📊 评估

我们进行了人工偏好评估,以评估 XAgent 的性能。我们准备了超过 50 个真实世界的复杂任务进行评估,这些任务可以分为 5 类:搜索与报告、编码与开发、数据分析、数学和生活助手。
我们将 XAgent 的结果与 AutoGPT 进行了比较,结果显示 XAgent 总体上优于 AutoGPT。
所有运行记录可以参考此处

人工偏好对比

我们报告了 XAgent 在人工偏好方面相对于 AutoGPT 的显著改进。

我们还在以下基准测试上评估了 XAgent:
基准测试结果

🖌️ 博客

我们的博客可在此处访问!

🌟 我们的贡献者

衷心感谢我们所有的贡献者。你们的努力让这个项目不断成长和繁荣。每一次贡献,无论大小,都是无价的。

贡献者

🌟 Star 历史

Star History Chart

引用

如果您觉得我们的仓库有用,请考虑引用:

@misc{xagent2023,
      title={XAgent: An Autonomous Agent for Complex Task Solving},
      author={XAgent Team},
      year={2023},
}
5 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 18 ms
Developed with Cursor