【零基础部署】Docker 部署 AutoGen 多 Agent 对话框架保姆级教程

AutoGen 是微软开源的多 Agent 对话框架,让多个 AI Agent 互相协作完成复杂任务。比如让一个 Agent 当「程序员」写代码,另一个当「代码审查员」检查质量,第三个当「产品经理」提需求------它们自动对话,最终产出高质量的结果。

本教程将手把手教你用 Docker 部署 AutoGen Studio,零基础也能跟着做。

1. 什么是 AutoGen?

1.1 核心概念

AutoGen 的核心思想是多 Agent 对话

  • Agent:一个有特定角色和能力的 AI 实体(如程序员、审查员、产品经理)
  • 对话:Agent 之间通过消息交互来协作完成任务
  • 工作流:定义 Agent 之间的协作方式和对话流程

1.2 AutoGen Studio

AutoGen Studio 是 AutoGen 的可视化界面,提供:

  • 拖拽式工作流设计:不用写代码就能搭建多 Agent 系统
  • 实时对话监控:观察 Agent 之间的对话过程
  • 组件市场:内置常用的 Agent 和工具模板
  • 一键部署:把设计好的工作流直接部署为 API

1.3 为什么用 Docker 部署?

AutoGen 依赖较多(Python、前端、数据库),Docker 把所有依赖打包在一起,避免环境冲突。

2. 环境准备

2.1 硬件要求

配置项 最低要求 推荐配置
CPU 2 核 4 核+
内存 4GB 8GB+
磁盘 10GB 可用空间 20GB+
GPU 不需要 不需要(AutoGen 调用外部 API)

说明:AutoGen 本身不需要 GPU,它调用 OpenAI、Anthropic 等云端 API。如果你要用本地模型,才需要 GPU。

2.2 软件要求

  • Docker 20.10+
  • Docker Compose v2
  • OpenAI API Key(或其他 LLM 提供商的 Key)

2.3 获取 API Key

AutoGen 需要一个 LLM 提供商的 API Key:

3. 使用 Docker 部署

3.1 快速启动(推荐新手)

bash 复制代码
# 创建数据目录
mkdir -p ~/autogen-data

# 设置 API Key
export OPENAI_API_KEY=your_openai_api_key_here

# 运行 AutoGen Studio
docker run -d \
  --name autogen-studio \
  -p 8080:8080 \
  -v ~/autogen-data:/app/data \
  -e OPENAI_API_KEY=${OPENAI_API_KEY} \
  autogen/autogenstudio:latest

参数说明

  • -p 8080:8080:映射 Web 界面端口
  • -v ~/autogen-data:/app/data:持久化数据,避免容器重启后丢失
  • -e OPENAI_API_KEY:传入 API Key

3.2 使用 Docker Compose(推荐)

创建项目目录:

bash 复制代码
mkdir -p ~/autogen-studio && cd ~/autogen-studio

创建 docker-compose.yml

yaml 复制代码
version: '3.8'

services:
  autogen-studio:
    image: autogen/autogenstudio:latest
    container_name: autogen-studio
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    environment:
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      # 可选:使用 Anthropic
      # - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      # 可选:使用本地 Ollama
      # - OLLAMA_BASE_URL=http://host.docker.internal:11434
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3

创建 .env 文件:

bash 复制代码
echo "OPENAI_API_KEY=your_openai_api_key_here" > .env

启动服务:

bash 复制代码
# 启动
docker compose up -d

# 查看日志
docker compose logs -f

# 检查状态
docker compose ps

3.3 使用本地模型(Ollama)

如果你想用本地模型而不是云端 API,可以同时部署 Ollama:

yaml 复制代码
version: '3.8'

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama-data:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    restart: unless-stopped

  autogen-studio:
    image: autogen/autogenstudio:latest
    container_name: autogen-studio
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama-data:

启动后,先拉取模型:

bash 复制代码
docker exec ollama ollama pull qwen2.5:7b

4. 访问与使用

4.1 打开界面

浏览器访问 http://localhost:8080,你会看到 AutoGen Studio 的主界面。

4.2 配置模型

