What is AutoGen?

AutoGen is Microsoft's open-source framework for building conversational agents and event-driven multi-agent applications. Its current Python architecture separates the high-level AgentChat API from the lower-level Core runtime, provider and tool integrations in Extensions, and the Studio prototyping interface.

Quick Facts

Full NameMicrosoft AutoGen
CreatedDeveloped by Microsoft Research, currently one of the most starred Multi-Agent frameworks on Github
SpecificationOfficial Specification

How It Works

AutoGen supports single-agent applications, conversational teams, explicit workflows, and distributed agent experiments, but it is not one interchangeable API. AutoGen 0.4 was a breaking, asynchronous rewrite of the earlier 0.2 ConversableAgent design: autogen-agentchat provides task-oriented agents and teams, autogen-core provides an event-driven actor runtime, and autogen-ext supplies model clients, MCP workbenches, and code executors. Classic examples that import AssistantAgent or UserProxyAgent from autogen belong to the earlier API lineage now associated with AG2, not the current Microsoft AgentChat API. Microsoft separately describes Microsoft Agent Framework as the successor path for new AutoGen and Semantic Kernel work. Generated code, tool calls, and peer-agent messages remain untrusted input; enabling an executor does not by itself provide authorization, isolation, or exactly-once side effects.

Key Characteristics

  • Layered APIs: AgentChat offers high-level agents and teams while Core exposes an event-driven runtime
  • Asynchronous execution: Current agent, team, streaming, and cancellation APIs use async control flow
  • Extension boundary: Model clients, MCP integrations, code executors, and distributed runtimes live in `autogen-ext`
  • Stateful collaboration: Agents and teams can exchange typed messages and save or restore supported state
  • Explicit safety responsibility: Applications must still enforce tool permissions, isolation, approval, budgets, and side-effect recovery

Common Use Cases

  1. Building a conversational assistant that calls bounded, schema-defined tools
  2. Coordinating reviewer and implementer agents with explicit stop and approval conditions
  3. Prototyping multi-agent interaction in AgentChat or Studio before production hardening
  4. Researching event-driven or distributed agent coordination with the Core runtime
  5. Integrating MCP servers or isolated code executors through reviewed Extensions

Example

loading...
Loading code...

Frequently Asked Questions

Are Microsoft AutoGen and AG2 the same project?

No. Microsoft AutoGen currently uses packages such as `autogen-agentchat`, `autogen-core`, and `autogen-ext`. AG2 is a separate project that continues the classic `autogen` and ConversableAgent lineage while developing its own next API. Imports, version plans, and migration guides must be checked against the project actually installed.

How is AutoGen different from Microsoft Agent Framework?

AutoGen combines an event-driven Core with the higher-level AgentChat team model. Microsoft Agent Framework is a separate Python and .NET SDK that Microsoft identifies as the direct successor to AutoGen and Semantic Kernel; it centers multi-agent orchestration on typed, graph-based Workflows. Migrating requires mapping clients, messages, tools, state, and orchestration rather than changing an import name.

Which packages represent the current Microsoft AutoGen API?

Use `autogen-agentchat` for the high-level Python agent and team API, `autogen-core` for the event-driven runtime, and `autogen-ext` for provider, MCP, executor, and runtime integrations. Microsoft warns that `pyautogen` releases after 0.2.34 are not Microsoft releases; teams maintaining AutoGen 0.2 should follow Microsoft's pinned-package migration guidance.

Does AutoGen make model-generated code safe to execute?

No. AutoGen offers executor integrations, including a Docker command-line executor, but the application must choose and configure isolation. Treat generated code as untrusted, restrict filesystem and network access, avoid host execution, apply time and resource limits, and require approval for consequential actions.

Can AutoGen use local or OpenAI-compatible model endpoints?

AutoGen provides model-client extensions and can target some OpenAI-compatible endpoints when `base_url` and model capability metadata are configured. Compatibility claims vary between servers, so test tool calling, structured output, streaming, and cancellation against the exact endpoint instead of assuming full OpenAI behavior.

Related Tools

Related Terms

Related Articles