AutoAgent 全解析:零代码自然语言驱动的 LLM Agent 框架从安装到实战
【免费下载链接】AutoAgent"AutoAgent: Fully-Automated and Zero-Code LLM Agent Framework"项目地址: https://gitcode.com/GitHub_Trending/au/AutoAgent
AutoAgent 是一款全自动、零代码的 LLM Agent 框架,其核心思想是让用户仅凭自然语言对话即可创建、编排并部署 Agent、工具与工作流,无需编写任何代码。本文将围绕项目官方 README 展开,结合仓库源码(CLI 入口、常量与环境变量解析、元代理实现 等)深入讲解三大使用模式、安装配置、CLI 启动、多 LLM 适配与论文结果复现流程,帮助你从零开始跑通 AutoAgent,并理解其"自开发(Self-Developing)"能力背后的调用链设计。
一、AutoAgent 是什么:核心特性一览
AutoAgent 是原 MetaChain 项目的更名升级版(v0.2.0),定位为Fully-Automated & Zero-Code LLM Agent Framework。它不是一个"给你一堆基座 Agent 让你自己拼装"的框架,而是让LLM 自己根据自然语言需求去生成 Agent、工具与工作流,官方称之为高度"自我开发"(Self-Developing)的框架。
其核心特性(源自 README 的 Key Features)可归纳为五条:
- 自然语言驱动的 Agent 构建(Natural Language-Driven Agent Building):仅通过自然语言对话,即可自动构建并编排协作式 Agent 系统,彻底省去手工编码与技术配置。
- 零代码框架(Zero-Code Framework):不要求任何编程经验,任何人都能用自然语言创建、定制自己的 Agent、工具与工作流,从而"民主化" AI 开发。
- 自管理工作流生成(Self-Managing Workflow Generation):基于高层任务描述动态创建、优化与适配 Agent 工作流——即使你无法完整描述实现细节,系统也能补全。
- 智能资源编排(Intelligent Resource Orchestration):通过迭代式自我改进,受控地生成代码来创建工具、Agent 与工作流,同时支持单 Agent 创建与多 Agent 工作流生成。
- 自博弈式 Agent 定制(Self-Play Agent Customization):以"创建→运行测试→失败重试→自我改进"的循环完成 Agent 定制,保证产物可运行、可验证。
这五条特性共同指向一个事实:在 AutoAgent 中,"编程者"是 LLM 本身,用户只负责描述"我想要什么"。
二、三大使用模式:从"现成"到"定制"的三种路径
AutoAgent 在启动页提供三种模式(对应 cli.py 中的single_select_menu分支):
| 模式 | 定位 | 说明 |
|---|---|---|
user mode | 深度研究(Deep Research Agents) | 开箱即用的多 Agent 研究助手,负责信息检索、复杂分析与报告生成 |
agent editor | 无工作流的 Agent 创建 | 用自然语言直接创建工具与 Agent(可单 Agent 或多 Agent 编排) |
workflow editor | 带工作流的 Agent 创建 | 用自然语言创建 Agent 工作流(注意:当前暂不支持在该模式内创建工具) |
下面分别结合源码深入剖析。
2.1user mode:开箱即用的深度研究多 Agent 系统
user mode是 AutoAgent 内置的"开箱即用"多 Agent 系统,定位为完整的 AI 研究助理,可用于信息检索、复杂分析任务与综合报告生成。README 总结了它的五个优势:
- 高性能:能力对标 Deep Research(采用 Claude 3.5 级别的模型而非 OpenAI o3)。
- 模型灵活:兼容任意 LLM,包括 DeepSeek-R1、Grok、Gemini 等。
- 高性价比:作为开源方案,可替代约 $200/月的 Deep Research 订阅。
- 易用:提供易于部署的 CLI 交互界面。
- 文件支持:支持文件上传,增强数据交互能力。
源码级印证:从 cli.py 可以看到,user_mode的核心是get_system_triage_agent(model)构建的System Triage Agent(系统分流 Agent),其定义在 system_triage_agent.py。它是一个"调度中枢",职责是根据当前任务上下文判断哪个子 Agent 最合适,并将对话转移过去,直到任务完成。它管理的三个子 Agent 分别是:
- File Surfer Agent(
filesurfer_agent):打开并浏览任意类型的本地文件; - Web Surfer Agent(
websurfer_agent):打开任意网站并浏览内容; - Coding Agent(
coding_agent):编写代码解决复杂任务。
调度通过transfer_to_filesurfer_agent、transfer_to_websurfer_agent、transfer_to_coding_agent三个转移工具完成,子 Agent 完成任务后再通过transfer_back_to_triage_agent把会话交还给分流 Agent——这正是"分流→执行→回流"的三层协作循环。
在交互上,CLI 支持输入@Agent名直接指定由某个 Agent 处理(如@Web_Surfer_Agent),也支持@Upload_files上传本地文件;输入exit即可退出(见 cli.py)。
2.2agent editor:无工作流地"对话式造 Agent"
agent editor是 AutoAgent 最具辨识度的能力:不写一行代码,用自然语言对话创建工具与 Agent。其完整流程可拆解为四个阶段(对应 README 中的四张流程截图):
- 输入需求(requirement):描述你想创建什么样的 Agent;
- 自动画像(automated agent profiling):系统生成 XML 格式的 Agent 表单;
- 输出画像(agent profiles):展示解析后的 Agent 表单;
- 创建工具(tools)→ 创建 Agent(agents):先补齐所需新工具并逐一测试,再创建单个 Agent 或多个 Agent(通过编排器连接),最后用
run_agent运行测试,成功后进入下一步。
源码级印证:agent editor的编排逻辑位于 metachain_meta_agent.py,它依次驱动三个元代理(Meta Agent):
- Agent Former Agent(agent_former.py):执行
agent_profiling,把用户需求转化为<agents>...</agents>包裹的 XML 表单,并用 form_complie.py 中的parse_agent_form解析校验,失败时最多自动重试 3 次(MAX_RETRY = 3); - Tool Editor Agent(tool_editor.py):执行
tool_editing,为表单中标记为"新建"的工具逐一调用create_tool,并强制用run_tool测试通过后才能结束(否则走case_not_resolved进入重试); - Agent Creator Agent(agent_creator.py):执行
agent_editing,调用create_agent创建单个 Agent;若需多个 Agent,则必须调用create_orchestrator_agent创建编排器,最后用run_agent运行测试。
整个过程采用"必须验证成功才能停止"的策略:case_resolved/case_not_resolved两个哨兵工具决定了循环是否终止,失败会自动携带错误信息重试,最多 3 轮。这正是 README 所说"Self-Play Agent Customization / 迭代式自我改进"的具体实现。
2.3workflow editor:带工作流的自然语言创建
workflow editor与agent editor思路一致,区别在于输出对象是**工作流(Workflow)**而非单个 Agent。README 特别提示:该模式当前不支持工具创建。
源码级印证:编排逻辑位于 metachain_meta_workflow.py,同样分成两步:
- Workflow Profiling:
workflow_profiling让 Workflow Former Agent 输出 XML 格式的工作流表单,由 worklow_form_complie.py 的parse_workflow_form解析为WorkflowForm(失败最多重试 3 次); - Workflow Editing:
workflow_editing让 Workflow Creator Agent 先创建工作流表单中标记为new的新 Agent(若指定了工具列表则带上,否则用空工具列表[]),再调用create_workflow创建工作流,最后用run_workflow运行测试,成功后才通过case_resolved结束。
三、Quick Start:安装与环境准备
3.1 安装 AutoAgent
克隆仓库并使用可编辑模式安装:
git clone https://gitcode.com/GitHub_Trending/au/AutoAgent.git cd AutoAgent pip install -e .安装后即获得auto命令入口。从 setup.cfg 可以看到其注册方式:
[options.entry_points] console_scripts = auto = autoagent.cli:cli也就是说auto命令最终指向 autoagent/cli.py 中的 Click CLI 组。
3.2 Docker 安装
AutoAgent 使用 Docker 将Agent 交互环境(代码执行环境)容器化,因此需要先安装 Docker。无需手动拉取预构建镜像——AutoAgent 会根据你机器的 CPU 架构自动选择并拉取对应镜像。这一逻辑在 constant.py 中实现:x86/amd64 架构使用tjbtech1/metachain:amd64_latest,ARM 或其他架构使用tjbtech1/metachain:latest;你也可以通过环境变量BASE_IMAGES手动指定镜像。
3.3 API Keys 配置
仿照项目中的.env.template创建环境变量文件.env,填入你需要的 LLM API Key。并非所有 Key 都是必需的,按需配置即可:
# 必填:你自己的 GitHub Token GITHUB_AI_TOKEN= # 可选 API Keys OPENAI_API_KEY= DEEPSEEK_API_KEY= ANTHROPIC_API_KEY= GEMINI_API_KEY= HUGGINGFACE_API_KEY= GROQ_API_KEY= XAI_API_KEY=其中GITHUB_AI_TOKEN是agent editor / workflow editor 模式所必需的:AutoAgent 会在容器内克隆一份 AutoAgent 仓库镜像,让框架"自我更新"(自动新增工具、Agent、工作流),因此需要该 Token 完成拉取操作。.env文件会在导入时被自动加载(见 constant.py 的load_dotenv())。
四、CLI 模式启动:auto main与auto deep-research
4.1 两个入口命令
auto main:启动 AutoAgent 完整功能,包含user mode、agent editor、workflow editor三种模式(cli.py);auto deep-research:只启动轻量版user mode,对标独立的 Auto-Deep-Research 项目(cli.py)。
启动后你会看到 AutoAgent 的启动页,随后通过方向键选择模式进入交互。
4.2 命令行选项详解
| 选项 / 环境变量 | 说明 | 默认值 |
|---|---|---|
--container_name | Docker 容器名称 | deepresearch(auto deep-research)/auto_agent(auto main,见 cli.py) |
--port | 容器通信端口 | 12346(auto deep-research)/12347(auto main) |
COMPLETION_MODEL | 指定使用的 LLM 模型名,需遵循 LiteLLM 的模型命名规范 | claude-3-5-sonnet-20241022 |
DEBUG | 是否开启调试模式输出详细日志 | False |
API_BASE_URL | LLM 提供方的 Base URL | None |
FN_CALL | 是否启用函数调用(Function Calling) | None(通常无需手动设置,框架会按模型名自动推断) |
git_clone | 是否在本地环境克隆 AutoAgent 仓库镜像(仅auto main支持) | True |
test_pull_name | 测试拉取分支名(仅auto main支持) | autoagent_mirror |
local_env | 是否使用本地环境代替 Docker 容器 | False |
关于FN_CALL的自动推断:在 constant.py 中定义了一组模型名单——NOT_SUPPORT_FN_CALL(如o1-mini、deepseek-reasoner、deepseek-r1、llama、grok-2)和NOT_USE_FN_CALL(在上一组基础上追加deepseek-chat)。当COMPLETION_MODEL命中这些名单时,FN_CALL会被自动置为False,并进入"非函数调用"模式;ADD_USER也会根据MUST_ADD_USER名单(deepseek-reasoner、o1-mini、deepseek-r1)自动开启。因此 README 建议"大多数情况下可以忽略这个选项"。
关于git_clone与test_pull_name的细节:在agent editor与workflow editor模式下,AutoAgent 需要克隆一份仓库镜像到本地 Agent 交互环境,以便"自我更新"(自动新增工具、Agent、工作流)。因此若想使用这两种模式,应保持git_clone=True,并将test_pull_name设为autoagent_mirror或其它你指定的分支。
4.3 不同 LLM Provider 的启动示例
以下命令均以auto main为例(auto deep-research用法类似,细节可参考 Auto-Deep-Research 项目)。
Anthropic(Claude,默认)
在.env中设置:
ANTHROPIC_API_KEY=your_anthropic_api_key启动(默认模型即为 Claude):
auto mainOpenAI
OPENAI_API_KEY=your_openai_api_keyCOMPLETION_MODEL=gpt-4o auto mainMistral
MISTRAL_API_KEY=your_mistral_api_keyCOMPLETION_MODEL=mistral/mistral-large-2407 auto mainGemini(Google AI Studio)
GEMINI_API_KEY=your_gemini_api_keyCOMPLETION_MODEL=gemini/gemini-2.0-flash auto mainHugging Face
HUGGINGFACE_API_KEY=your_huggingface_api_keyCOMPLETION_MODEL=huggingface/meta-llama/Llama-3.3-70B-Instruct auto mainGroq
GROQ_API_KEY=your_groq_api_keyCOMPLETION_MODEL=groq/deepseek-r1-distill-llama-70b auto mainOpenAI 兼容端点(如 Grok)
OPENAI_API_KEY=your_api_key_for_openai_compatible_endpointsCOMPLETION_MODEL=openai/grok-2-latest API_BASE_URL=https://api.x.ai/v1 auto mainOpenRouter(如 DeepSeek-R1)
建议:暂时推荐使用 OpenRouter 作为 DeepSeek-R1 的 LLM 提供方,因为 DeepSeek-R1 官方 API 目前无法高效使用。
OPENROUTER_API_KEY=your_openrouter_api_keyCOMPLETION_MODEL=openrouter/deepseek/deepseek-r1 auto mainDeepSeek
DEEPSEEK_API_KEY=your_deepseek_api_keyCOMPLETION_MODEL=deepseek/deepseek-chat auto main需要说明:上述
.env中的 Provider 对应 Key 在 constant.py 中会通过os.getenv读取(如ANTHROPIC_API_KEY、GEMINI_API_KEY等),最终交给底层的 LiteLLM 统一调用,因此模型命名必须遵循 LiteLLM 规范(如mistral/...、gemini/...、openrouter/...的前缀约定)。
4.4 CLI 交互体验
启动后,user mode与三个元代理模式都支持输入@直接提及某个 Agent、Tab 自动补全 Agent 名称;所有模式的退出方式均为输入exit。auto main启动时还会初始化三类运行环境(见 cli.py):代码环境(DockerEnv,执行代码)、网页环境(BrowserEnv,浏览网页)、文件环境(RequestsMarkdownBrowser,读写文件),并把它们作为context_variables注入 Agent 上下文。
五、进阶技巧:Cookies 导入与第三方工具平台
5.1 将浏览器 Cookies 导入浏览器环境
为了让 Agent 更好地访问某些特定网站(如需要登录的学术站点),你可以把真实浏览器的 Cookies 导入 AutoAgent 的浏览器环境。具体步骤(详见 autoagent/environment/cookie_json/README.md):
- 使用 Google Chrome 浏览器安装扩展"Export cookie JSON file for Puppeteer";
- 登录目标网站后,用扩展导出 Cookies,将 JSON 文件保存到
autoagent/environment/cookie_json/目录; - 执行转换命令,将所有 JSON 合并生成 Python 代码文件:
cd path/to/AutoAgent && python autoagent/environment/browser_cookies.py该脚本(browser_cookies.py)会遍历cookie_json目录下所有*.json文件,汇总为cookies_data.py中的COOKIES_LIST,供浏览器环境加载。
README 建议优先导出的站点包括:archive.org、github.com、nature.com、orcid.org、collinsdictionary.com、jstor.org、ncbi.nlm.nih.gov、pnas.org、reddit.com、researchgate.net、youtube.com 等。
5.2 为第三方工具平台(如 RapidAPI)添加自己的 API Key
若想从第三方工具平台(如 RapidAPI)创建工具,需要先在平台上订阅相应工具,然后运行 process_tool_docs.py 把你的 API Key 写入工具文档:
python process_tool_docs.py脚本会读取tool_docs.csv,列出所有 RapidAPI 工具,交互式询问你的 RapidAPI API Key,并把文档中所有YOUR_RAPID_API_KEY占位符替换为真实 Key 后写回(process_tool_docs.py)。更方便的工具平台(如 Composio)集成正在开发中。
六、复现论文结果:GAIA 与 Agentic-RAG
AutoAgent 论文的实验结果可通过仓库中的评测脚本复现。注意评测环境变量会覆盖默认配置(如EVAL_MODE=True、BASE_IMAGES=tjbtech1/gaia-bookworm:v2),具体可见评测脚本头部。
6.1 GAIA Benchmark
运行推理:
cd path/to/AutoAgent && sh evaluation/gaia/scripts/run_infer.sh该脚本(run_infer.sh)设置COMPLETION_MODEL=claude-3-5-sonnet-20241022、agent_func=get_system_triage_agent(即复用user mode的分流 Agent 架构)等环境变量后,调用 evaluation/gaia/run_infer.py 执行评测。
评分:
cd path/to/AutoAgent && python evaluation/gaia/get_score.py6.2 Agentic-RAG(MultiHopRAG)
Step 1:前往 Hugging Face 数据集页面下载 MultiHopRAG 数据集,保存到你的数据路径。
Step 2:运行推理脚本:
cd path/to/AutoAgent && sh evaluation/multihoprag/scripts/run_rag.sh脚本(run_rag.sh)同样通过环境变量指定评测容器与模型(默认gpt-4o-mini-2024-07-18),随后调用 evaluation/multihoprag/run_rag.py。
Step 3:结果将保存到evaluation/multihoprag/result.json。
七、路线图与引用
AutoAgent 仍在持续演进,README 公布了以下开发计划:扩展SWE-bench、WebArena等更多基准评测;支持Computer-Use类型的 GUI Agent;集成Composio等更多工具平台;支持E2B等更多代码沙箱环境;以及开发完整的Web GUI 界面。
如果你在研究或工程中使用 AutoAgent,可按如下方式引用(节选自 README):
@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}, }八、总结
AutoAgent 的价值在于把"创建 Agent"这件事本身也交给了 LLM:user mode提供开箱即用的深度研究多 Agent 系统,agent editor与workflow editor则通过"表单画像 → 工具创建与测试 → Agent/工作流创建与运行验证"的元代理流水线,让零代码用户也能获得可运行、经过实测的自定义 Agent。从 constant.py 的环境变量自动推断、cli.py 的三模式编排,到 metachain_meta_agent.py 与 metachain_meta_workflow.py 的"必须运行成功才停止"重试机制,整个框架都贯彻了"全自动、自我开发"的设计哲学——你只需要描述需求,剩下的交给 AutoAgent。
【免费下载链接】AutoAgent"AutoAgent: Fully-Automated and Zero-Code LLM Agent Framework"项目地址: https://gitcode.com/GitHub_Trending/au/AutoAgent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考