
SOFTMOA TECHNOLOGY
LangGraph로 멀티에이전트 시스템 구축하기
소프트모아가 정리한 기술 기록입니다.
Contents
작성일 2026. 02. 11.
개요
LangGraph는 LangChain 팀이 개발한 상태 기반 멀티에이전트 오케스트레이션 프레임워크입니다. 기존 LangChain의 선형적 체인 구조를 넘어 복잡한 그래프 형태의 워크플로우를 정의할 수 있습니다. 이 가이드에서는 LangGraph의 핵심 개념부터 실전 멀티에이전트 시스템 구축까지 단계별로 살펴봅니다.
LangGraph 핵심 개념
LangGraph는 다음 요소로 구성됩니다:
- State: 에이전트 간 공유되는 데이터 (TypedDict로 정의)
- Node: 작업을 수행하는 함수 (에이전트 실행, 도구 호출 등)
- Edge: 노드 간 전환 조건 (조건부 또는 무조건)
- Graph: 노드와 엣지로 구성된 실행 흐름
- Checkpointer: 상태 저장 및 복원 (중단/재개 가능)
환경 설정
pip install langgraph langchain-openai langchain-community
기본 그래프 구성
간단한 연구-작성-리뷰 워크플로우를 구현해보겠습니다.
from typing import TypedDict, Annotated
from langgraph.graph import StateGraph, END
from langchain_openai import ChatOpenAI
import operator
class AgentState(TypedDict):
topic: str
research: str
draft: str
final: str
llm = ChatOpenAI(model="gpt-4o")
def research_node(state: AgentState) -> AgentState:
topic = state["topic"]
research = llm.invoke(f"다음 주제를 조사하세요: {topic}").content
return {"research": research}
workflow = StateGraph(AgentState)
workflow.add_node("research", research_node)
app = workflow.compile()
실전 활용 팁
- 상태 설계: 필요한 최소 정보만 상태에 포함 (메모리 효율)
- 순환 감지: 무한 루프 방지를 위해 max_iterations 설정
- 에러 핸들링: 각 노드에서 try-catch로 에러를 상태에 기록
- 병렬 실행: 독립적인 노드는 병렬로 실행 가능
- 스트리밍: .stream() 메서드로 중간 상태를 실시간 확인
마무리
LangGraph는 복잡한 멀티에이전트 시스템을 구조적으로 설계할 수 있는 강력한 도구입니다. 상태 기반 그래프 모델을 통해 에이전트 간 협업, 조건부 분기, 중단/재개 등을 자연스럽게 구현할 수 있습니다. 처음에는 작은 그래프로 시작하고, 점차 노드를 추가하며 복잡한 워크플로우로 확장하는 것이 학습 곡선을 줄이는 방법입니다.
Share this
AI
Showing 1 to 10 of 73 entries
