autogen
무엇인가
AutoGen은 LLM 애플리케이션을 단일 호출이 아니라 여러 에이전트 사이의 대화로 구성하는 Python 프레임워크다. Microsoft Research에서 시작됐고, 에이전트가 자율적으로 동작하거나 사람과 함께 작업하는 실행 형태를 다룬다. 에이전트 오케스트레이션 계층에 속하며, 원시 LLM SDK와 완성된 애플리케이션 사이의 자리를 차지한다.
어떻게 동작하나
구조는 세 계층으로 나뉜다. Core API는 메시지 전달, 이벤트 기반 에이전트, 로컬·분산 런타임을 구현하고 .NET과 Python 간 크로스랭귀지 실행을 지원한다. AgentChat API는 Core 위에 올라가며 두 에이전트 채팅, 그룹 채팅 같은 패턴을 단순한 인터페이스로 노출한다. Extensions API는 OpenAI·AzureOpenAI 같은 LLM 클라이언트와 코드 실행 기능을 붙인다. 별도 개발 도구로 노코드 GUI인 AutoGen Studio와 에이전트 성능 평가용 AutoGen Bench가 있다. Magentic-One은 AgentChat API와 Extensions API로 만든 멀티에이전트 팀이다.
무엇과 다른가
오케스트레이션 루프를 직접 작성하는 방식과 달리, 추상화 수준을 계층별로 선택할 수 있다. 저수준에서는 메시지 전달과 런타임을 직접 제어하고, 고수준에서는 AgentChat의 정해진 패턴을 그대로 쓴다. v0.2 계열과 달리 이벤트 기반 비동기 메시지 전달 구조를 기반으로 한다. 후속 프로젝트는 Microsoft Agent Framework이며, AutoGen은 유지보수 모드로 남아 기존 사용자 지원만 이어진다.
어떻게 쓰나
Python 3.10 이상이 필요하고 pip로 설치한다. 실행 전 `export OPENAI_API_KEY="sk-..."`로 키를 환경변수에 넣는다. GPT-4o 모델로 어시스턴트 에이전트를 만들고, AgentTool로 여러 에이전트를 묶어 오케스트레이션을 구성한다. Playwright MCP 서버를 연결하면 웹 브라우징 에이전트가 된다. AutoGen Studio를 쓰면 코드 없이 워크플로를 프로토타이핑할 수 있다.
전제와 한계
현재 새 기능과 개선은 받지 않으며 커뮤니티가 관리한다. 기여 범위는 버그 수정, 보안 패치, 문서 개선으로 제한된다. AutoGen Studio는 프로덕션용이 아니며 인증과 보안은 개발자가 직접 구현해야 한다. MCP 서버는 로컬 환경에서 명령을 실행하거나 민감 정보를 노출할 수 있어 신뢰할 수 있는 서버에만 연결해야 한다. 신규 프로젝트에는 Microsoft Agent Framework가 권장된다.
관련 논문 5
유사 도구
- langroid에이전트에 LLM·벡터스토어·도구를 붙이고 태스크를 맡겨 메시지로 협업시키는 Python 멀티에이전트 프레임워크다. LangChain에 의존하지 않는다.
- crewAI역할 기반 자율 AI 에이전트를 Crews로 묶고, 이벤트 기반 Flows로 실행을 제어하는 Python 멀티에이전트 오케스트레이션 프레임워크다.
- MetaGPT한 줄 요구사항을 입력하면 제품 관리자·아키텍트·엔지니어 역할의 LLM 에이전트 팀이 SOP 순서대로 요구사항·설계·API·코드를 산출하는 멀티에이전트 프레임워크다.
- agentscope모델의 추론과 도구 사용 능력을 그대로 살려 에이전트를 조립하는 Python 프레임워크다. FastAPI 에이전트 서비스와 터미널 콘솔을 포함한다.
- langchainLLM 애플리케이션과 에이전트를 조립하는 Python 프레임워크다. 모델·임베딩·벡터 스토어·툴을 표준 인터페이스로 감싸 제공자 교체를 코드 수정 없이 처리한다.
- UFO여러 기기에서 동작하는 에이전트를 DAG로 분해해 비동기로 조율하는 파이썬 기반 멀티디바이스 오케스트레이션 프레임워크다.