본문으로 바로가기
리옵트 핸드북
리옵트 핸드북
AI 에이전트 오케스트레이션 패턴

개념·설계

오케스트레이션 개념과 지형도핵심 아키텍처 패턴에이전트 설계 원칙

도구·프로토콜

도구(Tool) 설계 패턴MCP와 에이전트 간 프로토콜

조율·상태

통신과 핸드오프상태 관리와 메모리 시스템라우팅과 디스패치

안정성·운영

에러 처리와 복구 전략평가와 테스트프로덕션 운영 패턴

실전

실전 아키텍처 사례프레임워크 비교와 선택

부록

검증 리포트업데이트 내역
핸드북›AI 에이전트 오케스트레이션 패턴›프레임워크 비교와 선택

프레임워크 비교와 선택

LangGraph, CrewAI, AutoGen, OpenAI Agents SDK, Vercel AI SDK, Mastra 비교

핵심 요약

  • 프레임워크 선택의 핵심은 기능 수가 아니라 팀이 감당할 수 있는 추상화 수준과 운영 방식의 적합성입니다(2026년 3월 27일 공식 문서 기준).
  • LangGraph(graph 제어), CrewAI v1.12.1(역할 기반+Flows), MS Agent Framework(A2A/AG-UI/MCP 네이티브), OpenAI Agents SDK 0.13.1(WebSocket), Vercel AI SDK(TS 앱 통합), Mastra(JS/TS 올인원)를 강점·한계·적합 팀으로 비교합니다.
  • 프레임워크마다 한계가 분명합니다. LangGraph는 노드 10개를 넘으면 분기가 폭증하고, OpenAI SDK는 비OpenAI 모델에 어댑터를 붙여야 하며, Google ADK는 MCP 호환과 배포 유연성이 떨어집니다.
  • 프레임워크를 바꿔도 agent 계약·tool schema·eval set·approval policy·observability 필드는 프레임워크 밖 자산으로 따로 두어야 이탈 비용이 낮아집니다.
  • 마이그레이션(LangChain→LangGraph, CrewAI→커스텀, OpenAI SDK→멀티모델)에서 가장 큰 비용은 코드가 아니라 프레임워크에 묻힌 설계 결정을 다시 꺼내는 일입니다.

프레임워크를 고를 때 따져야 할 것은 "기능이 가장 많은가"가 아니라 팀이 감당할 수 있는 추상화 수준과 운영 방식이 맞는가입니다. 아래 비교는 2026년 3월 27일 기준으로 각 공식 문서의 개념 모델을 바탕으로 정리했습니다.

비교 축

축질문
추상화 수준low-level graph인가, opinionated runtime인가
주 언어/런타임Python 중심인가, TypeScript 중심인가
강한 영역workflow, multi-agent, memory, eval, UI 연계 중 무엇이 강한가
운영 적합성tracing, guardrail, human-in-the-loop를 어떻게 다루는가

프레임워크 요약

프레임워크성격강점주의점잘 맞는 팀
LangGraphgraph 중심 orchestration세밀한 제어, 상태 그래프, 긴 workflow추상화가 낮아 설계 책임이 큼복잡한 workflow를 직접 설계할 팀
AutoGen / MS Agent Frameworkagent interaction + graph workflowAutoGen + Semantic Kernel 통합, A2A/AG-UI/MCP 지원구성 옵션이 많아 운영 설계가 필요Microsoft 생태계 중심 엔터프라이즈 팀
OpenAI Agents SDKagent, handoff, session 중심 SDKWebSocket 전송, 도구 검색 네임스페이스생태계가 SDK 중심으로 좁을 수 있음OpenAI 중심 스택을 빠르게 구축할 팀
CrewAI역할 기반 multi-agent + FlowsFlows 이벤트 드리븐 (12M+/일), Qdrant Edge 메모리role abstraction이 과해지면 통제 어려움business workflow를 빠르게 조립할 팀
Vercel AI SDKTypeScript 기반 app/agent integrationUI, tools, agent loop, 웹앱 연계 강함장기 workflow는 별도 조합이 필요TS/Next.js 기반 제품 팀
MastraJS/TS 올인원 agent frameworkworkflow, memory, eval을 한 스택에서 다룸프레임워크 의존성이 커질 수 있음JS/TS에서 통합 개발 경험을 원하는 팀

