AutoAgent:赋能自然语言驱动的LLM智能体开发

在快速发展的人工智能时代,大型语言模型(LLM)智能体正成为自动化复杂任务的关键力量。AutoAgent 是一个开创性的框架,旨在提供一个全自动化、零代码的LLM智能体开发环境,其核心特色在于其强大的自然语言定制能力。与传统智能体框架不同,AutoAgent 允许用户仅凭自然语言即可创建工具、智能体乃至复杂的智能体工作流。

核心功能概览

AutoAgent 提供两种主要模式,使用户能够通过对话式交互来构建智能体:

智能体编辑器(Agent Editor)

这是 AutoAgent 最具特色的功能之一。通过 agent editor 模式,用户无需编写任何代码,只需使用自然语言描述其需求,即可创建自定义的智能体。这种直观的交互方式大大降低了智能体开发的门槛,使得非技术用户也能轻松设计和部署智能体。

工作流编辑器(Workflow Editor)

除了创建单个智能体,AutoAgent 还支持通过 workflow editor 模式来构建智能体工作流。用户同样可以通过自然语言描述,将多个智能体或工具串联起来,形成一个解决复杂任务的自动化流程。需要注意的是,目前该模式暂时不支持工具的创建功能。

快速上手指南

要开始使用 AutoAgent,请遵循以下详细步骤:

安装 AutoAgent

首先,你需要克隆 AutoAgent 仓库并安装其依赖:

git clone https://github.com/HKUDS/AutoAgent.git
cd AutoAgent
pip install -e .

安装 Docker

AutoAgent 利用 Docker 来容器化智能体交互环境,因此请确保你已安装 Docker。你无需手动拉取预构建镜像,Auto-Deep-Research 会根据你的机器架构自动完成此操作。

API 密钥设置

创建一个 .env 文件(可参考 .env.template),并配置你希望使用的LLM提供商的API密钥。并非所有密钥都是必需的,只需设置你需要的服务即可。

GITHUB_AI_TOKEN=
OPENAI_API_KEY=
DEEPSEEK_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
HUGGINGFACE_API_KEY=
GROQ_API_KEY=
XAI_API_KEY=
MISTRAL_API_KEY=
OPENROUTER_API_KEY=

通过 CLI 模式启动

AutoAgent 提供了易于使用的命令行界面(CLI)来启动。

你可以运行 auto main 来启动 AutoAgent 的完整功能,包括用户模式、智能体编辑器和工作流编辑器。此外,你也可以运行 auto deep-research 来启动更轻量级的用户模式,类似于 Auto-Deep-Research 项目。

命令选项

