XAgent:一种自主的通用代理,将复杂任务分解为子任务并在安全的 Docker 沙箱中执行
它解决的问题
XAgent 是一种自主代理,旨在在无需持续人工干预的情况下解决复杂的通用任务。它通过将多步骤工作流(例如数据分析、编码和研究)拆分为可管理的子任务,并在沙箱环境中安全执行,从而应对执行这些工作流的挑战。
它是如何工作的
XAgent 使用三部分架构来管理任务执行:
- Dispatcher:动态地将任务分配给适当的代理。
- Planner:将高级目标拆分为子任务和里程碑,并在进展中纠正计划。
- Actor:使用一套工具执行实际步骤,并在遇到障碍时能够与人类协作。
为了确保安全,所有操作都在 ToolServer 中执行,它是基于 Docker 的容器,提供安全的环境。该服务器为代理提供文件编辑器、Python 笔记本、网页浏览器和 bash shell 的访问权限。
适用人群
它面向需要 LLM 驱动的助手,能够在保持安全执行环境的同时自主完成软件工程、数据科学和通用研究任务的用户。
亮点
- Sandboxed Execution:所有工具的使用都在 Docker 容器内部进行,以确保安全。
- Human-in-the-loop:当缺少信息时,代理可以通过
AskForHumanHelp工具主动寻求人类帮助。 - Extensible Toolset:支持包括 Python 笔记本、Shell 访问和 Rapid API 集成在内的广泛工具。
- Integrated GUI:提供基于网页的界面,以便在命令行之外与代理交互。
Sources
- RepoOpenBMB/XAgent