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 插件化扩展 |
架构概览
快速体验
# 安装 AgentChat 和 OpenAI 扩展pip install -U "autogen-agentchat" "autogen-ext[openai]"
# 设置 API Keyexport OPENAI_API_KEY="sk-..."
# 运行单个 Agentpython -c "import asynciofrom autogen_agentchat.agents import AssistantAgentfrom 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 架构设计 | [首次覆盖] |
| 02 | Monorepo 多包工程实践 | [首次覆盖] |
| 03 | 声明式配置与 Component 系统 | [首次覆盖] |
| 04 | 插件化扩展设计 | 插件系统 |
| 05 | 可观测性与 OpenTelemetry | [首次覆盖] |