游乐游手机版
首页/AI热点日报/热点详情

XAgent大模型部署与运行指南

类型:热点整理2026-06-12
XAgent是基于大型语言模型的开源自主智能体,采用双环机制:外循环负责高层任务规划与迭代优化,内循环执行子任务并反馈。具备自主性、安全性、可扩展性等特点。部署需配置OpenAI密钥,通过Docker运行ToolServer容器提供安全执行环境。

自动化技术正在深刻重塑现代工作方式,尤其是流程自动化(Process Automation),致力于将数据流转、文档处理、客户服务等复杂业务场景,打造成如同流水线般高效运转的体系。在此背景下,智能体(Agent)在机器人流程自动化(RPA)领域扮演着变革性角色,而一款名为 XAgent 的开源项目尤为引人注目。

大模型

XAgent 简介

XAgent 是一个基于大型语言模型(LLM)的通用自主智能体,完全开源,能够自动处理各类复杂任务,几乎无需人工干预。其核心架构采用双环机制:外循环负责高层任务管理,即规划(Planning)内循环负责底层任务执行,即执行(Execution)。二者协同工作,使系统兼具战略规划能力与高效执行力。

XAgent 具备以下几大关键特性:

  • 高度自主性:无需人类介入即可自主解决各类任务,真正实现“放手运行”。
  • 安全可靠:所有操作都被限制在 Docker 容器内,主机环境不受影响,运行无忧。
  • 可扩展性:支持添加新工具甚至新智能体,能力可不断扩展升级。
  • GUI 支持:既可通过图形界面,也可通过命令行与智能体交互,使用门槛低。
  • 人机协作:不仅能遵循人类指令完成任务,遇到棘手问题时还会主动求助,协作能力强。

XAgent 原理

XAgent 的规划与任务执行通过双循环机制进行编排。简单来说,外循环负责全局高层管理,内循环则专注于每个子任务的具体执行与优化。

外循环

外循环充当高层规划器以及整个问题解决序列的主要协调者,其职责可分为两个步骤:

  • 生成初始计划:PlanAgent 先生成一个初始计划,将复杂任务拆解为更小、更易管理的子任务,放入任务队列中,按顺序排队等待执行。
  • 迭代式计划优化:初始计划落地后,PlanAgent 从队列中释放第一个任务交给内循环。它持续监控进展与状态,每个子任务完成后,内循环会返回 ToolAgent 的反馈。PlanAgent 根据反馈动态调整——优化计划或继续执行后续子任务,直到队列清空。

内循环

内循环负责执行外循环分配的子任务。基于外循环给定的任务,它会指定合适的 ToolAgent,确保结果可靠。内循环的关键点包括:

  • 智能体调度与工具获取:根据子任务的性质,派遣具备相应能力的 ToolAgent,并从外部系统获取必要工具。
  • 工具执行:ToolAgent 采用 ReACT 模式——寻找最佳的动作序列(即工具调用)来完成子任务。这类似人类解题时的“思考→行动”循环。
  • 反馈与反思:完成一系列动作后,ToolAgent 会发出一个名为“subtask_submit”的特定动作,将反馈和反思传递给 PlanAgent。反馈会说明子任务是否成功,或哪里可以改进。

PlanAgent:动态规划与迭代改进

PlanAgent 赋予智能体不断制定和修订计划的能力,以应对多变的环境和突发需求。它专用于外循环,通过生成初始计划和持续修订来达成目标。PlanAgent 包含四个关键函数:

  • 子任务拆分:将特定子任务进一步分解为更细粒度的单元,只有当前正在执行或尚未启动的子任务才有资格被拆分。
  • 子任务删除:删除尚未开始的子任务,进行中或已完成的任务不可删除。这保证了灵活性,可以裁剪多余或不相关的任务。
  • 子任务修改:修改子任务的内容,同样不能修改已经开始或已完成的任务,以保持整体计划的完整性。
  • 子任务添加:在特定子任务之后插入新任务,只能插在当前正在处理的子任务或其后续任务之后,确保执行顺序不乱。

ToolAgent:在函数调用中协同推理与行动