프레임워크 선택 의사결정 트리

선택 가이드

LangGraph

  • 적합: 상태 그래프, fan-out/fan-in, human checkpoint, long-running workflow를 세밀하게 제어해야 할 때
  • 주의: framework가 설계를 대신해주지 않으므로 상태와 eval 설계를 직접 해야 합니다.
  • 구체적 한계: state graph 노드가 10개를 넘으면 조건부 분기와 상태 전이 조합이 기하급수적으로 늘어나 디버깅과 테스트가 급격히 어려워집니다. 그래프를 sub-graph로 나누지 않으면 단일 그래프는 손댈 수 없는 수준이 됩니다.

CrewAI (v1.12.1)

CrewAI v1.12.1에서 Flows 패턴이 안정화되었습니다 (이벤트 드리븐, 12M+ 실행/일).

  • 적합: 역할 기반 협업을 business workflow로 빠르게 모델링할 때
  • Flows: 이벤트 드리븐 실행 패턴으로, crew 간 조건부 분기와 병렬 실행을 선언적으로 구성
  • 메모리: Qdrant Edge 기반 로컬 벡터 메모리 지원 — 클라우드 의존 없이 agent 메모리 구축
  • human-in-the-loop: 승인 게이트와 피드백 루프를 workflow 레벨에서 설정 가능
  • 주의: "에이전트 역할명"이 설계 사고를 대신하지 않게 해야 합니다.
  • 구체적 한계: role abstraction(Researcher, Writer 등)은 편리하지만, agent 내부의 세밀한 프롬프트 제어나 단계별 조건 분기가 필요하면 추상화가 오히려 발목을 잡습니다. "역할을 더 나누면 해결된다"는 착각에 빠져 agent 수만 늘어나는 패턴을 조심하세요.

AutoGen / Microsoft Agent Framework

Microsoft Agent Framework가 GA로 출시되면서 AutoGen과 Semantic Kernel이 통합되었습니다.

  • 적합: 그래프 기반 워크플로우와 엔터프라이즈 통합(Azure, M365)이 필요할 때
  • 강점: A2A, AG-UI, MCP 프로토콜을 모두 네이티브 지원하여 프로토콜 선택 유연성이 높음
  • 주의: 통합 범위가 넓은 만큼 초기 설정과 운영 설계에 시간이 필요합니다.
  • 구체적 한계: 러닝 커브가 높습니다. AutoGen, Semantic Kernel, Agent Framework 세 레이어의 개념 모델이 제각각이고, .NET을 먼저 지원하다 보니 Python 팀은 기능 지원 시차를 감수해야 합니다. 문서도 세 프로젝트에 흩어져 있어 진입점부터 찾기가 어렵습니다.

OpenAI Agents SDK (0.13.1)

OpenAI Agents SDK 0.13.1에서 WebSocket 전송과 도구 검색 네임스페이스가 추가되었습니다.

  • 적합: agent, handoff, session, guardrail 같은 기본 primitive를 통일된 방식으로 쓰고 싶을 때
  • WebSocket 전송: 양방향 실시간 통신으로 스트리밍과 푸시 알림을 단일 연결에서 처리
  • 도구 검색 네임스페이스: 대규모 tool set에서 agent가 관련 도구만 동적으로 로드하는 패턴
  • 주의: 특정 벤더 SDK를 중심으로 표준화되니 tool과 runtime 경계는 떼어서 보는 편이 좋습니다.
  • 구체적 한계: OpenAI 모델 외의 LLM(Claude, Gemini, 오픈소스 모델)을 쓰려면 어댑터를 직접 만들어야 하고, 일부 기능(tracing, guardrail)은 OpenAI 플랫폼에 묶여 있습니다. 멀티 모델 전략을 쓰는 팀에는 구조적 제약이 됩니다.

Vercel AI SDK

  • 적합: TypeScript 제품 팀이 agent를 앱과 함께 배포하고, tool loop와 UI 통합까지 빠르게 만들고 싶을 때
  • 주의: durable workflow, queue, approval 같은 장기 실행 문제는 별도 오케스트레이션 계층과 결합해야 합니다.

