microsoft/autogen

A programming framework for agentic AI

AutoGen – 멀티 에이전트 AI 프레임워크 (보관됨)

정의 – AutoGen은 여러 LLM 기반 에이전트가 서로 대화하고, 도구를 호출하며, 선택적으로 인간과 상호작용할 수 있는 애플리케이션을 구축할 수 있게 해주는 Python/.NET 라이브러리입니다. 세 가지 계층형 API를 제공합니다:

  • Core – 저수준 메시지 전달 및 분산 런타임.
  • AgentChat – 두 에이전트 채팅, 그룹 채팅, 도구 기반 워크플로우의 빠른 프로토타이핑을 위한 고수준의 규범적 헬퍼.
  • Extensions – 특정 LLM 제공업체(OpenAI, Azure OpenAI) 및 Playwright MCP를 통한 웹 브라우징과 같은 기능을 위한 플러그인.

또한 두 가지 개발자 도구를 제공합니다:

  • AutoGen Studio – 멀티 에이전트 흐름을 구성하기 위한 코드 없는 웹 UI.
  • AutoGen Bench – 에이전트 성능을 측정하기 위한 벤치마크 스위트.

중요성 – AutoGen은 여러 LLM 에이전트를 오케스트레이션하는 방법을 보여준 최초의 오픈소스 Microsoft 프로젝트로, 현재 연구 및 제품 팀에서 일반적인 패턴이 되었습니다. 저장소는 현재 보관되었지만, 그 설계는 활발히 유지 관리되는 Microsoft Agent Framework에서 계속 이어지고 있습니다.


설치 (Python)

# 핵심 패키지
pip install -U "autogen-agentchat" "autogen-ext[openai]"
# 선택적 코드 없는 GUI
pip install -U "autogenstudio"

Python 3.10+ 필요. 최신 안정 바이너리는 PyPI에 게시되어 있습니다.


빠른 시작 예제

1. Hello-World 어시스턴트

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. Playwright MCP를 사용한 웹 브라우징

# MCP 서버 먼저 설치: 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. 멀티 에이전트 오케스트레이션

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

AutoGen Studio 사용 (코드 없음)

autogenstudio ui --port 8080 --appdir ./my-app

http://localhost:8080에서 브라우저가 열리며, Python 코드를 작성하지 않고 에이전트를 드래그 앤 드롭하고, 도구를 연결하고, 흐름을 실행할 수 있습니다. 스튜디오는 프로덕션 준비가 되어 있지 않습니다; 프로토타이핑과 데모용으로 설계되었습니다.


프로젝트 상태 및 마이그레이션

  • 보관됨 – Microsoft는 더 이상 버그 또는 보안 수정을 제공하지 않습니다. 학습 또는 연구 목적으로만 사용하고 프로덕션에서는 피하십시오.
  • 후속 제품 – **Microsoft Agent Framework (MAF)**는 활발히 유지 관리되는 엔터프라이즈급 대체 제품입니다. 기존 AutoGen 사용자는 공식 마이그레이션 가이드를 따르는 것이 좋습니다.

AutoGen vs MAF 선택 시점

AutoGen (보관됨) Microsoft Agent Framework
유지 관리 업데이트 없음, 보안 위험 지속적인 릴리스, 장기 지원
언어 지원 Python 및 .NET Python 및 .NET
기능 Core, AgentChat, Extensions, Studio, Bench 동일한 핵심 아이디어에 더해 프로덕션 준비 API, 다중 제공업체 모델 지원, A2A 및 MCP 상호운용성
최적 사용 사례 멀티 에이전트 패턴 학습, 빠른 프로토타입, 커뮤니티 실험 프로덕션 서비스 구축, 엔터프라이즈 배포

도움 받기


결론 – AutoGen은 멀티 에이전트 LLM 오케스트레이션을 위한 견고한 참조 구현이지만, 보관되었으므로 학습 리소스로 취급하고 새로운 작업은 Microsoft Agent Framework로 이동해야 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트