🧩 BE

StateGraph

Date
2026/04/16
Category
AI
Tag
LangChain
Detail
LangGraph가 노드 간에 데이터를 넘기는 방식은 공유 상태(State) 기반이다.
일반 함수 호출이면 다음과 같이:
articles = load_batch()raw = extract(articles)refined = refine(raw)
근데 LangGraph는 각 노드가 독립 함수라 직접 인자를 넘길 수가 없다. 대신
1.
State 딕셔너리 하나를 그래프 전체가 공유
2.
각 노드는 State를 받고, 변경할 부분만 dict로 리턴
3.
LangGraph가 자동으로 State에 병합
load_batch - State에 batch_articles 넣음extract - State에서 batch_articles 읽고, raw_entities 넣음refine - State에서 raw_entities 읽고, 정제해서 다시 넣음
또한 선언 시 TypedDict를 정의해서 어떤 키가 오가는지 타입 명세를 해야하는데, 그렇지 않아도 돌아가긴 하지만 없으면 노드간 데이터 계약이 없어서 런타임 시 타입 관련 오류가 발생할 수 있다.