LangChain vs LangGraph vs Semantic Kernel vs Google AI ADK vs CrewAI
Source: Dev.to

과대광고 없이 올바른 LLM 프레임워크 선택하기
LLM 생태계는 빠르게 움직이고 있습니다. 몇 주마다 새로운 프레임워크가 “AI 에이전트를 단순화한다”, “추론을 오케스트레이션한다”, 혹은 “프로덕션‑레디 AI를 쉽게 만든다”는 약속을 합니다.
실제 시스템을 구축하고 있다면, 아마도 다음과 같은 질문을 해봤을 것입니다:
왜 같은 듯한 일을 위해 이렇게 많은 프레임워크가 필요할까?
아래는 잡음을 가르고 핵심을 짚어주는 사고 모델로, 다음을 정리합니다:
- 각 프레임워크가 실제로 해결하는 문제
- 강점이 돋보이는 영역
- 약점이 되는 부분
- 다양한 사용 사례에 맞는 선택 기준
전체 그림: 우리가 해결하려는 문제는 무엇인가?
LLM은 구성 요소이며, 전체 애플리케이션이 아닙니다. 실제 LLM 시스템에는 다음이 필요합니다:
- 프롬프트 오케스트레이션
- 툴 호출
- 메모리
- 검색 (RAG)
- 제어 흐름
- 가시성
- 실패 처리
LangChain: 스위스 군용 나이프 (그리고 그 저주)
무엇인가
LLM 기반 애플리케이션을 빠르게 구축하기 위한 고수준 추상화 레이어.
잘하는 점
- 빠른 프로토타이핑
- 방대한 통합 생태계
- 프롬프트, 도구, 검색기의 손쉬운 체이닝
- 강력한 커뮤니티 모멘텀
어려운 점
- 숨겨진 제어 흐름
- 대규모 디버깅의 어려움
- 복잡한 로직에서 누수되는 추상화
- 성능 튜닝의 어려움
LangChain을 사용할 때
- MVP, 해커톤, POC
- LLM에 익숙하지 않은 팀
피해야 할 경우
- 복잡하고 상태를 유지하는 워크플로
- 정밀한 제어나 가시성이 필요한 시스템
LangChain은 실행의 명확성보다 개발 속도를 최적화합니다.
LangGraph: LLM이 상태 머신이라는 것을 깨달을 때
무엇인가
LangChain이 “LLM 워크플로는 선형적이지 않다”는 비판에 대한 답변입니다. AI 시스템을 체인이 아니라 그래프로 모델링합니다.
잘하는 점
- 명시적인 상태 전이
- 사이클, 재시도, 분기
- 장기 실행 에이전트
- 향상된 추론 가시성
트레이드오프
- 더 복잡한 사고 모델
- 여전히 LangChain 생태계에 묶여 있음
- 학습 곡선이 가파름
LangGraph가 빛을 발하는 경우
- 다단계 에이전트
- 툴 중심 워크플로우
- 재시도와 루프가 있는 시스템
- 인간이 개입하는 시나리오
LangChain이 ‘마법처럼’ 느껴지기 시작할 때 LangGraph를 사용하세요.
Semantic Kernel: Engineering‑first, AI‑second
무엇인가
Microsoft가 만든 LLM 오케스트레이션 도구로, 소프트웨어 엔지니어를 위해 설계되었습니다. 프롬프트 해커를 위한 것이 아닙니다.
주요 강점
- 강력한 타입 지정
- 명시적인 플래너
- C# 및 Python에 대한 네이티브 지원
- 엔터프라이즈 친화적인 아키텍처
약점
- 작은 생태계
- “플러그‑앤‑플레이”가 덜함
- 실험을 위한 반복 속도가 느림
최적 활용 사례
- 강력한 엔지니어링 규율을 갖춘 엔터프라이즈 팀
- 속도보다 유지보수가 중요한 시스템
Semantic Kernel은 새벽 3시에 시스템을 유지보수하는 사람들을 위해 설계된 듯합니다.
Google AI ADK: Opinionated and Cloud‑native
What it is
Google의 Agent Development Kit은 structured agent workflows에 중점을 두며 Google Cloud와 Gemini와 긴밀히 통합됩니다.
Strengths
- 명확한 에이전트 라이프사이클
- 강력한 observability hooks
- cloud‑native 디자인
- production‑aligned 추상화
Limitations
- Google 생태계 외에서는 유연성이 떨어짐
- (현재) 작은 open‑source 커뮤니티
- 보다 opinionated한 아키텍처
Best fit
- 이미 GCP를 사용 중인 팀
- production‑first AI 시스템
- 규제가 있거나 대규모 환경
ADK는 처음부터 배포와 모니터링을 중요하게 여긴다는 전제를 가지고 있습니다.
CrewAI: “멀티‑에이전트” 내러티브
무엇인가
CrewAI는 역할이 있는 다수의 에이전트를 조정하여 인간 팀을 모방하는 데 초점을 맞춥니다.
장점
- 역할 기반 에이전트 설계
- 쉬운 사고 모델
- 콘텐츠 생성 파이프라인
한계
- 제한된 제어
- 복잡한 상태 처리에 덜 적합
- 깊이 설계된 시스템에는 부적합
다음 경우에 CrewAI 사용
- 협업 에이전트 데모 구축
- 콘텐츠 또는 연구 워크플로
- 에이전트 행동 실험
CrewAI는 스토리텔링에 뛰어나며, 시스템 엔지니어링에는 적합하지 않습니다.
실용적인 의사결정 프레임워크
“Which framework is best?” 라고 묻는 대신, 다음과 같이 물어보세요:
-
속도와 제어 중 무엇이 필요합니까?
- Speed → LangChain
- Control → Semantic Kernel / LangGraph
-
이것이 프로덕션에 필수적인가요?
- Yes → Semantic Kernel / Google AI ADK
- No → LangChain / CrewAI
-
워크플로우가 상태를 유지하고 복잡합니까?
- Yes → LangGraph
- No → LangChain
-
엔터프라이즈인가 스타트업인가?
- Enterprise → Semantic Kernel / ADK
- Startup → LangChain
불편한 진실
대부분의 성숙한 AI 팀은 결국:
- LangChain으로 시작한다
- 그것을 넘어선다
- 맞춤형 오케스트레이션 또는 그래프‑기반 시스템으로 이동한다
프레임워크는 학습을 가속화해야 하며, 여러분을 고정시켜서는 안 된다.
최종 생각
LLM 프레임워크는 우리가 아직 AI 시스템을 어떻게 설계해야 하는지 완전히 이해하지 못하고 있기 때문에 진화하고 있습니다. 다음과 같은 도구를 선택하세요:
- 실패를 가시화하기
- 명시적 설계를 장려하기
- 복잡성을 영원히 숨기지 않기
복잡성은 결국 항상 드러납니다.