AutoGen

Framework · Last verified 2026-09-30 · Install verified 2026-09-30

TL;DR

AutoGen is Microsoft's Python and .NET framework for multi-agent applications built from conversing agents, group-chat teams and an event-driven core runtime. It is in maintenance mode: no new features, community managed, and Microsoft points new users to Microsoft Agent Framework. It mainly suits teams maintaining existing AutoGen code.

Key facts

AutoGen key facts. Data as of 2026-10-01.
Type Framework
Languages / SDKs Python, .NET
License CC-BY-4.0
Pricing model Open source, free
Orchestration pattern Blackboard
GitHub stars 61,246 (as of 2026-10-01)
GitHub forks 9,275
Last push 2026-04-15
Latest release python-v0.7.5
Repository microsoft/autogen
Website microsoft.github.io
Documentation microsoft.github.io
Last verified 2026-09-30

Key features

  • Layered packages: Core (event-driven agents and runtime), AgentChat (high-level agents and teams) and Extensions (model clients, code execution, tools). (source)
  • Team presets: RoundRobinGroupChat, SelectorGroupChat (a model picks the next speaker), MagenticOneGroupChat and Swarm. (source)
  • Swarm teams where agents pass control with HandoffMessage instead of a central selector. (source)
  • GraphFlow, a team that follows a directed graph with sequential, parallel, conditional and looping steps (marked experimental). (source)
  • MCP tools through McpWorkbench in autogen_ext.tools.mcp, for example a Playwright MCP server over stdio. (source)
  • save_state() / load_state() on agents and teams for persisting a conversation between requests. (source)
  • A Memory protocol with a simple ListMemory implementation for injecting stored facts into model context. (source)
  • AutoGen Studio, a no-code GUI for prototyping multi-agent workflows. (source)

Architecture and orchestration pattern

Pattern: Blackboard

The Python codebase is split into three layers. autogen-core is an event-driven, actor-style runtime where agents exchange messages and can run locally or across processes; it also has a .NET implementation. autogen-agentchat sits on top and provides ready-made agents (AssistantAgent, UserProxyAgent, CodeExecutorAgent) and teams. autogen-ext holds model clients, code executors and tool integrations such as MCP.

The main multi-agent model in AgentChat is a group chat: participants share one conversation and a policy decides who speaks next (fixed rotation, a model-based selector, handoff messages in Swarm, or the Magentic-One orchestrator). Termination conditions such as text mentions, token limits or handoffs end a run. GraphFlow adds an explicit directed-graph workflow on the same team interface.

State is held in memory during a run. Agents and teams expose save_state() and load_state() so an application can store and restore them, and the Memory protocol lets an agent pull stored items into its context. There is no built-in durable execution layer.

Human in the loop

The AgentChat tutorial describes two approaches. During a run, a UserProxyAgent participates in the team and asks for input through a configurable input_func (console input() by default, or an async function wired to a web UI); while it waits, the whole team is blocked, so the docs advise using it only for short exchanges. Between runs, the team stops on a termination condition such as max_turns, TextMentionTermination or HandoffTermination, and the user's reply is passed as the next task; the team keeps its context. ExternalTermination and cancellation tokens let application code stop a run from outside. The docs link sample integrations for FastAPI, ChainLit and Streamlit.

Protocols

MCP, A2A and AG-UI support for AutoGen. See the full matrix.
ProtocolSupportNote
MCP Yes evidence
checked 2026-09-30
Client: McpWorkbench and StdioServerParams from autogen_ext.tools.mcp give an AssistantAgent the tools of an MCP server (README example uses the Playwright MCP server).
A2A Unknown
checked 2026-09-30
Not in AutoGen's README or AgentChat docs; repo code search found no A2A implementation, only an open, unmerged community pull request (#6669). The README mentions A2A only for Microsoft Agent Framework.
AG-UI Unknown
checked 2026-09-30
Searched README, AgentChat docs and repo code for 'ag-ui'/'ag_ui' with no hits; the AG-UI README lists AG2 but not AutoGen.

Best for

  • Maintaining or extending an existing AutoGen 0.4+ codebase before a planned migration
  • Experimenting with group-chat, selector and Magentic-One style teams in research settings (shortlist)
  • Prototyping multi-agent workflows visually with AutoGen Studio on a local machine (shortlist)

