XAgent:一個自主的通用代理,將複雜任務分解為子任務並在安全的 Docker 沙盒中執行

它解決的問題

XAgent 是一個自主代理,旨在解決複雜且通用的任務,無需持續的人類介入。它透過將多步驟工作流程(例如資料分析、程式編寫與研究)分解為可管理的子任務,並在沙盒環境中安全執行,來應對此挑戰。

工作原理

XAgent 使用三部分架構來管理任務執行:

  • Dispatcher:動態將任務指派給適當的代理。
  • Planner:將高階目標拆解為子任務與里程碑,並在執行過程中修正計畫。
  • Actor:使用一系列工具執行實際步驟,並在遇到阻礙時能與人類協作。

為確保安全,所有操作皆在 ToolServer 內執行,這是一個基於 Docker 的容器,提供安全環境。該伺服器讓代理能存取檔案編輯器、Python 筆記本、網頁瀏覽器以及 Bash 殼。

目標使用者

它適用於需要 LLM 驅動助理,能在保持安全執行環境的前提下,自主執行軟體工程、資料科學與一般研究任務的使用者。

重點特色

  • Sandboxed Execution:所有工具的使用皆在 Docker 容器內進行,以確保安全。
  • Human-in-the-loop:當缺少資訊時,代理可透過 AskForHumanHelp 工具主動尋求人類協助。
  • Extensible Toolset:支援包括 Python 筆記本、殼層存取以及 Rapid API 整合在內的廣泛工具。
  • Integrated GUI:提供基於網頁的介面,讓使用者能在命令列之外與代理互動。

Sources