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
- RepoOpenBMB/XAgent