LangGraph는 LangChain의 확장 기능으로, 그래프(Graph) 구조를 활용하여 복잡한 AI 애플리케이션을 설계하는 프레임워크입니다. 기존 LangChain은 직선적인(순차적) 체인 방식으로 AI 에이전트를 구성하는 반면, LangGraph는 멀티에이전트 협업, 비선형 흐름, 동적 의사 결정을 가능하게 합니다.
LangGraph란?
LangGraph는 노드(Node)와 엣지(Edge)를 이용한 그래프 기반 워크플로우를 통해 대화형 AI 및 멀티에이전트 시스템을 구축할 수 있도록 지원하는 LangChain의 확장 도구입니다. 이를 통해 기존 LangChain보다 훨씬 더 복잡하고 유연한 AI 애플리케이션을 개발할 수 있습니다.
LangGraph의 핵심 개념
- 노드(Node): LLM 호출, API 요청, 데이터 변환 등의 개별 작업 단위
- 엣지(Edge): 노드 간의 관계 및 흐름을 정의하는 연결선
- 멀티 에이전트(Multi-Agent): 여러 AI 모델이 협력하여 문제를 해결하도록 구성
- 비결정적 흐름(Non-Deterministic Flow): AI의 응답과 상황에 따라 다양한 경로를 탐색 가능
LangGraph의 주요 기능
1. 그래프 기반 워크플로우
일반적인 LangChain은 순차적(Chained) 혹은 트리구조로 AI 시스템을 구성하는 반면, LangGraph는 네트워크(그래프) 구조를 활용합니다.
즉, 단순히 "A → B → C" 방식으로 진행하는 것이 아니라 조건에 따라 다른 노드로 이동할 수 있습니다.
예제:
- "고객이 '환불'을 언급하면 → 환불 정책 노드로 이동"
- "고객이 '가격'을 물으면 → 가격 안내 노드로 이동"
이렇게 하면 더욱 유연한 AI 대화 흐름을 설계할 수 있습니다.
2. 멀티 에이전트(Multi-Agent) 시스템 구축
LangGraph를 사용하면 여러 개의 AI 모델(LLM)을 협업시키는 시스템을 만들 수 있습니다.
즉, 서로 다른 역할을 하는 AI가 서로 협력하여 문제를 해결하는 방식입니다.
예제:
- 에이전트1: 법률 상담 AI (법적 조언 제공)
- 에이전트2: 고객 지원 AI (기본적인 정보 제공)
- 에이전트3: 감성 분석 AI (고객의 감정 파악 후 적절한 대응)
이렇게 하면 AI가 한 가지 역할만 수행하는 것이 아니라, 다양한 역할을 가진 AI들이 협력하여 더 똑똑한 시스템을 구성할 수 있습니다.
3. 비결정적(Non-Deterministic) & 동적 워크플로우
일반적인 AI 모델은 고정된 순서대로 진행되지만 LangGraph를 사용하면 AI의 응답과 사용자의 입력에 따라 다양한 경로로 흐름을 변경할 수 있습니다.
예제:
- AI 고객 상담 시스템에서 고객이 "불만"을 제기하면, 감성 분석 AI가 이를 파악하고 적절한 대응을 하도록 유도할 수 있음
- 데이터 분석 자동화 시스템에서 특정 조건을 충족하는 경우, 다른 데이터 처리 경로를 선택하도록 설정 가능
이러한 비결정적 프로세스는 더욱 현실적인 AI 응용 프로그램을 만드는 데 필수적입니다.
LangGraph의 활용 사례
1. 대화형 AI (Conversational AI)
- 예제: 고객지원 챗봇, AI 비서
- 사용자가 입력한 내용을 분석하고, 상황에 맞는 최적의 응답을 제공
2. 복잡한 의사 결정 시스템
- 예제: 법률 자문, 의료 상담, 기술 지원
- AI가 여러 단계를 거쳐 최적의 결론을 도출하도록 구성 가능
3. AI 자동화 및 워크플로우 관리
- 예제: 마케팅 자동화, 데이터 분석, 연구 보고서 작성
- 여러 AI가 역할을 나누어 협력하면서 특정 조건에 따라 경로를 달리하는 시스템 구축 가능
LangGraph vs LangChain 차이점
기능 | LangChain | LangGraph |
워크플로우 구조 | 선형(체인 기반) | 그래프(네트워크 기반) |
에이전트 수 | 단일 또는 제한된 멀티 에이전트 | 다중 에이전트 지원 |
의사 결정 | 고정된 흐름 | 동적인 비결정적 흐름 |
확장성 | 제한적 | 유연한 확장 가능 |
LangGraph 예제 코드
예제 1: 기본적인 LangGraph 그래프 생성
from langgraph.graph import StateGraph
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
# OpenAI 모델 정의
model = ChatOpenAI(model="gpt-4")
# 그래프 정의
workflow = StateGraph()
# 노드 추가
workflow.add_node("start", model)
# 노드 간 연결 정의
workflow.add_edge("start", "end")
# 그래프 실행
workflow.run("사용자 입력 예제")
LangGraph를 언제 사용할까?
- LangChain이 너무 단순한 경우
- 복잡한 대화 흐름을 설계해야 하는 경우
- 멀티 에이전트가 협업해야 하는 경우
- AI가 상황에 따라 동적인 결정을 내려야 하는 경우
LangGraph는 LangChain을 뛰어넘어 더 강력하고 유연한 AI 애플리케이션을 개발할 수 있도록 지원하는 도구입니다.
'AI' 카테고리의 다른 글
기계학습(Machine Learning, ML) (0) | 2025.03.14 |
---|---|
생성형 AI(Generative AI)란 (0) | 2025.03.05 |
Document AI (1) | 2024.12.03 |
랭체인(LangChain) (0) | 2024.11.25 |
LLM의 할루시네이션이란? (0) | 2024.11.18 |