AI Trends11 min

LangGraph vs CrewAI vs AutoGen — 세 개 다 써봤다

LangGraph, CrewAI, AutoGen 세 프레임워크를 직접 테스트했다. 그래프 기반 워크플로우부터 멀티에이전트 역할 분담, LLM 연동, 디버깅 난이도까지 — 2026년 실무 기준으로 어떤 상황에서 무엇을 써야 하는지 정리했다.

2026년 4월 · AI 소식

AI 에이전트를 만들 때 가장 먼저 막히는 게 프레임워크 선택이다. LangGraph, CrewAI, AutoGen — 구조가 전부 다르다. 어떤 걸 언제 써야 하는지 직접 비교했다.

2025년 말에 큰 변화가 있었다. Microsoft가 AutoGen을 maintenance mode로 전환하고 Semantic Kernel과 합쳐 Microsoft Agent Framework로 전환했다. 커뮤니티는 이를 AG2로 포크해서 이어가고 있다.

세 프레임워크는 같은 "AI 에이전트"를 목표로 하지만 접근 방식이 다르다. 상황에 따라 선택이 달라진다. 결론부터 말하면 — 복잡한 워크플로우에는 LangGraph, 빠른 실험에는 CrewAI, 기존 AutoGen 코드베이스에는 AG2다.

빠르게 보기

— LangGraph: 그래프 기반 워크플로우. 복잡한 상태 관리에 강하다
— CrewAI: 역할 기반 팀 구성. 빠른 프로토타입에 적합하다
— AutoGen → AG2: Microsoft가 2025년 종료. 커뮤니티 포크 AG2가 계속된다
— 선택 기준: 복잡도 높으면 LangGraph, 빠른 실험이면 CrewAI, 토론형이면 AG2
— 셋 다 오픈소스. 기본 라이선스 비용은 없다

프레임워크 선택이 어려운 이유

AI 에이전트 생태계는 2024~2025년 사이 폭발적으로 커졌다. 선택지가 많아졌고, 각 프레임워크가 내세우는 장점도 제각각이다. 어떤 건 "더 쉽다"고 하고, 어떤 건 "더 유연하다"고 한다.

문제는 전부 틀린 말이 아니라는 거다. 각자 다른 문제를 해결하려고 만들어졌다. LangGraph는 복잡한 제어 흐름 문제를, CrewAI는 빠른 팀 에이전트 구성 문제를, AutoGen은 에이전트 간 토론·검증 문제를 겨냥했다.

게다가 AutoGen이 사라지면서 비교 자체가 더 복잡해졌다. "AutoGen을 써야 하나, AG2로 가야 하나, 아니면 처음부터 다른 걸 써야 하나" — 이 질문이 2026년 지금도 자주 나온다. 하나씩 정리한다.

LangGraph — 흐름을 그래프로 그린다

LangGraph는 에이전트 실행 흐름을 DAG(방향 비순환 그래프)로 표현한다. DAG는 전기 회로도처럼 노드와 엣지로 흐름을 직접 설계하는 구조다. 각 노드는 LLM 호출, 툴 실행, 조건 판단 같은 작업 단위가 된다.

조건 분기, 루프, 체크포인트, 상태 지속성을 모두 지원한다. "A 결과가 X면 B로 가고, Y면 C로 간다" 같은 복잡한 제어 흐름이 코드에 명확하게 드러난다. 이 점에서 다른 두 프레임워크보다 확실히 강하다.

단점은 초기 설계 비용이다. 그래프 구조를 직접 설계해야 한다. 단순한 작업에는 과도한 설계가 된다. 빠르게 프로토타입을 만들어야 하는 상황에는 CrewAI가 낫다.

LangGraph 핵심 개념 4가지

State — 에이전트 실행 중 공유되는 데이터. 배달 앱의 주문 상태처럼, 각 노드에서 읽고 쓴다.
Node — State를 받아 처리하고 다시 State를 반환하는 함수 단위.
Edge — 노드 간 실행 흐름. 조건부 엣지로 분기 처리가 가능하다.
Checkpoint — 실행 중간 상태를 저장한다. 오류 발생 시 해당 지점부터 재실행된다.

LangGraph의 핵심: 상태와 체크포인트

LangGraph에서 가장 중요한 개념은 State다. 에이전트 실행 전체에서 공유되는 데이터 저장소다. 쇼핑몰 장바구니처럼 — 어느 페이지로 이동해도 담아둔 항목이 그대로 남아있다.

