main

| 컴포넌트 | 기존 정의 | 2026년 기준 실무 활용 현황 | 단일 활용도 (프레임워크 독립성) |
|---|---|---|---|
| 랭체인 라이브러리 (LangChain Libraries) | 파이썬/JS 라이브러리로 구성되며 컴포넌트 통합, 런타임 및 체인/에이전트 구현을 제공 | 유효함. LLM 호출을 위한 기본 추상화 레이어로 쓰이나, 복잡한 제어 로직은 LangGraph로 이관됨. | 존재함. 전체 프레임워크 도입 없이 문서 로더, 텍스트 분할기 등 개별 모듈만 커스텀 백엔드에서 단독 추출하여 사용 가능. |
| 랭체인 템플릿 (LangChain Templates) | 다양한 작업을 위해 쉽게 배포할 수 있는 참조 아키텍처 모음 | 제한적 유효함. PoC 수준에서만 쓰이며 프로덕션 환경은 커스텀 LangGraph 코드로 대체됨. | 없음. 템플릿 코드가 LangChain 문법 및 LangServe 환경에 완전히 종속되어 있어 독립적 활용 불가. |
| 랭서브 (LangServe) | 랭체인 체인을 REST API로 배포할 수 있게 하는 라이브러리 | 유효함. LangChain 기반으로 작성된 Runnable 객체를 서빙하는 데 지속 활용됨. | 없음. LCEL 기반의 Runnable 객체 변환에 강하게 결합되어 있어, LangChain 생태계를 벗어나면 작동하지 않음. |
| 랭스미스 (LangSmith) | 구축된 체인을 디버깅, 테스트, 평가, 모니터링할 수 있는 플랫폼 | 매우 유효함. LLM 옵저버빌리티 및 데이터셋 평가 분야의 핵심 엔터프라이즈 솔루션. | 매우 높음. LangChain 코드 없이도 데코레이터(@traceable) 등을 통해 순수 Python 함수 및 외부 API 호출을 단독 트레이싱 가능. |
체이닝
MCP / mermaid
MCP 서버에서 도구를 실행할 경우, 이는 명백히 langgraph 밖이므로 mermaid 로 표현되지 않는다.
mermaid 로 표현될 수 있는 건 MCP 서버를 호출하는 주체인 ToolNode 가 끝이고, 그 이상은 그려질 수 없음.
ToolNode 진입과 이탈만 표현되며, MCP 서버에서 연산이 어떻게 진행되는지는 묘사되지 않음.
from langgraph.prebuilt import ToolNode
# 일반 함수 도구든, MCP 도구든 상관없이 리스트로 묶임
tools = [my_local_tool, mcp_client.tools[0], mcp_client.tools[1]]
tool_node = ToolNode(tools)
builder.add_node("agent", agent_node)
builder.add_node("tools", tool_node) # <--- 이 노드가 그래프에 그려집니다.
# ... (조건부 엣지 설정) ...langgraph 주요 아키텍처 패턴
| 아키텍처 패턴 | 구조적 특징 | 핵심 가치 및 이점 | 주요 활용 사례 | LLM의 자기판단 개입 정도 (자율성) |
|---|---|---|---|---|
| DAG | 순환(Cycle) 없이 단방향으로만 상태(State)가 흐르는 비순환 조건부 분기 그래프 | LLM의 자율성을 배제하고 실행 순서를 하드코딩하여 파이프라인의 예측 가능성과 안정성 극대화 | 단순 RAG 파이프라인 | 매우 낮음. 실행 경로는 코드로 통제되며, LLM은 정해진 노드에서 주어진 컨텍스트로 텍스트를 생성하는 역할만 수행함. |
| 맵리듀스 | 분기 노드에서 동적으로 여러 하위 노드를 병렬 비동기 실행(Map)하고, 완료 시 하나의 노드에서 결과를 병합(Reduce) | Send API를 활용한 팬아웃(Fan-out)으로 I/O 바운드 작업의 처리 속도를 비약적으로 향상 | 대규모 문서 동시 처리 | 낮음. 배열의 크기에 따른 병렬 분기(Fan-out) 로직 자체는 시스템이 제어하며, LLM은 분할된 단편적 처리 및 병합 연산에만 동원됨. |
| 라우터 / 슈퍼바이저 | 중앙의 관리자(Supervisor/Router) 노드가 입력을 분석해 여러 전문 워커(Worker) 노드 중 하나로 작업을 분배(Routing) | 워커 노드의 책임 소재를 명확히 분리하고, 복잡한 상태 꼬임을 방지하며 중앙에서 전체 실행 흐름 통제 | intent 라우팅 봇 | 중간~높음. 중앙 라우터 노드의 LLM이 작업 성격을 분석하여 어느 워커 노드로 분기할지 핵심적인 판단을 내림. |
| FSM | 노드를 상태(State)로, 엣지를 전이 조건으로 삼아 특정 조건이 충족될 때까지 순환(Loop)하는 구조 | LLM에게 도구(Tools) 선택 및 결과 검증 후 재시도할 수 있는 자율성을 부여하는 기본 에이전틱 설계 | 단일 목적의 ReAct 에이전트 | 높음. LLM이 매 순환마다 어떤 도구를 쓸지, 실행 결과를 바탕으로 루프를 계속 돌지 종료할지를 스스로 판단함. |
| 계층형 다중 에이전트 | 메인 그래프의 노드가 내부적으로 완전히 독립된 또 다른 LangGraph(서브그래프)로 동작하는 트리/네트워크 구조 | 거대한 시스템의 아키텍처 복잡도를 낮추고 모듈별로 독립적인 개발, 격리 테스트, 배포 환경 제공 | 엔터프라이즈 사내 통합 AI | 매우 높음. 상위 노드의 위임(Delegation) 판단과, 하위 서브그래프 내 에이전트들의 자율적인 도구 호출 판단이 다층적으로 맞물려 작동함. |
- DAG: 선형 파이프라인
- langchain 을 langgraph 로 구현할 경우의 모양이 됨
- ex) 쿼리 입력 → DB 검색 → 프롬프트 병합 → 응답 생성 후 종료
- 맵리듀스
- ex) 다수의 문서를 동시에 각각 요약한 뒤, 마지막에 단일 요약본으로 통합
- 라우터 / 슈퍼바이저: 일종의 Hub-and-Spoke 구조
- 일감 오케스트레이션
- ex) 사용자 의도 파악 후 ‘결제 담당 노드’, ‘기술 지원 담당 노드’ 등으로 분기
- FSM: 단일 에이전트 순환
- ex) 로직 수행 → 에러 발생 시 스스로 로그 분석 후 재시도
- 계층형 다중 에이전트
- ex) 메인 라우터 → 사내망 권한이 분리된 ‘인사 에이전트’ 서브그래프 호출