랭그래프

소개

랭그래프는 여러 AI 에이전트와 언어 모델의 작업 흐름을 그래프 구조로 설계할 수 있게 돕는 프레임워크입니다. 랭체인에서 한 단계 더 나아가, 단순한 순차 처리 뿐 아니라 순환, 분기, 재시도와 같은 복잡한 상호작용까지 구조화된 방식으로 구현할 수 있도록 돕습니다.

랭그래프의 개념은 수학의 그래프 이론에서 가져온 것입니다. 즉, 각 작업 또는 작업을 처리하는 객체를 노드(Node)로, 그리고 노드 간의 연결 즉 작업의 흐름을 엣지(Edge)로 표현한는 방식입니다.

이를 통해 언어 모델이 어떤 순서로 작업하고, 어떤 조건에서 어떻게 행동하고 판단하여 작업을 처리하고 다음 단계로 넘어갈지를 명확하게 정의하여, 복잡하고 큰 규모의 LLM 중심의 서비스를 구축할 수 있습니다.

  • LLM 중심의 AI 서비스를 편하게 구축할 수 있게 도와주는 프레임워크
  • 수학의 그래프 이론처럼 노드(Node), 엣지(Edge) 로 서비스 구조를 설계
  • 순환, 분기 등 복잡하고 고도화된 AI 서비스를 구축하는 데 최적
  • 꼭 LangChain을 사용하지 않아도 그래프 형태로 흐름을 잡아줌

랭체인과의 차이

항목 랭체인(LangChain) 랭그래프(LangGraph)
핵심 목적 LLM 기반 기능을 체인 형태로 빠르게 구성 복잡한 에이전트 흐름을 그래프 형태로 설계, 제어
구조 주로 순차적 체인 중심 노드 및 엣지 기반의 상태 그래프
흐름 제어 단순 연결에 강함 조건 분기, 반복, 되돌아가기, 멀티스텝 제어에 강함
상태 관리 상대적으로 단순 상태(State)를 명시적으로 관리
적합한 사용처 챗봇, RAG, 요약, 질의응답, 간단한 툴 호출 멀티에이전트, 복잡한 의사결정, 긴 실행 흐름
에이전트 구현 가능하지만 복잡해질수록 관리가 어려움 에이전트 워크플로우 구현에 최적화
제어권 추상화가 높아 빠르게 개발 가능 더 세밀한 제어 가능
학습 난이도 비교적 쉬움 개념이 더 많아 상대적으로 높음
대표 비유 “함수를 순서대로 연결한 파이프라인” “상태 머신이 있는 워크플로우 엔진”

랭그래프를 사용하는 이유

  1. 복잡한 워크플로우 구현 : 단순한 호출 체인을 넘어 조건 분기, 반복(순환), 자체적인 상황 판단에 따른 작업 수행 구조 등을 구현할 수 있음
  2. 상태와 메모리 관리 : 상태(state) 중심으로 설계되어, 멀티턴 대화 및 중간결과나 장,단기 메모리 등을 체계적으로 관리하기 쉬운 구조
  3. 확장성 : 하나의 그래프를 다른 그래프의 노드처럼 넣는 “서브그래프” 구조를 통해 각 그래프를 모듈처럼 조립하는 확장이 가능
  4. 중단 지점에서 재실행 : 장애지점 또는 사람의 개입이 필요한 시점에 워크플로를 중단했다가, 나중에 중단 지점부터 재실행이 가능

Reference

Do it! LLM을 활용한 AI 에이전트 개발 입문 (이성용 저)

https://docs.langchain.com/oss/python/langgraph/durable-execution

https://wikidocs.net/261584

Comments