Checkpoint는 실행 중간 상태를 디스크에 저장한다. 오류가 발생하거나 프로세스가 중단되면 마지막 체크포인트부터 다시 시작한다. 장시간 실행되는 에이전트나, 사람이 중간에 개입해야 하는 워크플로우에서 이 기능이 핵심이 된다.

Human-in-the-loop도 지원한다. 에이전트가 중요한 결정을 내리기 전에 멈추고, 사람의 승인을 기다리는 흐름을 코드로 구현할 수 있다. 자동화하되 완전 자율화는 피하고 싶은 상황에 맞다.

CrewAI — 팀처럼 굴리는 에이전트

CrewAI는 에이전트에게 역할(Role)과 목표(Goal)를 부여하는 방식이다. 리서처, 라이터, 검수자처럼 역할을 정의하고 태스크를 배분하면 에이전트 팀이 구성된다. 실제 팀 회의처럼 에이전트들이 협력한다.

가장 큰 장점은 시작이 빠르다는 것이다. Python 코드 30줄이면 멀티에이전트 파이프라인이 돌아간다. 역할과 목표만 자연어로 정의하면 된다. 그래프 설계나 상태 관리 없이도 에이전트 팀이 작동한다.

다만 세밀한 제어 흐름은 LangGraph보다 제한적이다. "A 조건이 맞으면 B 에이전트를 건너뛰고 C로 간다" 같은 복잡한 분기는 CrewAI로 표현하기 까다롭다. 프로토타입에서 프로덕션으로 넘어갈 때 한계에 부딪히는 경우가 있다.

AutoGen은 끝났다 — AG2로 봐야 한다

AutoGen은 대화형 멀티에이전트 프레임워크로 시작했다. 에이전트끼리 대화하고 토론하면서 코드를 작성하고 검증하는 방식이다. "에이전트 A가 코드를 짜면, 에이전트 B가 리뷰하고, C가 실행해서 결과를 검증한다" — 이런 구조다.

2025년 말, Microsoft가 AutoGen 개발을 종료했다. Semantic Kernel과 통합해 Microsoft Agent Framework라는 새 프레임워크로 전환했다. Microsoft 생태계에 깊이 통합된 엔터프라이즈 솔루션으로 방향을 잡은 것이다.

기존 사용자들은 AG2라는 이름으로 포크해서 이어가고 있다. AG2는 AutoGen의 API 호환성을 유지하면서 독립적으로 개발을 계속하고 있다. 기존 AutoGen 코드는 최소한의 수정으로 AG2에서 돌릴 수 있다.

AutoGen → AG2 마이그레이션

AG2는 AutoGen의 커뮤니티 포크다. 패키지 교체만으로 대부분의 코드가 그대로 작동한다.

기존 설치: pip install pyautogen
AG2 설치: pip install ag2

import 구문은 동일하게 유지된다. AG2도 import autogen 패키지명을 그대로 쓴다.

세 프레임워크 한눈에 비교

구조와 강점이 전부 다르다. 아래 표로 포지션을 먼저 파악하면 선택이 빠르다.

항목 LangGraph CrewAI AG2 (AutoGen)
구조그래프/DAG역할 기반 팀대화형 에이전트
학습 곡선가파름완만중간
상태 관리강함제한적중간
조건 분기강함제한적중간
체크포인트지원미지원부분 지원
에이전트 간 통신State 공유태스크 위임직접 대화
Human-in-the-loop지원제한적지원
유지보수LangChain 팀CrewAI Inc커뮤니티
추천 상황복잡한 워크플로우빠른 팀 에이전트토론·검증형

가격과 라이선스

세 프레임워크 모두 오픈소스다. 기본 사용에는 라이선스 비용이 없다. 직접 인프라에 배포하면 LLM API 비용만 든다.

항목 LangGraph CrewAI AG2
라이선스MITMITApache 2.0
기본 사용무료무료무료
관리형 서비스LangSmith (무료 티어 있음)CrewAI Enterprise (문의)없음 (셀프호스트)
유지보수 주체LangChain (회사)CrewAI Inc (회사)커뮤니티

AG2는 커뮤니티 유지 프로젝트라 장기 지원이 불확실하다. 프로덕션에서 장기 운영을 계획한다면 이 점을 감안해야 한다. 빠른 실험과 연구 목적이라면 문제없다.

상황별 선택 가이드

복잡한 워크플로우, 조건 분기, 상태 저장이 필요하면 LangGraph다. 빠르게 에이전트 팀을 구성하고 실험하고 싶으면 CrewAI가 맞다. AutoGen 코드베이스를 이미 갖고 있다면 AG2로 마이그레이션한다.

