autogen

microsoftCC-BY-4.0活跃维护

微软开源的多智能体编程框架,让开发者用对话编排多个 LLM Agent 协作完成复杂任务,支持自定义角色与工具调用。

A programming framework for agentic AI

python-v0.7.5发布于 2025-09-30 06:18 UTC61,766star +29 / 7 天9,390fork同步于 2026-11-10 05:18 UTC

怎么上手

由 README 提炼,执行前请确认
pip install -U "autogen-agentchat" "autogen-ext[openai]"
硬件要求按 README 说明

README 未说明显存或 GPU 要求;示例通过 OpenAI API 调用云端模型,本地只需 Python 3.10 或更高版本

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

微软开源的多智能体 AI 应用框架,用分层 API 编排多个 Agent 协作完成任务

微软开源的多智能体编程框架,让开发者用对话编排多个 LLM Agent 协作完成复杂任务,支持自定义角色与工具调用。

核心能力

  • 用 Core API 实现事件驱动 Agent 与本地/分布式运行时
  • 用 AgentChat API 快速搭建双人对话、群聊等多智能体模式
  • 通过 Extensions 接入 OpenAI、AzureOpenAI 等模型与代码执行
  • 用 AgentTool 把专家 Agent 包装成工具做多智能体编排
  • 内置 AutoGen Studio 无代码 GUI 与 AutoGen Bench 评测套件

容易踩的坑

项目已归档不再维护,官方建议新项目改用 Microsoft Agent Framework;示例依赖 OpenAI API,需先 export OPENAI_API_KEY;MCP 示例需先 npm install -g @playwright/mcp@latest;AutoGen Studio 默认跑在 8080 端口且明确非生产可用

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本python-v0.7.5
  1. python-v0.7.5最新正式版2025-09-30 · 2025-09-30 06:18 UTC

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/autogen/compare/python-v0.7.4...python-v0.7.5

  2. python-v0.7.42025-08-19 · 2025-08-19 18:50 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/autogen/compare/python-v0.7.3...python-v0.7.4

  3. python-v0.7.32025-08-19 · 2025-08-19 08:07 UTC
    查看更新说明

    What's Changed

    New Contributors

    Full Changelog: https://github.com/microsoft/autogen/compare/python-v0.7.2...python-v0.7.3

  4. python-v0.7.22025-08-07 · 2025-08-07 00:29 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/microsoft/autogen/compare/python-v0.7.1...python-v0.7.2

  5. python-v0.7.12025-07-28 · 2025-07-28 08:43 UTC
    查看更新说明

    What's New

    OpenAIAgent supports all built-in tools

    Support nested Team as a participant in a Team

    Introduce RedisMemory

    Upgrade to latest MCP version

    Upgrade to latest GraphRAG version

    include_name_in_message flag to make the use of name field optional in chat messages sent via the Open AI client.

    All Changes

    New Contributors

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Twitter LinkedIn Discord Documentation Blog

    AutoGen Archived

    AutoGen is a framework for creating multi-agent AI applications that can act autonomously or work alongside humans.

    [!CAUTION] ⚠️ Project archived and no longer maintained

    This project has been archived and is no longer actively maintained by Microsoft.

    Microsoft is not providing bug fixes, security fixes, new features, or support for this project. The repository remains available for historical/reference purposes.

    Use archived repositories with caution. Without ongoing maintenance or security fixes, vulnerabilities in this project and its dependencies may remain unaddressed, increasing the security risks of continued use. Carefully assess these risks before using AutoGen, particularly when handling sensitive data. AutoGen was developed for research and experimentation and as it transitions to archived, we continue to advise against production use.

    We thank the AutoGen community for the code, documentation, bug reports, ideas, and discussions that helped shape this project.

    New users should start with Microsoft Agent Framework. Existing users are encouraged to migrate using the AutoGen → Microsoft Agent Framework migration guide.

    Microsoft Agent Framework (MAF) is the enterprise‑ready successor to AutoGen. Microsoft Agent FrameworkAF in now available as a production-ready release: stable APIs, and a commitment to long-term support. Whether you're building a single assistant or orchestrating a fleet of specialized agents, Microsoft Agent Framework 1.0 gives you enterprise-grade multi-agent orchestration, multi-provider model support, and cross-runtime interoperability via A2A and MCP.

    Installation

    AutoGen requires Python 3.10 or later.

    # 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. If you are upgrading from AutoGen v0.2, please refer to the Migration Guide for detailed instructions on how to update your code and configurations.

    # Install AutoGen Studio for no-code GUI
    pip install -U "autogenstudio"
    

    Quickstart

    The following samples call OpenAI API, so you first need to create an account and export your key as export OPENAI_API_KEY="sk-...".

    Hello World

    Create an assistant agent using OpenAI's GPT-4o model. See other supported models.

    import asyncio
    from autogen_agentchat.agents import AssistantAgent
    from autogen_ext.models.openai import OpenAIChatCompletionClient
    
    async 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.

    # 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, StdioServerParams
    
    
    async 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.

    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() -> 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.

    AutoGen Studio

    Use AutoGen Studio to prototype and run multi-agent workflows without writing code.

    Caution: AutoGen Studio is meant to help you rapidly prototype multi-agent workflows and demonstrate an example of end user interfaces built with AutoGen. It is not meant to be a production-ready app. Developers are encouraged to use the AutoGen framework to build their own applications, implementing authentication, security and other features required for deployed applications. See the security note for more details.

    # Run AutoGen Studio on http://localhost:8080
    autogenstudio ui --port 8080 --appdir ./my-app
    

    Why AutoGen?

    Pioneered in Microsoft Research, AutoGen opened the door to experimental multi-agent orchestration patterns that inspired the community. AutoGen is now archived and no longer maintained by Microsoft; the architecture described below remains available for historical/reference purposes. For new projects, we recommend Microsoft Agent Framework, which builds on the lessons learned from AutoGen with enterprise-grade support.

    The autogen 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 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 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 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 provides a no-code GUI for building multi-agent applications.
    • AutoGen Bench 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 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.

    For community support, visit our Discord server or GitHub Discussions. Note that AutoGen is now community-managed and responses may be limited.

    Where to go next?

    Starting a new project? Head to Microsoft Agent Framework for the latest multi-agent capabilities with long-term support.

    Existing AutoGen user? Use the migration guide to transition, or refer to the resources below for current AutoGen documentation.

    Python.NETStudio
    InstallationInstallationInstallInstall
    QuickstartQuickstartQuickstartUsage
    TutorialTutorialTutorialUsage
    API ReferenceAPIAPIAPI
    PackagesPyPi autogen-core PyPi autogen-agentchat PyPi autogen-extNuGet Contracts NuGet Core NuGet Core.Grpc NuGet RuntimeGateway.GrpcPyPi autogenstudio

    Interested in contributing? See CONTRIBUTING.md for guidelines. As AutoGen is in maintenance mode, contributions are limited to bug fixes, security patches, and documentation improvements. For feature development, consider contributing to Microsoft Agent Framework.

    Have questions? Check out our Frequently Asked Questions (FAQ) for answers to common queries. Community support is available through GitHub Discussions and the Discord server, though response times may vary as AutoGen is now community-managed. For actively supported tooling, see Microsoft Agent Framework.

    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, see the LICENSE file, and grant you a license to any code in the repository under the MIT License, see the 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 http://go.microsoft.com/fwlink/?LinkID=254653.

    Privacy information can be found at https://go.microsoft.com/fwlink/?LinkId=521839

    Microsoft and any contributors reserve all other rights, whether under their respective copyrights, patents, or trademarks, whether by implication, estoppel, or otherwise.