AI 세부 실습 11 - LangGraph 그래프와 상태 관리

최대 1 분 소요

LangGraph 그래프와 상태 관리

이 글은 다음 원본 실습 파일을 기준으로 정리합니다.

24.langchain_20250424_05_dict_graph.py
24.python_dict.py
25.langchain_20250428_01_graph.py
25.langchain_20250428_02_graph.py
26.langchain_20250429_01.py
26.langchain_20250429_02.py
26.langchain_20250429_03.py
26.langchain_20250429_04.py
26일차풀이.py

LangGraph는 여러 단계를 노드와 엣지로 연결해 AI 워크플로를 만드는 도구입니다.

상태

상태는 각 단계가 공유하는 데이터입니다.

from typing import TypedDict

class State(TypedDict):
    question: str
    answer: str

각 노드는 상태를 입력받고, 수정된 상태를 반환합니다.

노드

노드는 실제 작업을 수행하는 함수입니다.

def answer_node(state: State) -> State:
    return {
        **state,
        "answer": "AI 답변입니다.",
    }

엣지

엣지는 다음에 실행할 노드를 정합니다.

graph.add_edge("Start", "Answer")

그래프 전체는 다음처럼 읽을 수 있습니다.

시작 노드
-> 처리 노드
-> 다음 노드
-> 종료

딕셔너리 그래프에서 시작하기

24.python_dict.py, 24.langchain_20250424_05_dict_graph.py는 상태를 딕셔너리로 다루는 감각을 익히는 데 좋습니다.

LangGraph의 상태도 결국 여러 값을 가진 딕셔너리처럼 생각할 수 있습니다.

state = {
    "question": "오늘 배운 내용은?",
    "answer": "",
}

정리

LangGraph는 복잡한 AI 작업을 단계별로 나누고 상태를 추적하기 좋습니다. 26번 실습까지 이해하면 이후 자동화 파이프라인을 만들 때 흐름을 훨씬 명확하게 설계할 수 있습니다.

댓글남기기