day3_practice/hello_graph.py

hello_graph 흐름도

노드 하나(respond)짜리 가장 단순한 LangGraph입니다. START에서 respond를 한 번 거쳐 END로 갑니다.

1. 그래프 구조

START respond 노드 (함수 1개) END add_edge(START, "respond") user_input = "안녕하세요" add_edge("respond", END) user_input + response graph.invoke({"user_input": "안녕하세요"}) 한 번에 처음부터 끝까지

2. State가 바뀌는 과정

노드는 State 전체를 받고, 바꿀 키만 dict로 돌려줍니다. LangGraph가 그 dict를 기존 State에 합칩니다.

① 입력 State user_input: "안녕하세요" response: (없음) ② respond가 돌려준 값 response: "입력하신 내용은 '안녕하세요' 입니다." ③ 최종 State user_input: "안녕하세요" response: "입력하신…" state["user_input"] 를 읽음 기존 State에 합침 user_input은 그대로, response만 추가됨

3. 코드와 그림 대응

코드그림에서
class State(TypedDict)노드 사이를 오가는 데이터 모양 (user_input, response)
builder = StateGraph(State)빈 그래프 설계도
add_node("respond", respond)가운데 사각형
add_edge(START, "respond")START → respond 화살표
add_edge("respond", END)respond → END 화살표
builder.compile()설계도를 실행 가능한 graph로 변환
graph.invoke({...})①의 State를 넣고 START부터 END까지 실행

4. 실행 결과

{'user_input': '안녕하세요', 'response': "입력하신 내용은 '안녕하세요' 입니다."}

반환값은 response만이 아니라 State 전체입니다. 그래서 입력한 user_input도 같이 출력됩니다.