首页 / 详情
Site icon

AutoGen

基本信息

AutoGen 网站截图预览

工具详情

Microsoft AutoGen 全指南

重要提示:AutoGen 现已进入维护模式,微软新项目迭代转向 Microsoft Agent Framework。存量项目可继续使用 AutoGen,新项目建议优先考虑迁移至新版框架。

一、平台介绍

1. 项目基础信息

  • 开发背景:由微软研究院、宾州州立大学、华盛顿大学联合研发,2023 年 10 月首发于 GitHub。
  • 开源协议:MIT 开源协议,全球 Star 超 5.4 万。
  • 开发语言:以 Python 为主力,同时支持 .NET 双语言生态。
  • 版本现状:
  • 稳定版:v0.4 版本。
  • 维护模式:自 2025 年 10 月起停止新增功能,仅进行 BUG 维护。
  • 核心思想:拆分角色 Agent(如程序员、分析师、审核员等),AI 之间通过自主对话沟通、分工协作落地任务,支持人工随时介入干预。

2. 三大核心原生 Agent

AutoGen 框架的基石由以下三种核心 Agent 构成:

  • AssistantAgent定位:思考生成大脑。
  • 核心用途:绑定大语言模型(LLM),负责写代码、分析、生成方案及逻辑推理。
  • UserProxyAgent定位:执行端 + 人机接口。
  • 核心用途:运行 Agent 生成的代码,接收人类指令,控制终止逻辑,支持沙箱安全运行代码。
  • GroupChatManager定位:群聊管理员。
  • 核心用途:多 Agent 群组对话调度,自动分配发言顺序、管控会话流程。

二、主要功能

1. 核心能力

AutoGen 具备以下六大核心能力:

  • 多智能体自由协作支持单/多 Agent 组队聊天,可自定义角色分工(如产品 + 开发 + 测试 AI 协同开发)。
  • 支持串行或并行任务调度。
  • 自动代码生成 + 安全执行内置 Docker 沙箱隔离运行 Agent 输出的 Python/Shell 代码。
  • 支持自动报错、迭代修复,避免恶意代码污染本机。
  • 本地调试时可关闭沙箱直接运行代码。
  • 全品类大模型兼容原生支持 OpenAI、Azure OpenAI、Claude、通义千问、Llama3/Ollama 本地开源大模型。
  • 统一配置格式,可灵活切换模型。
  • AutoGen Studio 无代码可视化自带 Web 拖拽 UI,无需编写 Python 代码。
  • 可视化搭建 Agent 工作流、调试对话,一键导出代码。
  • 灵活人在回路(Human-in-the-loop)ALWAYS:每次执行前必须人工确认(适用于金融/敏感业务)。
  • TERMINATE:仅任务结束时人工确认。
  • NEVER:全自动无人值守执行(适用于自动化流水线)。
  • 扩展生态支持工具调用(爬虫、数据库读写、文件处理)。
  • 支持会话持久化、链路日志追踪、多机分布式部署。

2. 落地场景

  • 开发自动化:AI 团队自主写代码、调试、生成爬虫/数据分析脚本。
  • 数据分析:多 Agent 分工清洗数据、可视化、输出业务分析报告。
  • 企业 RPA:自动化报销、入职审批、合同审阅等跨部门流程。
  • 科研教育:AI 多智能体课题实验、编程教学、学术数据处理。
  • 复杂推理:多步骤理财测算、行业市场研判、方案拆解落地。

三、适用人群

  1. AI/后端开发工程师:快速落地 Agent 应用、私有化 AI 工作流、企业内部 AI 自动化工具。
  2. 算法/科研人员:进行多智能体学术实验、LLM 协作机制研究。
  3. 产品/业务分析师:利用 AutoGen Studio 零代码搭建自动化业务流程。
  4. 学生/AI 爱好者:低成本学习多 Agent、LLM 应用开发,本地 Ollama 跑开源模型零成本试错。
  5. 中小企业数字化:低成本搭建内部自动化 AI 助理,替代重复人工工作。