Not for

  • New projects that need new features or long-term vendor support; Microsoft directs these to Microsoft Agent Framework
  • Workflows that require durable, resumable execution without writing your own state storage
  • Deploying AutoGen Studio as a user-facing production app, which the README says it is not meant for

Quickstart

pip install -U "autogen-agentchat" "autogen-ext[openai]"

Install verified 2026-09-30 (uv venv, Python 3.12.13, macOS arm64: uv pip install -U autogen-agentchat autogen-ext[openai] ok, from autogen_agentchat.agents import AssistantAgent ok, autogen-agentchat 0.7.5. Packages came from the mirrors.aliyun.com mirror, so the version is the one that mirror served on this date. Install and import check only; not a functional test.). What this means

import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.conditions import TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient

async def main() -> None:
    client = OpenAIChatCompletionClient(model="gpt-4.1")  # reads OPENAI_API_KEY
    writer = AssistantAgent("writer", model_client=client,
                            system_message="Draft a two-line product blurb.")
    critic = AssistantAgent("critic", model_client=client,
                            system_message="Critique the draft. Say APPROVE when it is good.")
    team = RoundRobinGroupChat([writer, critic], max_turns=6,
                               termination_condition=TextMentionTermination("APPROVE"))
    result = await team.run(task="Blurb for a solar-powered kettle")
    print(result.messages[-1].content)
    await client.close()

asyncio.run(main())

Common pitfalls

  • Python 3.10 or later is required.
  • The README samples call the OpenAI API and expect OPENAI_API_KEY to be exported.
  • The 0.4+ packages (autogen-agentchat, autogen-core, autogen-ext) are a rewrite; code written for AutoGen 0.2 must follow the migration guide.
  • The project is in maintenance mode, so fixes are limited to bugs, security patches and docs; check the date of the latest release before depending on it.
  • Only connect to trusted MCP servers; the README warns they can run commands locally.

Official quickstart

Pros

  • Can be used at different levels, from the high-level AgentChat API down to the event-driven Core runtime. (source)
  • Several team strategies are available out of the box, from round-robin to model-selected speakers and Magentic-One. (source)
  • MCP servers can be attached to an agent with a few lines via McpWorkbench. (source)
  • Agents and teams can be serialized with save_state() and restored later, which suits stateless web endpoints. (source)
  • Code is MIT-licensed (LICENSE-CODE); no paid tier is attached to it. (source)

Cons

  • In maintenance mode: no new features, community managed, contributions limited to fixes and docs; Microsoft recommends Microsoft Agent Framework instead. (source)
  • The latest Python release on GitHub is python-v0.7.5, published 2025-09-30. (source)
  • GraphFlow, the structured workflow option, is labelled experimental. (source)
  • A UserProxyAgent blocks the whole team while waiting for input, so the docs limit it to short interactions. (source)
  • AutoGen Studio is explicitly not meant to be a production application. (source)

Alternatives

All AutoGen alternatives

FAQ

Is AutoGen still maintained?

Only in maintenance mode. The README says it gets no new features, is community managed, and accepts bug fixes, security patches and docs changes. New users are pointed to Microsoft Agent Framework.

Does AutoGen support MCP?

Yes, as a client. McpWorkbench in autogen-ext connects an agent to an MCP server's tools. No A2A or AG-UI support was found in the official repo or docs.

What license is AutoGen under?

GitHub reports CC-BY-4.0 because the main LICENSE file covers documentation. The code is under the MIT License in LICENSE-CODE.

How is AutoGen different from AG2?

AutoGen is Microsoft's repository, rewritten in 0.4 into Core, AgentChat and Extensions, now in maintenance mode. AG2 is a separate, community-run project that diverged from the AutoGen codebase in November 2024 and has since moved to its own async API.

What should I migrate to?

Microsoft publishes an AutoGen to Microsoft Agent Framework migration guide and recommends that framework for new projects.

Sources

Unknown fields: protocols.a2a: searched README, AgentChat docs and GitHub code search (a2a, agent2agent in microsoft/autogen); only an open community PR (#6669) exists, no merged support or official statement. protocols.agui: searched README, docs and code search (ag-ui, ag_ui) with no results; AutoGen is not in the AG-UI integrations list.

Something wrong or out of date, or do you maintain AutoGen and want this page removed? Report a correction or request removal.