AI | LangGraph

성수당·2025년 12월 23일

AI

목록 보기
4/7
post-thumbnail

🥔 LangGraph | LangChain의 Graph 기반 오케스트레이션

LLM을 활용한 서비스가 점점 복잡해지면서, 단순한 프롬프트 → 응답 구조만으로는 해결할 수 없는 흐름들이 등장했다.
예를 들어,

  • 멀티 에이전트 간 협업
  • 조건 분기/반복/루프
  • Tool의 결과에 따라 체인의 흐름을 조정

이런 구조를 명확하게 다루기 위해 등장한 것이 바로 LangGraph이다.


🥔 LangGraph란?

LangChain에서 제공하는 LLM 기반 워크플로우를 “그래프” 구조로 선언하고 실행할 수 있는 프레임워크

LangGraph는 상태 기반(Stateful) LLM 애플리케이션을 구축하기 위한 도구다. 복잡한 체이닝 로직이나 멀티 에이전트 협업을 다룰 때 탁월하다.


🥔 왜 LangGraph인가?

기존 LangChain은 체이닝 중심이었다면, LangGraph는 워크플로우 제어를 보다 명확하게 정의할 수 있다:

기능LangChainLangGraph
단순 체인OO
조건 분기△ (Custom Logic 필요)O (Node 전환으로 자연스럽게 가능)
반복 흐름XO (Loop 정의 가능)
멀티 에이전트 협업O
명시적 상태 추적XO

🥔 핵심 개념

요소설명
Graph상태 머신 기반으로 구성된 워크플로우
Node (노드)하나의 작업 단위 (프롬프트, LLM, Tool 실행 등)
Edge (엣지)노드 간의 연결, 조건 기반 분기도 가능
State현재까지의 대화 및 변수 정보를 포함한 상태
Agent / ToolLangChain과 동일하게 연동 가능

🥔 기본 예제: 두 단계 체인 구성

from langgraph.graph import StateGraph, END
from langchain_core.runnables import RunnableLambda

# 각 노드 정의
def step1(state):
    print("Step1 실행")
    return {"msg": "안녕하세요"}

def step2(state):
    print("Step2 실행")
    return {"msg": state["msg"] + ", 만나서 반가워요!"}

# 상태 머신 정의
builder = StateGraph()
builder.add_node("hello", RunnableLambda(step1))
builder.add_node("reply", RunnableLambda(step2))

builder.set_entry_point("hello")
builder.add_edge("hello", "reply")
builder.add_edge("reply", END)

graph = builder.compile()
output = graph.invoke({})
print(output)  # {"msg": "안녕하세요, 만나서 반가워요!"}

🥔 멀티 에이전트 기반 그래프 예시

LangGraph의 진가가 드러나는 예시는 Agent 간의 협업이다.

# 예: Research Agent ↔ Writer Agent가 번갈아 작업하는 루프 구성
# - research → writing → feedback → research ...

이런 복잡한 플로우는 Graph로 선언하면 자연스럽게 구성할 수 있다.


🥔 LangGraph의 장점

  • 상태 기반 로직 구성 → 매 호출마다 이전 상태 기반 추론 가능
  • 반복/조건 처리 용이 → IF, LOOP, STOP 조건 등을 자유롭게 설정
  • 멀티 에이전트 설계 → 에이전트 간 역할 분담 및 핑퐁 가능
  • 시각화 가능 → Mermaid 등으로 흐름 시각화 용이
  • LangChain과 통합 → 기존 툴, 프롬프트, 메모리 전부 호환

🥔 실전 활용 아이디어

사용 사례설명
프로젝트 매니저 봇기획자 ↔ 디자이너 ↔ 개발자 역할의 멀티 에이전트 순환
기술 문서 작성요약 → 보완 → 평가 → 보완 → 완료 등의 루프
복잡한 사용자 응답 처리조건 분기 및 실패시 대안 루트 제공
RAG + 후처리 파이프라인검색 → 필터링 → 요약 → 문장화 체인 연결

🥔 마무리

LangGraph는 복잡한 LLM 기반 로직을 직관적으로 설계하고, 안정적으로 실행할 수 있는 고급 도구다.
단순 체인 구조에서 벗어나, 진짜 “앱” 다운 동작을 만들고 싶다면 LangGraph는 가장 강력한 도구 중 하나가 될 것이다.

profile
말하는 감자🥔

0개의 댓글