상황 추천 이유
복잡한 조건 분기 워크플로우LangGraph그래프로 제어 흐름을 명시적으로 표현
빠른 팀 에이전트 프로토타입CrewAI역할·목표만 정의하면 바로 실행
에이전트 간 코드 리뷰·검증AG2대화형 토론 구조에 특화
장기 실행·중단 후 재시작LangGraphCheckpoint로 중단 후 재개 지원
기존 AutoGen 코드베이스AG2API 호환성 유지로 마이그레이션 최소화
비개발자·초보자 진입CrewAI자연어 역할 정의, 가장 낮은 진입 장벽
사람 개입이 필요한 흐름LangGraphHuman-in-the-loop 공식 지원

실전에서 쓰는 조합 패턴

셋을 섞어 쓰는 것도 방법이다. 가장 흔한 패턴은 CrewAI로 팀 구조를 빠르게 잡고, 복잡한 핵심 노드만 LangGraph로 교체하는 방식이다. 각 프레임워크의 코드 구조는 아래와 같다.

# LangGraph: 상태 기반 워크플로우 예시
from langgraph.graph import StateGraph, END

def research_node(state):
    # State를 받아 처리 후 반환
    return {"research": result}

def should_continue(state):
    # 조건에 따라 다음 노드 결정
    if state["quality"] > 0.8:
        return "write"
    return "research"  # 품질 부족하면 재시도

# CrewAI: 역할 기반 팀 구성 예시
from crewai import Agent, Task, Crew

researcher = Agent(role="Researcher", goal="주제 리서치")
writer = Agent(role="Writer", goal="글 작성")
crew = Crew(agents=[researcher, writer], tasks=[...])
result = crew.kickoff()  # 30줄이면 팀이 돌아간다

# AG2: 대화형 토론 예시
import autogen  # AG2에서도 같은 import

coder = autogen.AssistantAgent("coder")
reviewer = autogen.AssistantAgent("reviewer")
coder.initiate_chat(reviewer, message="이 코드 리뷰해줘")

LangGraph는 흐름 제어가 명확하다. CrewAI는 코드가 짧다. AG2는 에이전트 간 대화가 자연스럽다. 프로토타입은 CrewAI로 빠르게 만들고, 프로덕션에서 제어가 필요한 부분만 LangGraph로 교체하는 패턴이 가장 많이 쓰인다.

어떤 걸 선택해야 하나

복잡한 워크플로우와 상태 관리가 필요하면 LangGraph다. 빠르게 에이전트 팀을 실험하고 싶으면 CrewAI가 맞다. 기존 AutoGen 코드가 있으면 AG2로 이관한다.

세 프레임워크 모두 오픈소스고 무료다. 하나만 고를 필요도 없다. 시작은 CrewAI로 하고, 한계에 부딪히면 LangGraph로 넘어가는 게 가장 현실적인 경로다.

Q. AutoGen을 지금 써도 되나?

새 프로젝트라면 AG2를 쓰는 게 맞다. Microsoft는 2025년 AutoGen을 Semantic Kernel과 합쳐 Microsoft Agent Framework로 전환했다. 커뮤니티 포크인 AG2가 기존 생태계를 이어받았다.

Q. LangGraph와 LangChain은 다른 건가?

같은 회사 제품이지만 다르다. LangChain은 LLM 호출 체인 라이브러리고, LangGraph는 그 위에서 상태를 가진 에이전트 그래프를 구성하는 프레임워크다.

Q. 셋 중 가장 빠르게 시작할 수 있는 건?

CrewAI다. 역할(role)과 목표(goal)만 정의하면 팀이 구성된다. LangGraph는 그래프 구조를 직접 설계해야 해서 초기 진입 비용이 높다.

Q. 복잡한 워크플로우에는 어떤 걸 써야 하나?

LangGraph가 맞다. 조건 분기, 루프, 체크포인트, 상태 지속성 — 복잡한 제어 흐름은 그래프 구조에서 가장 명확하게 표현된다.

Q. 세 프레임워크를 섞어 쓸 수 있나?

가능하다. CrewAI로 빠르게 팀 에이전트를 구성하고, 핵심 워크플로우 노드는 LangGraph로 교체하는 식이다. 단, 통합 비용이 추가된다.

귀찮은개발자 — 모든 걸 자동화합니다

반복 작업이 싫어서 자동화한 이야기를 기록한다

EP.01부터 읽기 →

GoCodeLab 블로그

AI 소식과 개발 자동화 이야기를 매주 올린다

이 글의 정보는 2026년 4월 10일 기준이다. 각 프레임워크 업데이트에 따라 변동될 수 있다.