四、免费与付费详情

1. 框架本体(永久免费)

  • 费用情况:无授权费、无软件订阅费、无商用限制。
  • 协议说明:MIT 协议,个人/企业均可免费修改、二次开发、商业化落地。
  • 资源:社区文档、开源代码全免费,仅社区技术支持,无官方付费版软件授权。

2. 使用者实际自费项目(非框架收费)

  • 大模型 API 费用(最大开销)商用 API:GPT-3.5/GPT4、Claude、Azure OpenAI 按 Token 计费。多 Agent 对话 Token 消耗通常是单 Agent 的 2~5 倍。
  • 零成本方案:本地 Ollama 部署 Llama3、Qwen 等开源大模型,完全不用 API 付费。
  • 服务器/部署成本本地调试:个人电脑即可运行,零硬件开销。
  • 生产部署:云服务器 + Docker 容器,按需付费;使用 Azure 托管沙箱环境额外收取云资源费。
  • 可选增值付费Azure AI Foundry 托管服务:企业需要官方运维、专属技术支持、合规部署,按需订阅付费(非 AutoGen 强制收费)。
  • 第三方商业托管平台:部分服务商推出 AutoGen 云托管订阅(99 美元/月起),非原生官方收费,按需选择。

五、分步使用指南(Python 环境,主流落地方式)

1. 环境准备

  • Python 版本:3.8~3.13,推荐 3.10。
  • 操作命令:
  • bash
# 1. 创建虚拟环境(隔离依赖,必做)
conda create -n autogen_env python=3.10
conda activate autogen_env

# 2. 安装 AutoGen 核心包 + OpenAI 扩展
pip install -U "autogen-agentchat" "autogen-ext[openai]" -i https://pypi.tuna.tsinghua.edu.cn/simple

# 可选:安装可视化 AutoGen Studio(无代码界面)
pip install autogenstudio
# 启动可视化页面:终端输入 autogenstudio ui --port 8080,浏览器打开 localhost:8080
# 1. 创建虚拟环境(隔离依赖,必做)
conda create -n autogen_env python=3.10
conda activate autogen_env

# 2. 安装 AutoGen 核心包 + OpenAI 扩展
pip install -U "autogen-agentchat" "autogen-ext[openai]" -i https://pypi.tuna.tsinghua.edu.cn/simple

# 可选:安装可视化 AutoGen Studio(无代码界面)
pip install autogenstudio
# 启动可视化页面:终端输入 autogenstudio ui --port 8080,浏览器打开 localhost:8080

2. 基础配置

配置 LLM 密钥,避免代码明文写 Key。

  • 方式一:环境变量配置(推荐,安全性高)bash
# Linux/Mac 终端
export OPENAI_API_KEY="你的 API 密钥"
# Windows PowerShell
$env:OPENAI_API_KEY="你的 API 密钥"
# Linux/Mac 终端
export OPENAI_API_KEY="你的 API 密钥"
# Windows PowerShell
$env:OPENAI_API_KEY="你的 API 密钥"
  • 方式二:代码内配置(仅本地测试)python
import autogen
config_list = [{"model":"gpt-3.5-turbo","api_key":"sk-xxx"}]
import autogen
config_list = [{"model":"gpt-3.5-turbo","api_key":"sk-xxx"}]

3. 最简双 Agent 示例(AI 写代码 + 自动运行)

python

# 1. 配置模型
llm_config = {"config_list":config_list,"temperature":0.1}

# 2. 创建程序员 Agent(负责写代码)
coder = autogen.AssistantAgent(
    name="Python 工程师",
    llm_config=llm_config,
    system_message="编写 Python 代码,代码用```python```包裹,完成任务回复 TERMINATE 结束对话"
)

