이 문서는 GenAI 개념 섹션의 일부입니다.역할 기반 멀티에이전트(CrewAI), 핸드오프 패턴(OpenAI Agents SDK), 대화 기반 협업(AutoGen) 세 가지 프레임워크를 비교합니다. 각각의 설계 철학, 코드 예시, 장단점을 다룹니다.
CrewAI — 역할 기반 멀티에이전트
CrewAI는 “사람 팀처럼 동작하는 AI 에이전트 팀”이라는 직관적인 메타포를 기반으로 설계된 프레임워크입니다. 비개발자도 이해할 수 있는 선언적 API가 특징입니다.설계 철학: 팀 메타포
성공 비유: 회사 프로젝트를 수행할 때 팀장이 각 팀원에게 역할(리서처, 분석가, 작성자)을 부여하고 업무를 배분하듯이, CrewAI는 Agent에게 역할(role)을 부여하고 Task를 할당합니다.
코드 예제: 리서치 + 보고서 작성 팀
Process 타입
CrewAI의 장점과 한계
장점:- 직관적: 역할/팀 메타포가 명확하여 비개발자도 구조를 이해 가능
- 빠른 프로토타이핑: 10분 내에 멀티에이전트 시스템 구축 가능
- 선언적 API: 코드보다는 “설정”에 가까운 구성 방식
- 세밀한 제어 어려움: 에이전트 간 통신의 세부 흐름을 커스텀하기 어려움
- 조건 분기 제한: LangGraph 대비 복잡한 분기/루프 표현 능력 부족
- 프로덕션 미성숙: 에러 처리, 모니터링, 거버넌스 기능이 약함
- 비결정적 동작: Agent의 “대화”가 매번 다르게 전개될 수 있음
OpenAI Agents SDK — Handoff 패턴의 정석
2025년 1월 출시된 OpenAI Agents SDK는 OpenAI가 직접 제공하는 공식 Agent 프레임워크입니다. Handoff(대화 인계), Guardrail(안전장치), Tracing(추적) 을 핵심 기능으로 내세웁니다.핵심 개념
Handoff 패턴
Handoff는 OpenAI Agents SDK의 가장 독특한 기능입니다. Agent A가 자신의 전문 영역이 아닌 질문을 받으면, 대화 히스토리 전체를 포함하여 Agent B에게 인계합니다.참고 Handoff vs Tool Call: Tool Call은 “특정 함수를 호출하고 결과를 받아오는 것”이고, Handoff는 “대화의 주도권 자체를 다른 Agent에게 넘기는 것”입니다. 콜센터에서 “잠시만요, 기술팀으로 연결해드리겠습니다”라고 하는 것이 Handoff입니다.
코드 예제: 고객 서비스 Agent (Handoff 포함)
Guardrail (입력/출력 검증)
OpenAI Agents SDK의 장점과 한계
장점:- 간결한 API: 최소한의 코드로 Agent 구축 가능
- Handoff 패턴 내장: 멀티에이전트 라우팅이 매우 깔끔
- Guardrail 내장: 별도 라이브러리 없이 입출력 검증
- 자동 Tracing: OpenAI 대시보드에서 실행 과정 시각화
- 프로덕션 지향: OpenAI 인프라와 긴밀하게 통합
- OpenAI 종속: 기본적으로 OpenAI 모델만 지원 (커스텀 확장 필요)
- 복잡한 그래프 표현 제한: LangGraph 수준의 복잡한 워크플로는 어려움
- 상태 관리 제한: LangGraph Checkpoint 같은 장기 상태 관리 기능 부족
- 자체 호스팅 어려움: OpenAI API 의존도가 높음
AutoGen (Microsoft) — 멀티에이전트 대화
AutoGen은 Microsoft Research에서 개발한 프레임워크로, Agent들이 자유롭게 “대화”하며 문제를 해결하는 패러다임을 제안합니다.설계 철학
성공 비유: 다른 프레임워크가 “조직도에 따른 업무 배분”이라면, AutoGen은 “회의실에서 자유 토론”에 가깝습니다. 참가자들이 돌아가며 발언하고, 서로의 의견에 반응하며, 합의에 도달합니다.
핵심 컴포넌트
코드 예제: 코드 생성 + 리뷰 Agent
AutoGen의 장점과 한계
장점:- 코드 실행 내장: Agent가 직접 Python/Shell 코드를 실행하고 결과 확인 가능
- 자유도 높은 대화: 정해진 워크플로 없이 Agent들이 자율적으로 협업
- 연구/실험에 최적: 다양한 에이전트 구성을 빠르게 실험 가능
- GroupChat: 3개 이상의 Agent가 동시에 참여하는 토론 가능
- 비결정적 흐름: 매번 다른 대화 흐름이 전개될 수 있어 프로덕션에서 예측 가능성 낮음
- 프로덕션 배포 복잡: 모니터링, 에러 처리, 스케일링이 쉽지 않음
- 대화 비용: 불필요한 왕복 대화로 토큰 비용 증가 가능
- 종료 조건 설정 어려움: “언제 대화를 끝낼 것인가”의 판단이 까다로움
주의 AutoGen v0.4 주의사항: AutoGen은 v0.2에서 v0.4로 대규모 리팩토링을 거쳤습니다. 이전 버전의 블로그/튜토리얼 코드는 v0.4에서 동작하지 않을 수 있습니다. 반드시 최신 공식 문서를 참고하세요.
README로 돌아가기 | 다음: Databricks Agent Framework