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
- Discord: https://aka.ms/autogen-discord
- GitHub Discussions: https://github.com/microsoft/autogen/discussions
- Docs: https://microsoft.github.io/autogen/
- Migration guide: https://learn.microsoft.com/en-us/agent-framework/migration-guide/from-autogen/
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