에이전트

랭그래프

LangGraph

LangGraph는 AI 에이전트가 하는 일을 노드(단계)와 엣지(다음에 갈 곳)로 이루어진 그래프로 그려서 만드는 프레임워크다. 조건에 따라 길이 갈리거나, 같은 단계를 반복하거나, 중간에 사람이 승인해야 하는 에이전트를 if문과 반복문으로 얽지 않고 눈으로 따라갈 수 있는 흐름으로 짤 때 쓴다.

구성 요소하는 일
상태검색어, 모은 문서, 시도 횟수처럼 에이전트가 계속 들고 다니는 정보
노드파이썬 함수 하나. LLM 호출, 도구 실행, 결과 검증을 맡는다
엣지·라우터현재 상태를 보고 다음에 갈 노드를 정한다

상태부터 정하고, 갈림길에 라우터를 붙인다

먼저 에이전트가 들고 다닐 상태를 TypedDict 하나로 정한다. 모든 노드는 이 상태를 읽고 자기가 맡은 부분을 채운다. 길이 갈리는 곳에는 add_conditional_edges로 라우터 함수를 붙인다.

라우터는 상태만 보고 다음 노드 이름을 문자열로 돌려준다. 라우터 안에서 LLM을 부르거나 상태를 바꾸면 안 된다. 실제 작업은 모두 노드 안에서 해야 흐름이 꼬이지 않는다.

재시도와 사람 승인도 흐름 안에 넣는다

상황이렇게 짠다
도구 호출이 실패할 때노드에서 에러를 잡아 실패 횟수를 올린다. 라우터가 그 횟수를 보고 다시 시도할지, 다른 경로로 빠질지 정한다
사람 확인이 필요할 때interrupt로 그래프를 그 자리에서 멈춘다. 사람이 확인하면 멈춘 곳부터 다시 돈다

끊겨도 마지막 저장 지점부터 이어간다

노드 하나가 끝날 때마다 체크포인터가 그때의 상태를 통째로 저장한다. 그래서 오래 걸리는 작업이 중간에 끊기거나 사람 승인을 며칠 기다려도, 처음부터 다시 하지 않고 마지막 저장 지점부터 이어서 돌린다. 개발할 때는 메모리에 저장하고, 실제 서비스에서는 데이터베이스에 저장하도록 바꾸면 된다.

단순한 일은 LangChain, 복잡하면 LangGraph

LangGraph가 LangChain을 대신하는 건 아니다. LangChain은 모델과 도구를 쉽게 붙여 주는 상위 도구이고, LangGraph는 그 아래에서 흐름을 실행하는 엔진에 가깝다. 요즘은 LangChain 에이전트도 내부에서는 LangGraph로 돈다.

상황추천
도구 몇 개를 쓰는 간단한 에이전트LangChain으로 빠르게 시작
조건 분기, 반복, 여러 에이전트 사이 작업 넘김LangGraph로 흐름을 직접 설계

노드와 엣지를 하나하나 직접 짜야 하므로, 단순한 작업에서는 오히려 손이 더 많이 간다.

분기·반복·승인이 있는 에이전트에 주로 쓴다

가장 흔한 건 결과를 확인하고 부족하면 다시 도는 에이전트다. 한 번 호출로 끝나지 않고 검증, 재시도, 사람 확인이 끼는 흐름일수록 LangGraph로 짜는 이점이 커진다.

어디서어떻게 쓰나
검색·리서치 에이전트검색 결과를 검증하는 노드를 두고, 부실하면 다시 검색하고 충분하면 정리 노드로 넘긴다
승인이 필요한 업무 자동화메일 발송이나 데이터 변경 직전에 interrupt로 멈추고, 사람이 확인하면 이어서 실행한다
여러 에이전트 협업라우터가 상태를 보고 작업을 담당 에이전트 노드로 넘기고, 결과를 모아 다음 단계로 보낸다
오래 도는 작업체크포인터를 데이터베이스에 연결해, 중간에 끊겨도 마지막 저장 지점부터 다시 돌린다
#LangChain#그래프#워크플로우
참고 자료
관련 영상
← AI Wiki에서 더 보기
updated at 2026-10-20