概述
XAgent是一个开源的、实验性的、由大型语言模型(LLM)驱动的自主代理,旨在无需人工干预即可解决各种复杂的任务。它旨在成为一个通用的、超智能的代理,能够处理任何给定任务,并正在持续开发以增强其能力。
主要目的和目标用户群体
- 主要目的:提供一个能够自动解决复杂任务的自主LLM代理,为各种应用提供通用解决方案。
- 目标用户群体:对利用自主AI代理进行任务自动化、复杂问题解决和探索AI前沿感兴趣的开发人员、研究人员和组织。这包括数据分析、软件开发、研究以及任何需要智能自动化的领域。
功能详情和操作
- 自主性:XAgent可以独立解决各种任务,最大限度地减少人类参与的需求。
- 安全性:操作被限制在Docker容器内,确保安全的执行环境。
- 可扩展性:用户可以轻松添加新工具,甚至新的代理,以增强XAgent的能力。
- 用户界面:提供友好的图形用户界面(GUI)和命令行界面(CLI)进行交互。
- 人机协作:XAgent可以与用户协作,遵循复杂任务的指导,并在遇到挑战时寻求帮助。
- 模块化架构:
- 调度器(Dispatcher):动态实例化并将任务分派给不同的代理。
- 规划器(Planner):生成并优化任务计划,将其分解为带有里程碑的子任务。
- 执行器(Actor):执行操作以实现目标并完成子任务,利用各种工具并与人类协作。
- 工具服务器(ToolServer):一个基于Docker的服务器,提供强大和安全的工具:
- 文件编辑器(File Editor):用于写入、读取和修改文件。
- Python Notebook:用于运行Python代码、验证想法和绘制图表的交互式环境。
- 网页浏览器(Web Browser):用于搜索和访问网页。
- Shell:执行shell命令,包括程序安装和服务托管。
- Rapid API集成(Rapid API Integration):访问并调用Rapid API(ToolBench集合)的各种API。
- 任务执行流程:
- 用户通过CLI或GUI提交任务。
- XAgent处理任务,生成计划,并执行操作。
- 所有生成的文件和中间步骤都保存在本地工作区和运行记录中。
- 记录可以加载以重现以前的运行,敏感信息已删除,以便安全共享。
用户收益
- 提高效率:自动化复杂任务,节省时间和资源。
- 增强问题解决能力:能够处理各种领域的复杂问题。
- 安全操作:Docker容器化确保执行操作的安全环境。
- 灵活性和可定制性:易于通过新工具和代理进行扩展,以满足特定需求。
- 改进协作:促进人类用户与AI代理之间的无缝交互。
- 可复现性:详细的运行记录允许轻松复现和分析过去的执行。
兼容性和集成
- 操作系统:ToolServer设置需要Docker和Docker Compose。
- Python版本:需要Python >= 3.10。
- API密钥:可配置OpenAI API密钥(推荐gpt-4-32k,支持gpt-4和gpt-3.5-turbo-16k)。
- Docker集成:ToolServer作为Docker容器运行,提供一个自包含的环境。
- Web UI:通过网页浏览器(http://localhost:5173)访问,进行GUI交互。
客户反馈和案例研究
- 数据分析:成功帮助用户进行复杂数据分析,包括数据检查、环境验证、代码生成和报告编制(例如iris.zip分析)。
- 推荐:通过在信息不足时主动寻求人类输入来展示人机协作(例如餐厅推荐)。
- 模型训练:能够执行复杂任务,例如训练机器学习模型(例如训练BERT模型进行电影评论情感分析)。
- 评估:在50多个真实复杂任务的人类偏好评估中,XAgent表现优于AutoGPT,这些任务分为搜索和报告、编码和开发、数据分析、数学和生活助手。
访问和激活方法
- 源代码:可在GitHub上获取 (github.com/OpenBMB/XAgent)。
- ToolServer设置:
- 拉取Docker镜像:
docker compose up - 从本地源代码构建:
docker compose build后docker compose up
- 拉取Docker镜像:
- XAgent设置:
- 安装依赖:
pip install -r requirements.txt - 在
assets/config.yml中配置API密钥。 - 运行XAgent:
python run.py --task "put your task here" --config-file "assets/config.yml"
- 安装依赖:
- GUI访问:启动XAgent-Server容器后访问
http://localhost:5173。默认凭据:用户名guest,密码xagent。