AutoGen 简介
AutoGen 是由 微软研究院(Microsoft Research) 开源的一个 多智能体(Multi-Agent)对话框架,专为构建基于大语言模型(LLM)的自动化协作系统而设计。
🎯 核心定位
"让多个 AI Agent 像团队一样协作,自动完成复杂任务"
它的本质是:通过让多个 Agent 相互对话、协商、执行代码,来解决单个 LLM 无法高效完成的复杂问题。
🏗️ 核心架构
用户 / Human Proxy
│
▼
AssistantAgent ──────► AssistantAgent
(规划 / 编写代码) (审查 / 批评)
│
▼
CodeExecutorAgent
(执行代码 / 返回结果)
│
▼
最终输出
🧩 关键组件
⚡ 核心能力
1. 🤖 多 Agent 协作
多个角色(规划者、执行者、批评者)分工合作,互相检查纠错
2. 💻 代码自动执行
Agent 可以生成代码 → 自动运行 → 读取结果 → 再迭代,无需人工介入
3. 🔄 灵活的对话模式
两两对话:一对一协作
群聊模式:多 Agent 广播讨论
嵌套对话:Agent 内部可再发起子对话
4. 🛠️ 工具调用(Tool Use)
支持函数调用、API 调用、RAG 检索等外部工具集成
🚀 典型应用场景
📦 版本演进
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 自动:生成代码 → 执行 → 查看结果 → 修正 → 完成 ✅
🆚 与同类框架对比
🔗 资源链接
📂 GitHub:
github.com/microsoft/autogen📚 文档:
microsoft.github.io/autogen🌟 目前 Star 数:40k+(持续增长中)
AutoGen 是目前 Multi-Agent 领域最成熟的框架之一,特别适合需要代码执行 + 多角色协作的复杂自动化任务场景。如需深入某个方面(如实战案例、架构设计),随时告诉我!