首次使用需要配置 LLM 提供商:

  1. 点击左侧「Settings」
  2. 在「Model Providers」中添加你的 API Key
  3. 选择模型(如 gpt-4ogpt-4o-mini
  4. 点击「Test Connection」验证连接

4.3 创建第一个多 Agent 工作流

  1. 点击「Create New Workflow」
  2. 从组件市场拖入 Agent:
    • Product Manager:负责理解需求、拆解任务
    • Coder:负责编写代码
    • Reviewer:负责代码审查
  3. 连接 Agent 的对话关系
  4. 保存并运行

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[j+1]:
                        arr[j], arr[j+1] = arr[j+1], 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,可以把工作流集成到你的应用中:

bash 复制代码
# 获取所有工作流
curl http://localhost:8080/api/workflows

# 运行指定工作流
curl -X POST http://localhost:8080/api/workflows/{id}/run \
  -H "Content-Type: application/json" \
  -d '{"message": "帮我写一个快速排序算法"}'

5.3 使用 Python SDK

python 复制代码
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient

# 创建模型客户端
model = OpenAIChatCompletionClient(model="gpt-4o-mini")

# 创建 Agent
coder = AssistantAgent(
    name="Coder",
    model_client=model,
    system_message="你是一个专业的 Python 程序员,负责编写高质量的代码。"
)

reviewer = AssistantAgent(
    name="Reviewer",
    model_client=model,
    system_message="你是一个代码审查专家,负责检查代码质量并提出改进建议。"
)

# 创建团队
team = RoundRobinGroupChat(
    participants=[coder, reviewer],
    max_turns=4
)

# 运行
import asyncio

async def main():
    result = await team.run(task="写一个快速排序算法")
    print(result)

asyncio.run(main())

6. 常见问题

6.1 容器启动失败

bash 复制代码
# 查看日志
docker logs autogen-studio

# 常见原因:端口被占用
sudo lsof -i :8080
# 如果被占用,修改 docker-compose.yml 中的端口映射

6.2 API Key 无效

bash 复制代码
# 检查环境变量是否正确传入
docker exec autogen-studio env | grep OPENAI_API_KEY

# 测试 API 连通性
curl https://api.openai.com/v1/models \
  -H "Authorization: Bearer ${OPENAI_API_KEY}"

6.3 Agent 对话卡住

  • 检查 API 余额是否充足
  • 尝试使用更便宜的模型(如 gpt-4o-mini
  • 设置 max_turns 限制对话轮数

6.4 使用国内镜像

如果网络不通,可以使用代理:

yaml 复制代码
environment:
  - OPENAI_API_BASE=https://your-proxy.com/v1
  - OPENAI_API_KEY=your_key

7. 与其他框架对比

特性 AutoGen CrewAI LangChain
多 Agent 对话 ✅ 核心特性 ✅ 角色扮演 ⚠️ 需要手动编排
可视化界面 ✅ AutoGen Studio
代码执行 ✅ 沙盒环境
学习曲线 中等 较低 较高
适用场景 复杂协作任务 任务流水线 通用 AI 应用

8. 总结

通过本教程,你已经成功部署了 AutoGen Studio。现在你可以:

  • ✅ 通过可视化界面设计多 Agent 工作流
  • ✅ 让多个 AI Agent 协作完成复杂任务
  • ✅ 使用云端或本地 LLM 作为 Agent 的大脑
  • ✅ 通过 API 把多 Agent 系统集成到你的应用中

下一步建议

  • 尝试设计一个「代码生成 + 审查 + 测试」的三 Agent 工作流
  • 给 Agent 添加工具能力(如执行代码、搜索网页)
  • 探索 AutoGen 的 GroupChat 模式,让 Agent 自由讨论
  • 结合 RAG,让 Agent 能访问你的私有知识库

多 Agent 协作是 AI 应用的下一个趋势,AutoGen 让你能轻松构建这样的系统。

相关推荐
feng14562 小时前
OpenSREClaw - AI 本体论思维
运维·人工智能
做个文艺程序员3 小时前
第02篇:K8s 存储与配置管理:ConfigMap、Secret、PV/PVC 实战——Java SaaS 多租户配置最佳实践
java·容器·kubernetes
LIZHUOLONG13 小时前
linux 设备初始化
linux·运维·服务器
遇印记3 小时前
软考知识点(局域网基础)
运维·服务器·局域网
lulu12165440783 小时前
Codex Computer Use 深度分析:AI桌面自动化的技术突破与行业影响
java·运维·人工智能·自动化·ai编程
ylscode3 小时前
Linux CIFSwitch 内核新漏洞允许攻击者获得 root 权限
linux·运维·服务器
Plastic garden3 小时前
Docker compose ruoyi示例
运维·docker·容器
qq_452396234 小时前
第十四篇:《Docker Swarm 生产实践:堆栈部署与配置管理》
运维·docker·容器
qq_452396234 小时前
第十三篇:《Docker Swarm 集群基础》
运维·docker·容器