https://github.com/microsoft/autogen
A programming framework for agentic AI 🤖 PyPi: autogen-agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour
https://github.com/microsoft/autogen
agentic agentic-agi agents ai autogen autogen-ecosystem chatgpt framework llm-agent llm-framework
Last synced: 24 days ago
JSON representation
A programming framework for agentic AI 🤖 PyPi: autogen-agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour
- Host: GitHub
- URL: https://github.com/microsoft/autogen
- Owner: microsoft
- License: cc-by-4.0
- Created: 2023-08-18T11:43:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-08-31T18:49:05.000Z (about 1 month ago)
- Last Synced: 2025-08-31T20:31:45.477Z (about 1 month ago)
- Topics: agentic, agentic-agi, agents, ai, autogen, autogen-ecosystem, chatgpt, framework, llm-agent, llm-framework
- Language: Python
- Homepage: https://microsoft.github.io/autogen/
- Size: 141 MB
- Stars: 49,246
- Watchers: 492
- Forks: 7,521
- Open Issues: 474
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Support: SUPPORT.md
Awesome Lists containing this project
- awesome-generative-ai - AutoGen - AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks. (Agents / Autonomous agents)
- awesome-production-machine-learning - AutoGen - AutoGen is an open-source framework for building AI agent systems. (Agentic Framework)
- awesome-gpt - https://github.com/microsoft/autogen
- awesome-lowcode - AutoGen - AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks. (AI)
- StarryDivineSky - microsoft/autogen - core是按照actor 模型构建的。它支持代理和基于事件的工作流程之间的异步消息传递。核心层中的代理使用直接消息传递(其功能类似于 RPC)或通过广播到主题(即发布-订阅)来处理和生成类型化消息。代理可以分布并用不同的编程语言实现,同时仍然可以相互通信。如果您正在构建可扩展的事件驱动代理系统,请从这里开始。 (A01_文本生成_文本对话 / 大语言对话模型及数据)
- awesome-AI-driven-development - autogen - A programming framework for agentic AI (Multi-Agent & Orchestration / Other IDEs)
- awesome-ChatGPT-repositories - autogen - Enable Next-Gen Large Language Model Applications. Join our Discord: https://discord.gg/pAbnFJrkgZ (Chatbots)
- Awesome-AGI - autogen
- ai-game-devtools - AutoGen - Gen Large Language Model Applications. |[arXiv](https://arxiv.org/abs/2308.08155) | | Agent | (<span id="game">Game (World Model & Agent)</span> / <span id="tool">LLM (LLM & Tool)</span>)
- awesome-ai - Autogen - A programming framework developed by Microsoft for agentic AI. (Agent)
- awesome-ai - Autogen - A programming framework developed by Microsoft for agentic AI. (Agent)
- stars - microsoft/autogen - Enable Next-Gen Large Language Model Applications. Join our Discord: https://discord.gg/pAbnFJrkgZ (Jupyter Notebook)
- awesome-LLM-resources - AutoGen - studio.com/) (智能体 Agents)
- awesome-production-genai - AutoGen - AutoGen is an open-source framework for building AI agent systems. (Agent Development)
- awesome-langchain - Autogen - Gen Large Language Model Applications. (Other LLM Frameworks / Videos Playlists)
- awesome-production-genai - AutoGen - AutoGen is an open-source framework for building AI agent systems. (Agentic Framework)
- awesome-autonomous-gpt - 2023/09/19 - Enable Next-Gen Large Language Model Applications. (Projects / Applications)
- awesome-chatgpt - microsoft/autogen - AutoGen is a Microsoft-developed framework for building and managing multi-agent AI applications that operate autonomously or alongside humans, featuring layered APIs, developer tools, and no-code interfaces. (SDK, Libraries, Frameworks / Python library, sdk or frameworks)
- awesome-generative-ai - AutoGen - AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks. (Agents / Autonomous agents)
- awesome-ai - AutoGen - AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks. (Coding / Autonomous agents)
- awesome-ml-python-packages - autogen
- awesome-hacking-lists - microsoft/autogen - A programming framework for agentic AI 🤖 PyPi: autogen-agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour (Python)
- Awesome-AI-Agents - AutoGen - AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks.  (Frameworks / Advanced Components)
- Awesome-AI-Agents - AutoGen - AutoGen is a framework that enables the development of LLM applications using multiple agents that can converse with each other to solve tasks.  (Frameworks / Advanced Components)
- Awesome-AITools - Github
- awesome - microsoft/autogen - A programming framework for agentic AI (Python)
- awesome-agents - Autogen - Gen Large Language Model Applications.  (Frameworks)
- awesome-azure-openai-copilot - Autogen - Customizable multi-agent conversation and tool orchestration framework (community AG2 and Microsoft variants). (Agent Frameworks)
- awesome-azure-openai-copilot - Autogen - Customizable multi-agent conversation and tool orchestration framework (community AG2 and Microsoft variants). (Agent Frameworks)
- awesome-genai - AutoGen - A programming framework for agentic AI. [](https://github.com/microsoft/autogen/network/members) [](https://github.com/microsoft/autogen/stargazers) (Tools & Frameworks / Development Frameworks)
- awesome-genai - AutoGen - A programming framework for agentic AI. [](https://github.com/microsoft/autogen/network/members) [](https://github.com/microsoft/autogen/stargazers) (Tools & Frameworks / Development Frameworks)
- awesome-ai-agents - AutoGen - agent conversations, GPT-4 integration, customizable workflows | (🌟 Core Frameworks)
- awesome-ai-agents - AutoGen - agent conversations, GPT-4 integration, customizable workflows | (Core Frameworks)
- awesome-generative-ai-data-scientist - AutoGen
- acu - AutoGen
- alan_awesome_llm - AutoGen - studio.com/) (Agents)
- alan_awesome_llm - AutoGen - studio.com/) (Agents)
- awesome-agi-agents - autogen
- awesome-agi-agents - autogen
- awesome_ai_agents - AutoGen by Microsoft - AutoGen is a multi-agent conversation framework facilitating the development of next-gen LLM applications, highlighted by various accomplishments and offering enhanced LLM inferences, customizable agents, and comprehensive documentation [github](https://github.com/microsoft/autogen) | [video](https://www.youtube.com/watch?v=DXhqhpHWRuM) (Learning / Repositories)
- Awesome-Local-LLM - _Website_ - discord) | [_Docs_](https://microsoft.github.io/autogen/docs/Getting-Started) (Agents)
- Awesome-Local-LLM - _Website_ - discord) | [_Docs_](https://microsoft.github.io/autogen/docs/Getting-Started) (Agents)
- awesome-ai-agents - AutoGen
- awesome-rainmana - microsoft/autogen - A programming framework for agentic AI (Python)
- AiTreasureBox - microsoft/autogen - 10-01_50353_21](https://img.shields.io/github/stars/microsoft/autogen.svg)|Enable Next-Gen Large Language Model Applications. Join our Discord: https://discord.gg/pAbnFJrkgZ| (Repos)
- Awesome-LLMOps - autogen - commit/microsoft/autogen?color=green) (Orchestration / Agent Framework)
- awesome-llm-agent - AutoGen
- awesome-agents - autogen - agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour | framework | 44,300 | 6,677 | 556 | 444 | 1 days, 6 hrs, 6 mins | 88 | Creative Commons Attribution 4.0 International | (Table of Open-Source AI Agents Projects)
- awesome_ai_agents - AutoGen Studio by Microsoft - AutoGen Studio 2.0 is Microsoft's advanced AI development tool, offering a user-friendly interface, powerful Python API, and comprehensive features for creating and controlling AI agents and workflows [github](https://github.com/microsoft/autogen) | [website](https://autogen-studio.com) | [landing page](https://www.microsoft.com/en-us/research/project/autogen/) | [research paper](https://www.microsoft.com/en-us/research/publication/autogen-enabling-next-gen-llm-applications-via-multi-agent-conversation-framework/) (Learning / Repositories)
- awesome-ai-agents - AutoGen
- awesome-ai-agents - microsoft/autogen
- awesome-agents - autogen - agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour | framework | 38,334 | 5,598 | 672 | 404 | 0 days, 9 hrs, 2 mins | 70 | Creative Commons Attribution 4.0 International | (Table of Open-Source AI Agents Projects)
- awesome-deep-research - Autogen - A framework for developing multi-agent conversation systems. (🤖 Deep Research Systems / 🌐 Open-Source Deep Research Implementations)
- awesome-deep-research - Autogen - A framework for developing multi-agent conversation systems. (🤖 Deep Research Systems / 🌐 Open-Source Deep Research Implementations)
- my-awesome-starred - microsoft/autogen - A programming framework for agentic AI (Python)
- awesome-chatgpt-claude-agents - Autogen - Enable Next-Gen Large Language Model Applications (🛠️ Frameworks & Platforms / Multi-Agent Orchestration)
- awesome-langchain-zh - Autogen
- jimsghstars - microsoft/autogen - A programming framework for agentic AI 🤖 PyPi: autogen-agentchat Discord: https://aka.ms/autogen-discord Office Hour: https://aka.ms/autogen-officehour (Jupyter Notebook)
- awesome-langchain - Autogen - agent framework (not LangChain-exclusive, but compatible). (Open Source Projects)
- awesome-langchain - Autogen - agent framework (not LangChain-exclusive, but compatible). (Open Source Projects)
README
![]()
[](https://twitter.com/pyautogen)
[](https://www.linkedin.com/company/105812540)
[](https://aka.ms/autogen-discord)
[](https://microsoft.github.io/autogen/)
[](https://devblogs.microsoft.com/autogen/)# AutoGen
**AutoGen** is a framework for creating multi-agent AI applications that can act autonomously or work alongside humans.
## Installation
AutoGen requires **Python 3.10 or later**.
```bash
# Install AgentChat and OpenAI client from Extensions
pip install -U "autogen-agentchat" "autogen-ext[openai]"
```The current stable version can be found in the [releases](https://github.com/microsoft/autogen/releases). If you are upgrading from AutoGen v0.2, please refer to the [Migration Guide](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/migration-guide.html) for detailed instructions on how to update your code and configurations.
```bash
# Install AutoGen Studio for no-code GUI
pip install -U "autogenstudio"
```## Quickstart
### Hello World
Create an assistant agent using OpenAI's GPT-4o model. See [other supported models](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/models.html).
```python
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClientasync def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
agent = AssistantAgent("assistant", model_client=model_client)
print(await agent.run(task="Say 'Hello World!'"))
await model_client.close()asyncio.run(main())
```### MCP Server
Create a web browsing assistant agent that uses the Playwright MCP server.
```python
# First run `npm install -g @playwright/mcp@latest` to install the MCP server.
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, StdioServerParamsasync def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
server_params = StdioServerParams(
command="npx",
args=[
"@playwright/mcp@latest",
"--headless",
],
)
async with McpWorkbench(server_params) as mcp:
agent = AssistantAgent(
"web_browsing_assistant",
model_client=model_client,
workbench=mcp, # For multiple MCP servers, put them in a list.
model_client_stream=True,
max_tool_iterations=10,
)
await Console(agent.run_stream(task="Find out how many contributors for the microsoft/autogen repository"))asyncio.run(main())
```> **Warning**: Only connect to trusted MCP servers as they may execute commands
> in your local environment or expose sensitive information.### Multi-Agent Orchestration
You can use `AgentTool` to create a basic multi-agent orchestration setup.
```python
import asynciofrom autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.tools import AgentTool
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClientasync def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")math_agent = AssistantAgent(
"math_expert",
model_client=model_client,
system_message="You are a math expert.",
description="A math expert assistant.",
model_client_stream=True,
)
math_agent_tool = AgentTool(math_agent, return_value_as_last_message=True)chemistry_agent = AssistantAgent(
"chemistry_expert",
model_client=model_client,
system_message="You are a chemistry expert.",
description="A chemistry expert assistant.",
model_client_stream=True,
)
chemistry_agent_tool = AgentTool(chemistry_agent, return_value_as_last_message=True)agent = AssistantAgent(
"assistant",
system_message="You are a general assistant. Use expert tools when needed.",
model_client=model_client,
model_client_stream=True,
tools=[math_agent_tool, chemistry_agent_tool],
max_tool_iterations=10,
)
await Console(agent.run_stream(task="What is the integral of x^2?"))
await Console(agent.run_stream(task="What is the molecular weight of water?"))asyncio.run(main())
```For more advanced multi-agent orchestrations and workflows, read
[AgentChat documentation](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/index.html).### AutoGen Studio
Use AutoGen Studio to prototype and run multi-agent workflows without writing code.
```bash
# Run AutoGen Studio on http://localhost:8080
autogenstudio ui --port 8080 --appdir ./my-app
```## Why Use AutoGen?
![]()
The AutoGen ecosystem provides everything you need to create AI agents, especially multi-agent workflows -- framework, developer tools, and applications.
The _framework_ uses a layered and extensible design. Layers have clearly divided responsibilities and build on top of layers below. This design enables you to use the framework at different levels of abstraction, from high-level APIs to low-level components.
- [Core API](./python/packages/autogen-core/) implements message passing, event-driven agents, and local and distributed runtime for flexibility and power. It also support cross-language support for .NET and Python.
- [AgentChat API](./python/packages/autogen-agentchat/) implements a simpler but opinionated API for rapid prototyping. This API is built on top of the Core API and is closest to what users of v0.2 are familiar with and supports common multi-agent patterns such as two-agent chat or group chats.
- [Extensions API](./python/packages/autogen-ext/) enables first- and third-party extensions continuously expanding framework capabilities. It support specific implementation of LLM clients (e.g., OpenAI, AzureOpenAI), and capabilities such as code execution.The ecosystem also supports two essential _developer tools_:
![]()
- [AutoGen Studio](./python/packages/autogen-studio/) provides a no-code GUI for building multi-agent applications.
- [AutoGen Bench](./python/packages/agbench/) provides a benchmarking suite for evaluating agent performance.You can use the AutoGen framework and developer tools to create applications for your domain. For example, [Magentic-One](./python/packages/magentic-one-cli/) is a state-of-the-art multi-agent team built using AgentChat API and Extensions API that can handle a variety of tasks that require web browsing, code execution, and file handling.
With AutoGen you get to join and contribute to a thriving ecosystem. We host weekly office hours and talks with maintainers and community. We also have a [Discord server](https://aka.ms/autogen-discord) for real-time chat, GitHub Discussions for Q&A, and a blog for tutorials and updates.
## Where to go next?
| | [](./python) | [](./dotnet) | [](./python/packages/autogen-studio) |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Installation | [](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/installation.html) | [](https://microsoft.github.io/autogen/dotnet/dev/core/installation.html) | [](https://microsoft.github.io/autogen/stable/user-guide/autogenstudio-user-guide/installation.html) |
| Quickstart | [](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/quickstart.html#) | [](https://microsoft.github.io/autogen/dotnet/dev/core/index.html) | [](https://microsoft.github.io/autogen/stable/user-guide/autogenstudio-user-guide/usage.html#) |
| Tutorial | [](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/tutorial/index.html) | [](https://microsoft.github.io/autogen/dotnet/dev/core/tutorial.html) | [](https://microsoft.github.io/autogen/stable/user-guide/autogenstudio-user-guide/usage.html#) |
| API Reference | [](https://microsoft.github.io/autogen/stable/reference/index.html#) | [](https://microsoft.github.io/autogen/dotnet/dev/api/Microsoft.AutoGen.Contracts.html) | [](https://microsoft.github.io/autogen/stable/user-guide/autogenstudio-user-guide/usage.html) |
| Packages | [](https://pypi.org/project/autogen-core/)
[](https://pypi.org/project/autogen-agentchat/)
[](https://pypi.org/project/autogen-ext/) | [](https://www.nuget.org/packages/Microsoft.AutoGen.Contracts/)
[](https://www.nuget.org/packages/Microsoft.AutoGen.Core/)
[](https://www.nuget.org/packages/Microsoft.AutoGen.Core.Grpc/)
[](https://www.nuget.org/packages/Microsoft.AutoGen.RuntimeGateway.Grpc/) | [](https://pypi.org/project/autogenstudio/) |Interested in contributing? See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines on how to get started. We welcome contributions of all kinds, including bug fixes, new features, and documentation improvements. Join our community and help us make AutoGen better!
Have questions? Check out our [Frequently Asked Questions (FAQ)](./FAQ.md) for answers to common queries. If you don't find what you're looking for, feel free to ask in our [GitHub Discussions](https://github.com/microsoft/autogen/discussions) or join our [Discord server](https://aka.ms/autogen-discord) for real-time support. You can also read our [blog](https://devblogs.microsoft.com/autogen/) for updates.
## Legal Notices
Microsoft and any contributors grant you a license to the Microsoft documentation and other content
in this repository under the [Creative Commons Attribution 4.0 International Public License](https://creativecommons.org/licenses/by/4.0/legalcode),
see the [LICENSE](LICENSE) file, and grant you a license to any code in the repository under the [MIT License](https://opensource.org/licenses/MIT), see the
[LICENSE-CODE](LICENSE-CODE) file.Microsoft, Windows, Microsoft Azure, and/or other Microsoft products and services referenced in the documentation
may be either trademarks or registered trademarks of Microsoft in the United States and/or other countries.
The licenses for this project do not grant you rights to use any Microsoft names, logos, or trademarks.
Microsoft's general trademark guidelines can be found at .Privacy information can be found at
Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents,
or trademarks, whether by implication, estoppel, or otherwise.