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 상호운용성 |
| 최적 사용 사례 | 멀티 에이전트 패턴 학습, 빠른 프로토타입, 커뮤니티 실험 | 프로덕션 서비스 구축, 엔터프라이즈 배포 |
도움 받기
- Discord: https://aka.ms/autogen-discord
- GitHub Discussions: https://github.com/microsoft/autogen/discussions
- Docs: https://microsoft.github.io/autogen/
- 마이그레이션 가이드: https://learn.microsoft.com/en-us/agent-framework/migration-guide/from-autogen/
결론 – AutoGen은 멀티 에이전트 LLM 오케스트레이션을 위한 견고한 참조 구현이지만, 보관되었으므로 학습 리소스로 취급하고 새로운 작업은 Microsoft Agent Framework로 이동해야 합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트