Mastra

  • 적합: JS/TS에서 workflow, memory, eval, agent를 한 체계로 가져가고 싶을 때
  • 주의: 통합 경험이 강한 만큼, 추상화를 프레임워크 바깥으로 빼낼 계획을 미리 세워야 합니다.

Google ADK (Agent Development Kit)

  • 적합: Gemini 모델 중심으로 agent를 빠르게 구축하고 Google Cloud 생태계와 연결해야 할 때
  • 구체적 한계: A2A 프로토콜 지원은 강하지만, MCP 같은 다른 agent 간 통신 프로토콜과는 호환이 제한적입니다. Google Cloud 밖 환경에 배포해 본 사례가 적고, 다른 LLM으로 갈아타기도 까다롭습니다.

상황별 추천

상황우선 검토
복잡한 상태 그래프와 checkpoint 중심LangGraph
역할 기반 business automation + FlowsCrewAI
MS 생태계 통합, 멀티프로토콜 필요MS Agent Framework (AutoGen + Semantic Kernel)
OpenAI 중심 agent runtime 표준화OpenAI Agents SDK
TypeScript 웹앱과 agent 통합Vercel AI SDK
JS/TS 통합 올인원 경험Mastra

도입 전 확인 질문

질문의미
상태 전이를 직접 설계할 팀인가낮은 추상화 프레임워크가 맞을 수 있음
agent 협업보다 제품 UI 통합이 중요한가app integration 강한 스택이 유리
eval, tracing, guardrail을 프레임워크 안에서 가져가고 싶은가운영 기능 내장 여부를 우선 확인
Python 생태계가 중심인가, TypeScript 생태계가 중심인가언어 불일치는 유지보수 비용으로 이어짐
장기 실행과 승인 재개가 핵심인가workflow/persistence 우선 검토

프레임워크를 바꿔도 남겨야 할 것

어떤 프레임워크를 고르든 다음 자산은 따로 떼어 관리하는 편이 좋습니다.

  • agent 계약 문서
  • tool schema
  • eval set
  • approval policy
  • observability 필드 체계

이 다섯 가지가 프레임워크 안에만 묶여 있으면 이탈 비용이 커집니다.

프레임워크 마이그레이션 가이드

프레임워크를 바꿔야 할 때 가장 큰 비용은 코드가 아니라 프레임워크에 묻혀버린 설계 결정을 다시 꺼내는 일입니다.

LangChain에서 LangGraph로

LangChain의 chain 추상화가 복잡한 분기/상태 관리에 한계를 보이면 LangGraph로 전환합니다.

  1. 계약 추출: 기존 chain에서 tool schema, prompt template, output parser를 프레임워크 독립 모듈로 분리합니다. langchain.tools에 묶인 함수들을 순수 Python 함수로 꺼냅니다.
  2. 그래프 재설계: chain의 순차 실행을 state graph 노드로 매핑합니다. 분기 로직은 conditional_edge로, 반복 로직은 cycle로 명시합니다. 그동안 SequentialChain이 숨겨 온 상태 전이가 이 단계에서 드러나니, 설계를 다시 점검합니다.

CrewAI에서 커스텀 오케스트레이션으로

CrewAI의 role 추상화가 세밀한 제어를 방해하면 직접 오케스트레이션을 구축합니다.

  1. 역할 해체: 각 Agent의 role, goal, backstory를 분석하여 실제로 필요한 것이 "역할"인지 "특정 tool + prompt 조합"인지 구분합니다. 대부분은 후자입니다.
  2. 흐름 재구성: Crew의 process (sequential/hierarchical)를 명시적 DAG나 state machine으로 변환합니다. Task 간 의존성을 코드로 선언하고, CrewAI의 암묵적 context 전달을 명시적 state 객체로 바꿉니다.

OpenAI Agents SDK에서 멀티모델 구조로