# 3. 创建执行 Agent(自动运行代码)
executor = autogen.UserProxyAgent(
    name="代码执行器",
    human_input_mode="NEVER",  # 全自动不人工确认
    max_consecutive_auto_reply=10,  # 最大连续对话 10 轮防死循环
    is_termination_msg=lambda x:x.get("content","").find("TERMINATE")>=0
)

# 4. 发起任务:让 AI 生成股票数据分析代码
executor.initiate_chat(coder, message="帮我写 Python 代码,生成随机数据并绘制折线图")
# 1. 配置模型
llm_config = {"config_list":config_list,"temperature":0.1}

# 2. 创建程序员 Agent(负责写代码)
coder = autogen.AssistantAgent(
    name="Python 工程师",
    llm_config=llm_config,
    system_message="编写 Python 代码,代码用```python```包裹,完成任务回复 TERMINATE 结束对话"
)

# 3. 创建执行 Agent(自动运行代码)
executor = autogen.UserProxyAgent(
    name="代码执行器",
    human_input_mode="NEVER",  # 全自动不人工确认
    max_consecutive_auto_reply=10,  # 最大连续对话 10 轮防死循环
    is_termination_msg=lambda x:x.get("content","").find("TERMINATE")>=0
)

# 4. 发起任务:让 AI 生成股票数据分析代码
executor.initiate_chat(coder, message="帮我写 Python 代码,生成随机数据并绘制折线图")

4. 无代码使用(AutoGen Studio)

  1. 安装后执行命令:autogenstudio ui --port 8080
  2. 网页端拖拽创建 Agent、填写角色提示词、填入 API Key。
  3. 输入任务指令,一键运行多 Agent 协作,调试完成后导出 Python 代码。

六、高频避坑点(生产与调试必看)

1. 对话死循环(最常见问题)

  • 问题现象:Agent 来回重复对话、无限闲聊不结束,疯狂消耗 Token。
  • 解决方案:
  1. 配置 max_consecutive_auto_reply 限制最大自动轮次(建议 ≤ 15)。
  2. 必须设置 is_termination_msg 终止关键词(如 "TERMINATE")。
  3. System Prompt 中明确任务结束标准。

2. API 密钥明文泄露

  • 问题现象:代码硬编码 API Key 上传代码仓库,密钥被盗刷扣费。
  • 解决方案:统一用系统环境变量或本地 yaml 配置文件加载密钥,严禁明文写入代码。

3. 代码执行安全风险

  • 问题现象:NEVER 全自动模式下 Agent 生成删文件、联网恶意代码,破坏本机。
  • 解决方案:
  1. 生产环境强制 Docker 沙箱运行。
  2. 金融/敏感业务改为 human_input_mode="ALWAYS" 人工确认。
  3. 限制容器读写权限。

4. 成本失控(Token 超支)

  • 问题现象:多 Agent 群聊对话超长,GPT4 费用暴涨。
  • 解决方案:
  1. 简单任务切换廉价 gpt3.5 或本地开源模型,复杂任务用 GPT4。
  2. 配置对话上下文缓存,减少重复 Token 消耗。
  3. 单轮对话设置 Token 上限。

5. 版本升级踩坑

  • 问题现象:v0.2 旧代码无法直接在 v0.4 新版本运行,API 大改。
  • 解决方案:新项目直接用 autogen-agentchat 新包,老项目参考官方迁移文档升级;新项目优先调研 Microsoft Agent Framework。

6. 本地开源模型对接失败

  • 问题现象:Ollama 本地大模型无法接入 AutoGen。
  • 解决方案:安装 autogen-ext[ollama] 扩展,修改 config_list 适配 Ollama 本地接口地址。

7. 生产环境会话丢失

  • 问题现象:服务重启后 Agent 对话记录、任务状态全部清空。
  • 解决方案:生产环境用 Redis+MySQL 持久化会话,不要只用内存存储状态。


评论

暂无评论