【零基础部署】Docker 部署 AutoGen 多 Agent 对话框架保姆级教程
AutoGen 是微软开源的多 Agent 对话框架让多个 AI Agent 互相协作完成复杂任务。比如让一个 Agent 当「程序员」写代码另一个当「代码审查员」检查质量第三个当「产品经理」提需求——它们自动对话最终产出高质量的结果。本教程将手把手教你用 Docker 部署 AutoGen Studio零基础也能跟着做。1. 什么是 AutoGen1.1 核心概念AutoGen 的核心思想是多 Agent 对话Agent一个有特定角色和能力的 AI 实体如程序员、审查员、产品经理对话Agent 之间通过消息交互来协作完成任务工作流定义 Agent 之间的协作方式和对话流程1.2 AutoGen StudioAutoGen Studio 是 AutoGen 的可视化界面提供拖拽式工作流设计不用写代码就能搭建多 Agent 系统实时对话监控观察 Agent 之间的对话过程组件市场内置常用的 Agent 和工具模板一键部署把设计好的工作流直接部署为 API1.3 为什么用 Docker 部署AutoGen 依赖较多Python、前端、数据库Docker 把所有依赖打包在一起避免环境冲突。2. 环境准备2.1 硬件要求配置项最低要求推荐配置CPU2 核4 核内存4GB8GB磁盘10GB 可用空间20GBGPU不需要不需要AutoGen 调用外部 API说明AutoGen 本身不需要 GPU它调用 OpenAI、Anthropic 等云端 API。如果你要用本地模型才需要 GPU。2.2 软件要求Docker 20.10Docker Compose v2OpenAI API Key或其他 LLM 提供商的 Key2.3 获取 API KeyAutoGen 需要一个 LLM 提供商的 API KeyOpenAI访问 https://platform.openai.com/api-keys 创建Anthropic访问 https://console.anthropic.com/ 创建本地模型可以用 Ollama后续章节会讲3. 使用 Docker 部署3.1 快速启动推荐新手# 创建数据目录mkdir-p~/autogen-data# 设置 API KeyexportOPENAI_API_KEYyour_openai_api_key_here# 运行 AutoGen Studiodockerrun-d\--nameautogen-studio\-p8080:8080\-v~/autogen-data:/app/data\-eOPENAI_API_KEY${OPENAI_API_KEY}\autogen/autogenstudio:latest参数说明-p 8080:8080映射 Web 界面端口-v ~/autogen-data:/app/data持久化数据避免容器重启后丢失-e OPENAI_API_KEY传入 API Key3.2 使用 Docker Compose推荐创建项目目录mkdir-p~/autogen-studiocd~/autogen-studio创建docker-compose.ymlversion:3.8services:autogen-studio:image:autogen/autogenstudio:latestcontainer_name:autogen-studioports:-8080:8080volumes:-./data:/app/dataenvironment:-OPENAI_API_KEY${OPENAI_API_KEY}# 可选使用 Anthropic# - ANTHROPIC_API_KEY${ANTHROPIC_API_KEY}# 可选使用本地 Ollama# - OLLAMA_BASE_URLhttp://host.docker.internal:11434restart:unless-stoppedhealthcheck:test:[CMD,curl,-f,http://localhost:8080/api/health]interval:30stimeout:10sretries:3创建.env文件echoOPENAI_API_KEYyour_openai_api_key_here.env启动服务# 启动dockercompose up-d# 查看日志dockercompose logs-f# 检查状态dockercomposeps3.3 使用本地模型Ollama如果你想用本地模型而不是云端 API可以同时部署 Ollamaversion:3.8services:ollama:image:ollama/ollama:latestcontainer_name:ollamaports:-11434:11434volumes:-ollama-data:/root/.ollamadeploy:resources:reservations:devices:-driver:nvidiacount:allcapabilities:[gpu]restart:unless-stoppedautogen-studio:image:autogen/autogenstudio:latestcontainer_name:autogen-studioports:-8080:8080volumes:-./data:/app/dataenvironment:-OLLAMA_BASE_URLhttp://ollama:11434depends_on:-ollamarestart:unless-stoppedvolumes:ollama-data:启动后先拉取模型dockerexecollama ollama pull qwen2.5:7b4. 访问与使用4.1 打开界面浏览器访问http://localhost:8080你会看到 AutoGen Studio 的主界面。4.2 配置模型首次使用需要配置 LLM 提供商点击左侧「Settings」在「Model Providers」中添加你的 API Key选择模型如gpt-4o、gpt-4o-mini点击「Test Connection」验证连接4.3 创建第一个多 Agent 工作流点击「Create New Workflow」从组件市场拖入 AgentProduct Manager负责理解需求、拆解任务Coder负责编写代码Reviewer负责代码审查连接 Agent 的对话关系保存并运行4.4 测试对话在工作流界面输入一个任务比如“帮我写一个 Python 脚本实现冒泡排序并加上单元测试”你会看到三个 Agent 自动开始对话Product Manager: 好的我来拆解这个任务。需要实现冒泡排序算法 并编写单元测试。Coder 请先实现算法。 Coder: 我来实现冒泡排序 def bubble_sort(arr): n len(arr) for i in range(n): for j in range(0, n-i-1): if arr[j] arr[j1]: arr[j], arr[j1] arr[j1], arr[j] return arr Reviewer: 代码逻辑正确但建议加上类型注解和文档字符串。 另外建议处理空列表的情况。 Coder: 收到我来改进...5. 进阶配置5.1 自定义 Agent你可以在 UI 中自定义 Agent 的行为System Message定义 Agent 的角色和行为规范Skills给 Agent 添加工具能力如执行代码、搜索网页Termination Conditions定义对话何时结束5.2 API 访问AutoGen Studio 提供 REST API可以把工作流集成到你的应用中# 获取所有工作流curlhttp://localhost:8080/api/workflows# 运行指定工作流curl-XPOST http://localhost:8080/api/workflows/{id}/run\-HContent-Type: application/json\-d{message: 帮我写一个快速排序算法}5.3 使用 Python SDKfromautogen_agentchat.agentsimportAssistantAgentfromautogen_agentchat.teamsimportRoundRobinGroupChatfromautogen_ext.models.openaiimportOpenAIChatCompletionClient# 创建模型客户端modelOpenAIChatCompletionClient(modelgpt-4o-mini)# 创建 AgentcoderAssistantAgent(nameCoder,model_clientmodel,system_message你是一个专业的 Python 程序员负责编写高质量的代码。)reviewerAssistantAgent(nameReviewer,model_clientmodel,system_message你是一个代码审查专家负责检查代码质量并提出改进建议。)# 创建团队teamRoundRobinGroupChat(participants[coder,reviewer],max_turns4)# 运行importasyncioasyncdefmain():resultawaitteam.run(task写一个快速排序算法)print(result)asyncio.run(main())6. 常见问题6.1 容器启动失败# 查看日志dockerlogs autogen-studio# 常见原因端口被占用sudolsof-i:8080# 如果被占用修改 docker-compose.yml 中的端口映射6.2 API Key 无效# 检查环境变量是否正确传入dockerexecautogen-studioenv|grepOPENAI_API_KEY# 测试 API 连通性curlhttps://api.openai.com/v1/models\-HAuthorization: Bearer${OPENAI_API_KEY}6.3 Agent 对话卡住检查 API 余额是否充足尝试使用更便宜的模型如gpt-4o-mini设置max_turns限制对话轮数6.4 使用国内镜像如果网络不通可以使用代理environment:-OPENAI_API_BASEhttps://your-proxy.com/v1-OPENAI_API_KEYyour_key7. 与其他框架对比特性AutoGenCrewAILangChain多 Agent 对话✅ 核心特性✅ 角色扮演⚠️ 需要手动编排可视化界面✅ AutoGen Studio❌❌代码执行✅ 沙盒环境✅✅学习曲线中等较低较高适用场景复杂协作任务任务流水线通用 AI 应用8. 总结通过本教程你已经成功部署了 AutoGen Studio。现在你可以✅ 通过可视化界面设计多 Agent 工作流✅ 让多个 AI Agent 协作完成复杂任务✅ 使用云端或本地 LLM 作为 Agent 的大脑✅ 通过 API 把多 Agent 系统集成到你的应用中下一步建议尝试设计一个「代码生成 审查 测试」的三 Agent 工作流给 Agent 添加工具能力如执行代码、搜索网页探索 AutoGen 的 GroupChat 模式让 Agent 自由讨论结合 RAG让 Agent 能访问你的私有知识库多 Agent 协作是 AI 应用的下一个趋势AutoGen 让你能轻松构建这样的系统。