벤더 종속을 해소하고 여러 LLM을 활용해야 할 때의 전환입니다.

  1. 인터페이스 분리: Agent, Handoff, GuardrailFunction 등 SDK 타입에 직접 의존하는 코드를 추상 인터페이스 뒤로 숨깁니다. tool 정의는 SDK 포맷이 아닌 JSON Schema 기반으로 통일합니다.
  2. 런타임 교체: 추상 인터페이스 구현체를 LLM별로 만들어 설정으로 전환할 수 있게 합니다. tracing은 OpenTelemetry 같은 벤더 중립 계층으로 옮깁니다.

안티패턴

안티패턴문제개선
데모가 화려한 프레임워크를 바로 채택운영 모델과 맞지 않을 수 있음팀 역량과 use case 기준으로 평가
프레임워크가 곧 아키텍처라고 생각핵심 설계 책임이 가려짐패턴과 계약을 먼저 정의
한 프레임워크 기능에 지나치게 잠김이식성과 교체 비용 증가contracts/evals 분리
language fit을 무시조직 속도 저하기존 스택과 운영 환경 우선
추상화 레이어 과잉프레임워크 위에 자체 추상화를 쌓아 디버깅 불가프레임워크 API를 직접 사용하되, 계약만 분리
프레임워크 과의존 — "프레임워크가 알아서 해줄 것"error handling, retry, timeout을 프레임워크 기본값에 위임운영 정책을 명시적으로 선언하고 테스트
벤더 종속 무시특정 벤더 SDK에 tool/prompt/eval이 모두 묶임tool schema는 JSON Schema 기반으로 독립, eval set은 프레임워크 외부에 유지

ADR 스타일 결론

Decision

프레임워크는 오케스트레이션 설계를 대체하지 않습니다. 팀의 주 언어, 필요한 추상화 수준, 장기 실행과 observability 요구사항을 기준으로 고르고, agent 계약과 eval 세트는 프레임워크 바깥 자산으로 유지합니다.

관련 문서

  • LangGraph Overview
  • LangGraph Durable Execution
  • LangGraph Human-in-the-Loop
  • CrewAI Docs
  • CrewAI Flows
  • CrewAI Crews
  • Microsoft Agent Framework
  • AutoGen Docs
  • AutoGen Teams
  • OpenAI Agents SDK TypeScript
  • OpenAI Agent Orchestration
  • Vercel AI SDK Agents
  • Vercel AI SDK Subagents
  • Mastra
  • Mastra Agents
  • Mastra Workflows
  • Mastra Observability

관련 문서

마이그레이션 가이드

Vercel 엔터프라이즈 AI 플랫폼 · LangChain, LangGraph, 커스텀 오케스트레이션에서 Vercel AI 스택으로 전환할 때의 개념 매핑과 전환 전략을 정리합니다.

업데이트 내역

AI 에이전트 오케스트레이션 패턴 변경 로그

검증 리포트

AI 에이전트 오케스트레이션 패턴 핸드북 검증 결과

그래프 중심 오케스트레이션

Vercel 엔터프라이즈 AI 플랫폼 · LangGraph 스타일의 graph/state-machine 사고방식을 Vercel의 code-first orchestration으로 매핑하는 방법을 정리합니다.

레퍼런스

Vercel 엔터프라이즈 AI 플랫폼 · 이 핸드북의 근거가 된 공식 문서, 공식 블로그, 공개 X 신호를 계층별로 정리합니다.

실전 아키텍처 사례

고객 지원, 코드 생성, 리서치, 데이터 파이프라인 — 4가지 사례를 패턴 조합으로 분석

검증 리포트

AI 에이전트 오케스트레이션 패턴 핸드북 검증 결과

On this page

비교 축프레임워크 요약프레임워크 선택 의사결정 트리선택 가이드LangGraphCrewAI (v1.12.1)AutoGen / Microsoft Agent FrameworkOpenAI Agents SDK (0.13.1)Vercel AI SDKMastraGoogle ADK (Agent Development Kit)상황별 추천도입 전 확인 질문프레임워크를 바꿔도 남겨야 할 것프레임워크 마이그레이션 가이드LangChain에서 LangGraph로CrewAI에서 커스텀 오케스트레이션으로OpenAI Agents SDK에서 멀티모델 구조로안티패턴ADR 스타일 결론관련 문서