ToolAgent 使用 ReACT 模式,在每一轮中根据先前交互生成一个动作。关键是将推理和行动捆绑在同一个函数调用里——也就是说,“思考”过程和将要执行的动作都被视为特定函数的参数。每个函数调用包含以下组成部分:

  • 思考:智能体对任务的洞察力概括。
  • 推理:跟踪智能体得出思考的逻辑轨迹。
  • 批评:捕捉智能体对自身行动的反思,作为反馈回路,强调潜在疏忽或改进方向。
  • 指令:根据推理决定下一步要采取的动作。
  • 参数:列举要执行的动作的具体细节。

ToolServer:多样化的支持工具

ToolServer 包含三个关键组件:

  • ToolServerManager:管理 Docker 容器(即节点)的生命周期,处理创建、监控和关闭。新会话开始时,管理器可以创建一个新节点,并定期检查节点状态确保健康运行。
  • ToolServerMonitor:检查节点状态,更新状态,确保它们有效执行。如果节点长时间空闲,监视器会停止它以节省资源。
  • ToolServerNode:执行单元,在里面执行具体的动作,比如 API 调用、文件上传、工具检索等。

部署

1. 环境搭建

1.1 基本环境安装

git clone https://github.com/OpenBMB/XAgent.git
cd XAgent
# 安装依赖,python版本 >= 3.10
pip install -r requirements.txt

1.2 配置

运行之前,在 assets/config.yml 中配置 XAgent。需要至少提供 OpenAI key 用于访问 OpenAI API。如果想更换 XAgentServer 的 config_file 路径,需要修改 .env 文件中 CONFIG_FILE* 的值并重启 Docker 容器。

1.3 编译和运行 ToolServer

ToolServer 作为 Docker 容器,为 XAgent 运行提供安全环境。如果修改了配置,需要重新执行下面的命令:

docker compose up --build

4. 运行 XAgent

docker exec XAgent-Server systemctl start nginx

5. 访问 XAgent-Server

XAgent-Server 启动后,默认访问地址是 http://localhost:5173,需要确保端口对外开放。首次访问时,控制台会打印日志信息,类似这样:

XAgent-Server | XAgent Service Startup Param:
XAgent-Server | app: app:app
XAgent-Server | prod: False
XAgent-Server | base_dir: XAgentServer
XAgent-Server | use_redis: False
XAgent-Server | recorder_root_dir: running_records
XAgent-Server | default_login: True
XAgent-Server | check_running: False
XAgent-Server | host: 0.0.0.0
XAgent-Server | port: 8090
XAgent-Server | debug: True
XAgent-Server | reload: True
XAgent-Server | workers: 1
XAgent-Server | share_url: https://x-agent.net/api/conv/community
XAgent-Server | DB: 
XAgent-Server | Redis: 
XAgent-Server | Email: 
XAgent-Server | Upload: 
XAgent-Server | XAgent Service Init Dependence.
XAgent-Server | init a thread pool executor, max_workers: 1
XAgent-Server | XAgent Service Init Dependence: Complete!
XAgent-Server | Default user: Guest, token: xagent, you can use it to login
XAgent-Server | XAgent Server Dependences:
XAgent-Server | Python: 3.10+ 
XAgent-Server | FastAPI: Http server
XAgent-Server | Websocket: long connect with client
XAgent-Server | MySQL: sa ve xagent data
XAgent-Server | SqlAlchemy: ORM with MySQL
XAgent-Server | Redis: sa ve status of interaction
XAgent-Server | Threading: run interaction
XAgent-Server | APScheduler: send data to client and keep alive
XAgent-Server | FastAPI APIRouter: manage websocket route
XAgent-Server | XAgentError: XAgentServer.exts.exception_ext
XAgent-Server | XAgent Server Version:
XAgent-Server | V 1.1.0
XAgent-Server | Notes:
XAgent-Server | Since V 1.1.0, 
XAgent-Server | Local storage will no longer be supported, replaced by Mysql.
XAgent-Server | The service depends on Redis and Mysql, 
XAgent-Server | so you need to install Redis and Mysql before using it.
XAgent-Server | Before you use this service, please ensure that the following services are a vailable:
XAgent-Server | 1. Redis on docker, port: 6379, you can start it by docker, default password: xagent
XAgent-Server | 2. Mysql on docker, port: 3306, you can start it by docker
XAgent-Server | 3. XAgent Tool Server is runnning on port 8080
XAgent-Server | 4. Port 8090 is not occupied
来源:https://www.53ai.com/news/qianyanjishu/998.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。