Full-Code · Orchestration Frameworksmaintenance

XAgent

Type: full-code  ·  Vendor: OpenBMB / Tsinghua  ·  Language: Python  ·  License: Apache-2.0  ·  Status: maintenance  ·  Status in practice: emerging

Links: homepage docs repo

Autonomous LLM agent for complex task solving with an outer planner / inner actor architecture, a dispatcher that spawns specialised sub-agents, a sandboxed ToolServer for actions, and human-in-the-loop assistance.

Description. XAgent is OpenBMB's general-purpose autonomous agent. Its distinctive architecture splits responsibilities across three components: a Planner that decomposes the user task into subtasks and milestones, an Actor (executor) that runs tools to achieve each subtask, and a Dispatcher that dynamically spawns specialised sub-agents and adds them to the agent pool. All actions run inside a Docker-isolated ToolServer that exposes File Editor, Python Notebook, Web Browser, Shell, and RapidAPI tools. Human-in-the-loop is first-class — the agent asks for guidance when blocked.

Agent loop shape. Three-tier loop. The outer Planner decomposes the user goal into a milestone-annotated subtask list. For each subtask, the Dispatcher selects (or spawns) a specialised Actor and hands it the subtask. The Actor runs an inner ReAct loop calling ToolServer tools (file edit, Python notebook, web browser, shell, RapidAPI) until the subtask succeeds, fails, or escalates. Failures bubble back to the Planner which can re-plan or ask the human for help.

Primary use cases

  • autonomous research, data collection, and report generation tasks
  • research on outer-inner planner-executor architectures
  • Docker-isolated tool execution for safer agent experiments
  • human-in-the-loop assisted task completion

Key concepts

  • Planner / Actor / Dispatcher hierarchical-agentsThree-role architectural split: planning, execution, agent provisioning.
  • ToolServer sandbox-isolationDocker-isolated tool execution environment shared by all Actors.
  • Inner-outer loop hierarchical-agentsOuter planning loop wraps inner per-subtask ReAct execution loops.

Patterns this full-code implements

Neighbourhood

Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.