AI VIDEO BRIEFING
랭그래프(LangGraph) 기초: 상태·노드·엣지로 AI 에이전트 워크플로 설계하기
파이썬 라이브러리 랭그래프의 기초를 정리했다. 타입 힌트부터 상태·노드·엣지·조건부 엣지·도구·스테이트그래프까지 그래프 기반 AI 에이전트 설계의 핵심 요소를 다룬다.

핵심 메시지
쉽게 이해하기
랭그래프는 대형 언어 모델의 잠재력을 활용해 견고하고 확장 가능한 대화형 애플리케이션을 만들도록 돕는 파이썬 라이브러리다. 강의는 랭그래프를 처음 접하는 사람을 전제로 그래프와 AI 에이전트를 직접 만들며 이론과 실습을 함께 다룬다.
본격적인 코딩에 앞서 강의는 타입 주석(type annotation)을 다룬다. 일반 딕셔너리는 유연하지만 데이터가 올바른 타입·구조인지 검사하지 못해 큰 프로젝트에서 논리 오류의 원인이 될 수 있다. 그래서 타입 딕셔너리(TypedDict)를 클래스로 정의해 각 키의 데이터 타입을 명시하면 타입 안전성과 가독성이 높아진다. 이 방식은 랭그래프에서 상태를 정의할 때 광범위하게 쓰인다. 이 밖에 값이 여러 타입 중 하나임을 뜻하는 Union, 문자열 또는 None을 허용하는 Optional, 무엇이든 허용하는 Any, 그리고 작은 함수를 간결하게 쓰는 람다(lambda)도 소개된다.
랭그래프의 가장 기본 요소는 상태(state)다. 상태는 애플리케이션 전체의 현재 정보와 맥락을 담는 공유 데이터 구조로, 회의실 화이트보드에 비유된다. 참가자(노드)들이 새 정보를 적고 갱신하듯, 상태는 노드가 접근하고 수정할 수 있는 변수와 데이터를 추적하는 애플리케이션의 기억이다.
노드(node)는 그래프 안에서 특정 작업을 수행하는 개별 함수로, 조립 라인의 각 작업 station처럼 하나의 일을 맡아 현재 상태를 입력받아 처리하고 갱신된 상태를 출력한다. 그래프(graph)는 이 노드들이 어떻게 연결되고 실행되는지를 나타내는 전체 구조로 도로 지도에 비유된다. 노드를 잇는 엣지(edge)는 실행 흐름을 결정해 다음에 어떤 노드가 실행될지 알려준다.
주요 인사이트
- 조건부 엣지(conditional edge)는 신호등처럼 현재 상태에 적용된 조건·논리에 따라 다음 노드를 결정한다. if-else 문에 빗댈 수 있다.
- 시작(start)과 끝(end) 노드는 각각 워크플로의 진입점과 종료점을 표시하는 가상 노드로, 그 자체는 연산을 수행하지 않는다.
- 도구(tool)는 API에서 데이터를 가져오는 등 노드가 활용하는 특수 함수이며, 노드는 그래프 구조의 일부이고 도구는 그 안에서 쓰이는 기능이라는 점에서 다르다.
- 툴 노드(tool node)는 도구를 실행하는 것을 주 임무로 하는 특수 노드로, 도구의 출력을 상태에 다시 연결해 다른 노드가 그 정보를 쓸 수 있게 한다.
- 스테이트그래프(StateGraph)는 노드·엣지·전체 상태를 관리하며 그래프 구조를 구축·컴파일하는 요소로, 사용자가 가장 먼저 다루게 되는 핵심 요소 중 하나다.
자주 묻는 질문
랭그래프에서 상태(state)란 무엇인가?
상태는 애플리케이션 전체의 현재 정보와 맥락을 담는 공유 데이터 구조다. 노드가 접근하고 수정할 수 있는 변수와 데이터를 추적하는 애플리케이션의 기억으로, 회의실 화이트보드에 비유된다.
노드와 도구의 차이는 무엇인가?
노드는 그래프 구조의 일부로 특정 작업을 수행하는 함수다. 도구는 API 데이터 조회처럼 노드 안에서 쓰이는 기능이다. 둘을 잇는 툴 노드는 도구를 실행하고 그 결과를 상태에 다시 연결하는 특수 노드다.
조건부 엣지는 일반 엣지와 어떻게 다른가?
일반 엣지는 한 노드가 끝나면 다음 노드로 흐름을 잇는다. 조건부 엣지는 신호등처럼 현재 상태의 조건에 따라 다음에 실행할 노드를 결정하며, if-else 문처럼 동작한다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