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_clone
和 test_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 任务,请按照以下步骤运行推理:
前往 Huggingface 的 MultiHopRAG 页面并下载数据集,将其保存到你的数据路径。
运行以下命令以执行推理:
cd path/to/AutoAgent && sh evaluation/multihoprag/scripts/run_rag.sh
结果将保存到
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>