LangGraph와 LangChain의 차이점은 무엇인가요?
요약
LangChain은 높은 수준의 빌딩 블록과 즉시 사용 가능한 에이전트를 제공하는 반면, LangGraph는 상태를 유지하고 제어 가능한 워크플로우를 위한 낮은 수준의 오케스트레이션 런타임입니다. LangChain의 에이전트는 내부적으로 LangGraph 위에서 실행되므로, 먼저 LangChain을 학습한 후 복잡한 상태 관리가 필요한 시스템에 LangGraph를 적용하는 것이 권장됩니다.
핵심 포인트
- LangChain: 높은 수준의 컴포넌트와 즉시 사용 가능한 에이전트에 적합합니다.
- LangGraph: 상태 유지 및 제어가 필수적인 워크플로우 오케스트레이션에 사용됩니다.
- 실제 운영 환경에서는 LangGraph를 사용하여 체크포인팅(예: Postgres)을 구현해야 합니다.
- 학습 순서로는 LangChain으로 기본기를 다진 후, LangGraph로 복잡한 상태 관리를 학습하는 것이 효율적입니다.
간단히 말하자면, LangChain은 높은 수준의 빌딩 블록과 즉시 사용 가능한 에이전트를 제공합니다. 반면, LangGraph는 상태를 유지하고 제어 가능한 워크플로우를 위한 낮은 수준의 오케스트레이션 런타임입니다. LangChain의 에이전트는 내부적으로 LangGraph 위에서 실행됩니다.
코드에서 차이점을 살펴보겠습니다.
LangChain: 몇 줄로 구현하는 도구 사용 에이전트
from langchain.agents import create_agent
from langchain.tools import tool
...
모델이 어떤 도구를 호출할지, 그리고 언제 멈출지를 결정합니다. 어시스턴트나 간단한 도구 사용에 완벽합니다.
LangGraph: 모든 단계를 직접 제어합니다
이제 클레임(claims) 워크플로우를 살펴보겠습니다. 클레임을 분류하고, 라우팅하며, 대량의 데이터에 대해 인간 승인을 위해 일시 중지하는 과정입니다.
from typing import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.checkpoint.memory import InMemorySaver
...
운영 환경(production)에서는 InMemorySaver를 Postgres 체크포인터로 교체하여 워크플로우가 재시작에도 살아남도록 합니다.
비교
| LangChain | LangGraph | |
|---|---|---|
| 레벨 | 높은 수준의 컴포넌트 및 에이전트 | 낮은 수준의 오케스트레이션 런타임 |
| ... |
무엇을 먼저 학습해야 할까요?
먼저 LangChain입니다. 모델, 프롬프트, 구조화된 출력(structured output), 도구 등을 다룹니다. 그런 다음 LangGraph를 배우는 것이 좋습니다. 왜냐하면 구축하는 모든 진지한 에이전트 시스템은 상태(state)와 제어(control)가 필요하기 때문입니다.
이는 TechSimPlus와 Prateek Mishra가 진행하는 라이브 Gen-AI 개발자 코호트인 Vector 2.0의 정확한 순서입니다. 스프린트 1에서는 LangChain을 다루고, 스프린트 3에서는 ClaimSense를 사용한 LangGraph를 다루며, 스프린트 4에서는 MCP와 A2A를 이용한 멀티 에이전트 시스템을 추가합니다.
전체 콘텐츠 확인: vector.techsimplus.com
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기