microsoft/autogen

A programming framework for agentic AI

AutoGen – 多智能体 AI 框架(已归档)

它是什么 – AutoGen 是一个 Python/.NET 库,允许你构建多个 LLM 驱动的智能体相互对话、调用工具,并可选地与人类交互的应用程序。它提供了三层 API:

  • Core – 低层消息传递和分布式运行时。
  • AgentChat – 更高级、有主见的辅助工具,用于快速原型设计双智能体聊天、群聊和工具驱动的工作流。
  • Extensions – 针对特定 LLM 提供商(OpenAI、Azure OpenAI)的插件,以及通过 Playwright MCP 进行网页浏览等功能。

它还附带两个开发者工具:

  • AutoGen Studio – 一个无代码 Web UI,用于编排多智能体流程。
  • AutoGen Bench – 一个用于衡量智能体性能的基准测试套件。

为什么重要 – AutoGen 是微软第一个展示如何编排多个 LLM 智能体的开源项目,这种模式现在在研究团队和产品团队中很常见。尽管该仓库现已归档,但其设计在积极维护的 Microsoft Agent Framework 中得以延续。


安装(Python)

# 核心包
pip install -U "autogen-agentchat" "autogen-ext[openai]"
# 可选的无代码 GUI
pip install -U "autogenstudio"

需要 Python 3.10+。最新的稳定二进制文件发布在 PyPI 上。


快速入门示例

1. Hello-World 助手

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())

2. 使用 Playwright MCP 进行网页浏览

# 先安装 MCP 服务器:npm i -g @playwright/mcp@latest
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams

async def main():
    client = OpenAIChatCompletionClient(model="gpt-4.1")
    server = StdioServerParams(command="npx", args=["@playwright/mcp@latest", "--headless"])
    async with McpWorkbench(server) as mcp:
        agent = AssistantAgent(
            "web_browsing_assistant",
            model_client=client,
            workbench=mcp,
            model_client_stream=True,
            max_tool_iterations=10,
        )
        await Console(agent.run_stream(task="Find how many contributors for microsoft/autogen"))

asyncio.run(main())

3. 多智能体编排

import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.tools import AgentTool
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient

async def main():
    client = OpenAIChatCompletionClient(model="gpt-4.1")
    math = AssistantAgent("math_expert", model_client=client, system_message="You are a math expert.")
    chem = AssistantAgent("chem_expert", model_client=client, system_message="You are a chemistry expert.")
    tools = [AgentTool(math, True), AgentTool(chem, True)]
    boss = AssistantAgent(
        "assistant",
        system_message="You are a general assistant. Use expert tools when needed.",
        model_client=client,
        tools=tools,
        max_tool_iterations=10,
    )
    await Console(boss.run_stream(task="What is the integral of x^2?"))
    await Console(boss.run_stream(task="What is the molecular weight of water?"))

asyncio.run(main())

使用 AutoGen Studio(无代码)

autogenstudio ui --port 8080 --appdir ./my-app

在浏览器中打开 http://localhost:8080,你可以拖放智能体、连接工具并运行流程,而无需编写 Python 代码。该 Studio 不适合生产环境;它仅用于原型设计和演示。


项目状态与迁移

  • 已归档 – 微软不再提供错误或安全修复。仅用于学习或研究,避免在生产环境中使用。
  • 继任者 – Microsoft Agent Framework (MAF) 是积极维护的企业级替代品。建议现有 AutoGen 用户遵循官方迁移指南。

何时选择 AutoGen 与 MAF

AutoGen(已归档) Microsoft Agent Framework
维护 无更新,存在安全风险 持续发布,长期支持
语言支持 Python 和 .NET Python 和 .NET
功能 Core、AgentChat、Extensions、Studio、Bench 相同的核心思想,加上生产就绪的 API、多提供商模型支持、A2A 和 MCP 互操作性
最佳用例 学习多智能体模式、快速原型、社区实验 构建生产服务、企业部署

获取帮助


底线 – AutoGen 是一个可靠的多智能体 LLM 编排参考实现,但由于它已归档,你应该将其视为学习资源,并将新工作迁移到 Microsoft Agent Framework。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目