AutoGen 是由 微软研究院(Microsoft Research) 开源的一个 多智能体(Multi-Agent)对话框架,专为构建基于大语言模型(LLM)的自动化协作系统而设计。


🎯 核心定位

"让多个 AI Agent 像团队一样协作,自动完成复杂任务"

它的本质是:通过让多个 Agent 相互对话、协商、执行代码,来解决单个 LLM 无法高效完成的复杂问题。


🏗️ 核心架构

用户 / Human Proxy
        │
        ▼
  AssistantAgent ──────► AssistantAgent
  (规划 / 编写代码)       (审查 / 批评)
        │
        ▼
  CodeExecutorAgent
  (执行代码 / 返回结果)
        │
        ▼
      最终输出

🧩 关键组件

组件

说明

AssistantAgent

由 LLM 驱动,负责推理、规划、生成代码

UserProxyAgent

代理人类用户,可自动执行代码或请求人工确认

GroupChat

多 Agent 群聊机制,支持轮流或动态发言

ConversableAgent

所有 Agent 的基类,支持高度自定义


⚡ 核心能力

1. 🤖 多 Agent 协作

多个角色(规划者、执行者、批评者)分工合作,互相检查纠错

2. 💻 代码自动执行

Agent 可以生成代码 → 自动运行 → 读取结果 → 再迭代,无需人工介入

3. 🔄 灵活的对话模式

  • 两两对话:一对一协作

  • 群聊模式:多 Agent 广播讨论

  • 嵌套对话:Agent 内部可再发起子对话

4. 🛠️ 工具调用(Tool Use)

支持函数调用、API 调用、RAG 检索等外部工具集成


🚀 典型应用场景

场景

说明

数据分析

自动写代码分析数据并生成图表

软件开发

多 Agent 模拟开发团队(产品、开发、测试)

科学研究

自动文献检索、假设验证、实验设计

数学推理

多 Agent 互相验证解题过程

自动化运维

监控告警 → 分析原因 → 自动修复


📦 版本演进

AutoGen v0.2  ──►  AutoGen v0.4(AG2)
   经典版              重构版(模块化更强)
                       ├── Core(核心运行时)
                       ├── AgentChat(高层API)
                       └── Extensions(扩展生态)

⚠️ AutoGen 在 v0.4 进行了重大架构重构,引入了异步消息传递机制,与 v0.2 API 不兼容。


🔧 快速示例(v0.2 风格)

from autogen import AssistantAgent, UserProxyAgent

# 定义 AI 助手
assistant = AssistantAgent(
    name="assistant",
    llm_config={"model": "gpt-4o"}
)

# 定义用户代理(可自动执行代码)
user_proxy = UserProxyAgent(
    name="user_proxy",
    code_execution_config={"work_dir": "workspace"}
)

# 发起对话
user_proxy.initiate_chat(
    assistant,
    message="用 Python 画一个正弦波图形"
)
# Agent 自动:生成代码 → 执行 → 查看结果 → 修正 → 完成 ✅

🆚 与同类框架对比

框架

特点

AutoGen

对话驱动、代码执行能力强、微软生态

CrewAI

角色分工清晰、上手简单、适合流程编排

LangGraph

基于图结构、状态管理精细、适合复杂流程

MetaGPT

模拟软件公司角色、文档产出完整


🔗 资源链接

  • 📂 GitHub:github.com/microsoft/autogen

  • 📚 文档:microsoft.github.io/autogen

  • 🌟 目前 Star 数:40k+(持续增长中)


AutoGen 是目前 Multi-Agent 领域最成熟的框架之一,特别适合需要代码执行 + 多角色协作的复杂自动化任务场景。如需深入某个方面(如实战案例、架构设计),随时告诉我!