{"name":"AutoGen: A Programming Framework for Agentic AI","description":"AutoGen is a versatile programming framework from Microsoft designed for building multi-agent AI applications. It empowers AI agents to operate autonomously or collaborate seamlessly with human users, streamlining the execution of complex tasks. The framework offers a layered, extensible design, providing both high-level APIs for rapid prototyping and low-level components for fine-grained control.","github":"https://github.com/microsoft/autogen","url":"https://osrepos.com/repo/microsoft-autogen","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/microsoft-autogen","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/microsoft-autogen.md","json":"https://osrepos.com/repo/microsoft-autogen.json","topics":["agentic-ai","multi-agent","llm-framework","python","artificial-intelligence","software-development","autogen","microsoft"],"keywords":["agentic-ai","multi-agent","llm-framework","python","artificial-intelligence","software-development","autogen","microsoft"],"stars":null,"summary":"AutoGen is a versatile programming framework from Microsoft designed for building multi-agent AI applications. It empowers AI agents to operate autonomously or collaborate seamlessly with human users, streamlining the execution of complex tasks. The framework offers a layered, extensible design, providing both high-level APIs for rapid prototyping and low-level components for fine-grained control.","content":"## Introduction\nAutoGen is a powerful programming framework developed by Microsoft for creating multi-agent AI applications. It enables AI agents to act autonomously or collaborate with humans, facilitating complex task execution. While AutoGen continues to be maintained, users new to the framework are encouraged to explore the [Microsoft Agent Framework](https://github.com/microsoft/agent-framework), as announced in recent updates.\n\n## Installation\nAutoGen requires **Python 3.10 or later**.\n\nTo install the core components and OpenAI client, use pip:\nbash\npip install -U \"autogen-agentchat\" \"autogen-ext[openai]\"\n\nFor a no-code GUI experience, you can install AutoGen Studio:\nbash\npip install -U \"autogenstudio\"\n\nRefer to the official [AutoGen documentation](https://microsoft.github.io/autogen/) for detailed installation instructions and migration guides for previous versions.\n\n## Examples\nHere are a few quickstart examples demonstrating AutoGen's capabilities. Remember to set your `OPENAI_API_KEY` environment variable before running these examples.\n\n### Hello World\nCreate a simple assistant agent using OpenAI's GPT-4o model.\npython\nimport asyncio\nfrom autogen_agentchat.agents import AssistantAgent\nfrom autogen_ext.models.openai import OpenAIChatCompletionClient\n\nasync def main() -> None:\n    model_client = OpenAIChatCompletionClient(model=\"gpt-4.1\")\n    agent = AssistantAgent(\"assistant\", model_client=model_client)\n    print(await agent.run(task=\"Say 'Hello World!'\"))\n    await model_client.close()\n\nasyncio.run(main())\n\n\n### Web Browsing with MCP Server\nCreate a web browsing assistant agent that utilizes the Playwright MCP server.\npython\n# First run `npm install -g @playwright/mcp@latest` to install the MCP server.\nimport asyncio\nfrom autogen_agentchat.agents import AssistantAgent\nfrom autogen_agentchat.ui import Console\nfrom autogen_ext.models.openai import OpenAIChatCompletionClient\nfrom autogen_ext.tools.mcp import McpWorkbench, StdioServerParams\n\n\nasync def main() -> None:\n    model_client = OpenAIChatCompletionClient(model=\"gpt-4.1\")\n    server_params = StdioServerParams(\n        command=\"npx\",\n        args=[\n            \"@playwright/mcp@latest\",\n            \"--headless\",\n        ],\n    )\n    async with McpWorkbench(server_params) as mcp:\n        agent = AssistantAgent(\n            \"web_browsing_assistant\",\n            model_client=model_client,\n            workbench=mcp, # For multiple MCP servers, put them in a list.\n            model_client_stream=True,\n            max_tool_iterations=10,\n        )\n        await Console(agent.run_stream(task=\"Find out how many contributors for the microsoft/autogen repository\"))\n\n\nasyncio.run(main())\n\n*Warning*: Only connect to trusted MCP servers as they may execute commands in your local environment or expose sensitive information.\n\n### Multi-Agent Orchestration\nSet up a basic multi-agent orchestration using `AgentTool` to delegate tasks to specialized agents.\npython\nimport asyncio\n\nfrom autogen_agentchat.agents import AssistantAgent\nfrom autogen_agentchat.tools import AgentTool\nfrom autogen_agentchat.ui import Console\nfrom autogen_ext.models.openai import OpenAIChatCompletionClient\n\n\nasync def main() -> None:\n    model_client = OpenAIChatCompletionClient(model=\"gpt-4.1\")\n\n    math_agent = AssistantAgent(\n        \"math_expert\",\n        model_client=model_client,\n        system_message=\"You are a math expert.\",\n        description=\"A math expert assistant.\",\n        model_client_stream=True,\n    )\n    math_agent_tool = AgentTool(math_agent, return_value_as_last_message=True)\n\n    chemistry_agent = AssistantAgent(\n        \"chemistry_expert\",\n        model_client=model_client,\n        system_message=\"You are a chemistry expert.\",\n        description=\"A chemistry expert assistant.\",\n        model_client_stream=True,\n    )\n    chemistry_agent_tool = AgentTool(chemistry_agent, return_value_as_last_message=True)\n\n    agent = AssistantAgent(\n        \"assistant\",\n        system_message=\"You are a general assistant. Use expert tools when needed.\",\n        model_client=model_client,\n        model_client_stream=True,\n        tools=[math_agent_tool, chemistry_agent_tool],\n        max_tool_iterations=10,\n    )\n    await Console(agent.run_stream(task=\"What is the integral of x^2?\"))\n    await Console(agent.run_stream(task=\"What is the molecular weight of water?\"))\n\n\nasyncio.run(main())\n\nFor more advanced multi-agent orchestrations and workflows, refer to the [AgentChat documentation](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/index.html).\n\n### AutoGen Studio\nPrototype and run multi-agent workflows without writing code using AutoGen Studio.\nbash\nautogenstudio ui --port 8080 --appdir ./my-app\n\n*Caution*: AutoGen Studio is intended for rapid prototyping and demonstration, not as a production-ready application. Developers should build their own applications with necessary security and authentication features.\n\n## Why Use AutoGen?\nAutoGen provides a comprehensive ecosystem for creating AI agents, particularly for multi-agent workflows, encompassing a robust framework, essential developer tools, and example applications. Its layered and extensible design allows for flexible use, from high-level APIs to low-level components.\n\nThe framework is structured with:\n*   **Core API**: Implements message passing, event-driven agents, and a flexible runtime, supporting both .NET and Python.\n*   **AgentChat API**: Offers a simpler API for rapid prototyping, building on the Core API and supporting common multi-agent patterns.\n*   **Extensions API**: Enables continuous expansion of framework capabilities through first and third-party extensions, including LLM clients and code execution.\n\nKey developer tools include:\n*   [AutoGen Studio](https://microsoft.github.io/autogen/stable/user-guide/autogenstudio-user-guide/installation.html): A no-code GUI for building multi-agent applications.\n*   [AutoGen Bench](https://github.com/microsoft/autogen/tree/main/python/packages/agbench): A benchmarking suite for evaluating agent performance.\n\nAutoGen also fosters a thriving community with weekly office hours, talks, a [Discord server](https://aka.ms/autogen-discord), and GitHub Discussions for support and collaboration.\n\n## Links & Resources\n*   **GitHub Repository**: [microsoft/autogen](https://github.com/microsoft/autogen)\n*   **Official Documentation**: [AutoGen Documentation](https://microsoft.github.io/autogen/)\n*   **AutoGen Blog**: [Microsoft AutoGen Blog](https://devblogs.microsoft.com/autogen/)\n*   **Discord Server**: [Join AutoGen Discord](https://aka.ms/autogen-discord)\n*   **GitHub Discussions**: [AutoGen Q&A](https://github.com/microsoft/autogen/discussions)\n*   **Installation Guide**: [AutoGen Installation](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/installation.html)\n*   **Quickstart Guide**: [AutoGen Quickstart](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/quickstart.html#)\n*   **AgentChat Documentation**: [AgentChat User Guide](https://microsoft.github.io/autogen/stable/user-guide/agentchat-user-guide/index.html)\n*   **AutoGen Studio Documentation**: [AutoGen Studio User Guide](https://microsoft.github.io/autogen/stable/user-guide/autogenstudio-user-guide/index.html)","metrics":{"detailViews":4,"githubClicks":6},"dates":{"published":null,"modified":"2026-03-30T15:21:38.000Z"}}