跳转到内容

AutoGen 项目介绍

AutoGen 项目介绍

项目定位

AutoGen 是微软开源的多 Agent 应用框架,旨在让开发者能够以编程或无代码方式创建和编排多个 AI Agent 协同工作。

核心要解决的问题:单一 LLM Agent 在处理复杂任务时存在能力瓶颈,AutoGen 通过多 Agent 协作、工具集成和对话模式编排,将复杂任务分解为多个 Agent 可处理的子问题。

维护模式提示:AutoGen 已进入维护模式,微软推荐新项目使用其继任者 Microsoft Agent Framework。本教程聚焦 AutoGen 的架构设计与工程实践,其分层 Agent 编排思想具有普遍参考价值。

核心能力

  • 分层 API 设计:Core API 提供事件驱动的底层 Agent 运行时,AgentChat API 提供高层快速原型接口
  • 多种多 Agent 编排模式:轮询(Round-Robin)、选择器(Selector)、群体智能(Swarm)、Magentic-One 编排器
  • 丰富的模型支持:OpenAI、Azure OpenAI、Anthropic Claude、Ollama、Llama.cpp 等多模型后端
  • 可扩展工具系统:Function Calling、MCP 服务器集成、代码执行、LangChain 工具桥接
  • 可序列化组件系统:声明式配置,支持 Agent、模型、工具的持久化与动态加载
  • AutoGen Studio:无代码 GUI,可视化构建多 Agent 工作流

技术栈

维度技术选型
语言Python 3.10+
异步运行时asyncio + 自定义事件驱动消息队列
序列化Pydantic + 自定义 Component 系统
可观测性OpenTelemetry 集成
构建工具uv + pyproject.toml(monorepo 多包结构)
扩展生态autogen-ext 插件化扩展

架构概览

快速体验

Terminal window
# 安装 AgentChat 和 OpenAI 扩展
pip install -U "autogen-agentchat" "autogen-ext[openai]"
# 设置 API Key
export OPENAI_API_KEY="sk-..."
# 运行单个 Agent
python -c "
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main():
client = OpenAIChatCompletionClient(model='gpt-4.1')
agent = AssistantAgent('assistant', model_client=client)
print(await agent.run(task='Say Hello World!'))
await client.close()
asyncio.run(main())
"

教程导读

本教程分为 AI 应用通用知识和编程核心技术两部分:

AI 应用篇(ai/ 目录)

章节主题引用 Common
01事件驱动的 Agent 运行时多 Agent 路由
02多 Agent 编排模式多 Agent 路由
03模型抽象与多提供商适配多模型适配
04工具系统与 MCP 集成MCP 协议, 工具调用
05上下文管理与 Token 优化上下文压缩
06可序列化组件系统[首次覆盖]

工程篇(dev/ 目录)

章节主题引用 Common
01分层 API 架构设计[首次覆盖]
02Monorepo 多包工程实践[首次覆盖]
03声明式配置与 Component 系统[首次覆盖]
04插件化扩展设计插件系统
05可观测性与 OpenTelemetry[首次覆盖]