以下是 auto main 命令的一些常用配置选项:

  • --container_name: Docker 容器的名称(默认值: ‘deepresearch’)
  • --port: 容器的端口(默认值: 12346)
  • COMPLETION_MODEL: 指定要使用的LLM模型。模型名称应遵循 LiteLLM 的命名规范。(默认值: claude-3-5-sonnet-20241022
  • DEBUG: 启用调试模式以获取详细日志(默认值: False)
  • API_BASE_URL: LLM提供商的基础URL(默认值: None)
  • FN_CALL: 启用函数调用(默认值: None)。大多数情况下,可以忽略此选项,因为系统已根据模型名称设置了默认值。
  • git_clone: 将 AutoAgent 仓库克隆到本地智能体交互环境(仅支持 auto main 命令,默认值: True)
  • test_pull_name: 测试拉取(pull)的名称(仅支持 auto main 命令,默认值: ‘autoagent_mirror’)
关于 git_clonetest_pull_name 的更多细节

在智能体编辑器和工作流编辑器模式下,AutoAgent 需要克隆其仓库的一个镜像到本地智能体交互环境,以便自动更新自身,例如创建新的工具、智能体和工作流。因此,如果你打算使用这两种模式,应将 git_clone 设置为 True,并将 test_pull_name 设置为 ‘autoagent_mirror’ 或其他分支。

使用不同LLM提供商启动 auto main

以下是使用 auto main 命令和不同LLM提供商的示例。对于 auto deep-research 命令,请参考 Auto-Deep-Research 项目。

Anthropic

  • .env 文件中设置 ANTHROPIC_API_KEY
  • 运行以下命令:
    auto main # 默认模型为 claude-3-5-sonnet-20241022
    

OpenAI

  • .env 文件中设置 OPENAI_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=gpt-4o auto main
    

Mistral

  • .env 文件中设置 MISTRAL_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=mistral/mistral-large-2407 auto main
    

Gemini - Google AI Studio

  • .env 文件中设置 GEMINI_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=gemini/gemini-2.0-flash auto main
    

Huggingface

  • .env 文件中设置 HUGGINGFACE_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=huggingface/meta-llama/Llama-3.3-70B-Instruct auto main
    

Groq

  • .env 文件中设置 GROQ_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=groq/deepseek-r1-distill-llama-70b auto main
    

兼容 OpenAI 的终端(例如 Grok)

  • .env 文件中设置 OPENAI_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=openai/grok-2-latest API_BASE_URL=https://api.x.ai/v1 auto main
    

OpenRouter(例如 DeepSeek-R1)

  • 推荐暂时通过 OpenRouter 使用 DeepSeek-R1,因为官方API可能效率不高。
  • .env 文件中设置 OPENROUTER_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=openrouter/deepseek/deepseek-r1 auto main
    

DeepSeek

  • .env 文件中设置 DEEPSEEK_API_KEY
  • 运行以下命令:
    COMPLETION_MODEL=deepseek/deepseek-chat auto main
    

CLI 模式启动后,你将看到 AutoAgent 的欢迎页面。

实用技巧

导入浏览器 Cookies 到浏览器环境

你可以将浏览器 Cookies 导入到 AutoAgent 的浏览器环境中,以便智能体更好地访问特定网站。更多详细信息,请参阅项目中的 cookies 文件夹。

添加第三方工具平台的 API 密钥

如果你希望从 RapidAPI 等第三方工具平台创建工具,你需要从平台订阅工具,并通过运行 process_tool_docs.py 脚本来添加自己的API密钥。

python process_tool_docs.py

敬请期待更多功能!🚀 Web GUI 界面正在积极开发中。

未来展望

AutoAgent 正在持续发展中。以下是即将推出的功能列表:

  • 📊 更多基准测试:将评估扩展到 SWE-bench、WebArena 等。
  • 🖥️ GUI 智能体:支持基于 GUI 交互的“计算机使用”智能体。
  • 🔧 工具平台:集成更多工具平台,如 Composio。
  • 🏗️ 代码沙箱:支持额外的环境,如 E2B。
  • 🎨 Web 界面:开发全面的图形用户界面,以提供更好的用户体验。

如果你有任何想法或建议,请随时提交问题。请持续关注更多激动人心的更新!🚀

如何复现论文结果

GAIA 基准测试

要运行 GAIA 基准测试的推理,请执行以下命令:

cd path/to/AutoAgent && sh evaluation/gaia/scripts/run_infer.sh

要进行评估,请运行以下命令:

cd path/to/AutoAgent && python evaluation/gaia/get_score.py

Agentic-RAG

对于 Agentic-RAG 任务,请按照以下步骤运行推理:

  1. 前往 Huggingface 的 MultiHopRAG 页面并下载数据集,将其保存到你的数据路径。

  2. 运行以下命令以执行推理:

    cd path/to/AutoAgent && sh evaluation/multihoprag/scripts/run_rag.sh
    
  3. 结果将保存到 evaluation/multihoprag/result.json 文件中。

文档

更详细的文档即将发布,并将在 AutoAgent 的文档页面更新。

加入社区

我们致力于为 AutoAgent 建立一个活跃的社区,并欢迎所有人的加入。你可以通过以下方式参与:

  • 加入我们的 Slack 工作区:在这里,我们讨论研究、架构和未来开发。
  • 加入我们的 Discord 服务器:这是一个由社区运营的服务器,用于一般讨论、提问和反馈。
  • 阅读或发布 GitHub Issues:查看我们正在处理的问题,或提出你自己的想法。

致谢

AutoAgent 的构建离不开众多先行者的卓越工作。我们的框架架构从 OpenAI Swarm 中汲取灵感,用户模式的三智能体设计则受益于 Magentic-one 的洞察。我们还从 OpenHands 学习了文档结构,并从许多其他优秀项目中学到了智能体与环境交互的设计,在此对所有这些对塑造 AutoAgent 至关重要的开创性工作表示诚挚的感谢和敬意。

引用

如果你在研究中使用了 AutoAgent,请考虑引用我们的工作:

@misc{AutoAgent,
      title={{AutoAgent: A Fully-Automated and Zero-Code Framework for LLM Agents}},
      author={Jiabin Tang, Tianyu Fan, Chao Huang},
      year={2025},
      eprint={202502.05957},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2502.05957},
}

<a href="https://github.com/HKUDS/AutoAgent" target="_blank">查看更多详情</a>