microsoft/autogen

A programming framework for agentic AI

AutoGen – Multi‑Agent AI Framework (archived)

What it is – AutoGen is a Python/.NET library that lets you build applications where several LLM‑powered agents talk to each other, call tools, and optionally interact with humans. It provides three layered APIs:

  • Core – low‑level message passing and distributed runtime.
  • AgentChat – higher‑level, opinionated helpers for rapid prototyping of two‑agent chats, group chats, and tool‑driven workflows.
  • Extensions – plug‑ins for specific LLM providers (OpenAI, Azure OpenAI) and capabilities such as web‑browsing via Playwright MCP.

It also ships two developer tools:

  • AutoGen Studio – a no‑code web UI for wiring up multi‑agent flows.
  • AutoGen Bench – a benchmark suite for measuring agent performance.

Why it matters – AutoGen was the first open‑source Microsoft project that demonstrated how to orchestrate multiple LLM agents, a pattern now common in research and product teams. Although the repo is now archived, its design lives on in the actively maintained Microsoft Agent Framework.


Installation (Python)

# Core packages
pip install -U "autogen-agentchat" "autogen-ext[openai]"
# Optional no‑code GUI
pip install -U "autogenstudio"

Requires Python 3.10+. The latest stable binaries are published on PyPI.


Quickstart examples

1. Hello‑World assistant

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. Web‑browsing with Playwright MCP

# Install MCP server first: 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. Multi‑agent orchestration

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

Using AutoGen Studio (no‑code)

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

Opens a browser at http://localhost:8080 where you can drag‑and‑drop agents, connect tools, and run flows without writing Python code. The studio is not production‑ready; it’s meant for prototyping and demos.


Project status & migration

  • Archived – Microsoft no longer ships bug or security fixes. Use only for learning or research, and avoid in production.
  • Successor – The Microsoft Agent Framework (MAF) is the actively maintained, enterprise‑grade replacement. Existing AutoGen users are encouraged to follow the official migration guide.

When to pick AutoGen vs. MAF

AutoGen (archived) Microsoft Agent Framework
Maintenance No updates, security risk Ongoing releases, long‑term support
Language support Python & .NET Python & .NET
Features Core, AgentChat, Extensions, Studio, Bench Same core ideas, plus production‑ready APIs, multi‑provider model support, A2A & MCP interoperability
Best use case Learning multi‑agent patterns, quick prototypes, community experiments Building production services, enterprise deployments

Getting help


Bottom line – AutoGen is a solid reference implementation for multi‑agent LLM orchestration, but because it’s archived you should treat it as a learning resource and move new work to the Microsoft Agent Framework.

Related

  • Project
  • Project
  • Project
  • Project
  • Project