RAG2026-5일17차시 · LangGraph 입문17 / 20← 이전목차다음 →MetaContents

17차시. LangGraph 입문

퀴즈 1 — 바꾼 칸만 돌려주는 인사 노드

노드 함수는 State를 받아 바꾼 키만 반환합니다. 인사 노드를 작성하세요.

빈칸 코드에서 시작합니다.

Python
def greet(state):
    pass
결과 보기 (예시 풀이)
Python
def greet(state):
    # 노드는 State 전체를 다시 쓰지 않습니다.
    # 이번에 바꾼 칸(answer)만 새 딕셔너리에 담아 돌려줍니다.
    return {"answer": "안녕하세요"}

def run_node(node, state):
    # LangGraph가 하는 일을 흉내 냅니다.
    # 원래 State에 노드가 돌려준 칸만 덮어써서 다음 State를 만듭니다.
    update = node(state)
    return {**state, **update}

state = {"query": "안녕?", "answer": ""}
new_state = run_node(greet, state)

# 확인 1: 노드가 돌려준 것은 바뀐 칸 하나뿐이어야 합니다.
print("노드 반환값:", greet(state))
# 확인 2: 합친 뒤에는 query는 그대로, answer만 채워집니다.
print("합친 State:", new_state)
# 확인 3: 원래 state는 노드가 직접 고치지 않았으므로 그대로입니다.
print("원래 State:", state)

실행 결과

출력
노드 반환값: {'answer': '안녕하세요'}
합친 State: {'query': '안녕?', 'answer': '안녕하세요'}
원래 State: {'query': '안녕?', 'answer': ''}

채점 기준: state를 직접 고치지 않고 새 딕셔너리를 반환한다.

관련 교안: 17차시 「체크리스트와 과제」

← 이전 절17차시 · 실습 1 — LangGraph 입문 실습 따라 하기다음 절 →17차시 · 퀴즈 2 — 조건에 따라 다음 노드 이름 고르기