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

17차시. LangGraph 입문

퀴즈 2 — 조건에 따라 다음 노드 이름 고르기

조건이 참이면 yes 노드 이름, 아니면 no 노드 이름을 반환하세요.

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

Python
def route(state):
    pass
결과 보기 (예시 풀이)
Python
def route(state):
    # 조건부 엣지 함수는 State를 고치지 않습니다.
    # State를 보고 다음에 갈 노드 이름(문자열)만 돌려줍니다.
    if state.get("ok"):
        return "yes"
    # ok 키가 없거나 False면 no 쪽으로 보냅니다.
    return "no"

# 반환값을 실제 노드로 잇는 표입니다.
# add_conditional_edges 의 세 번째 인자와 같은 모양입니다.
next_node = {"yes": "answer", "no": "search"}

# 확인 1: ok가 True면 yes, 표를 따라 answer로 갑니다.
s1 = {"ok": True}
print(route(s1), "→", next_node[route(s1)])
# 확인 2: ok가 False면 no, 다시 search로 돌아갑니다.
s2 = {"ok": False}
print(route(s2), "→", next_node[route(s2)])
# 확인 3: ok 키가 아예 없어도 get 덕분에 오류 없이 no가 나옵니다.
s3 = {}
print(route(s3), "→", next_node[route(s3)], "/ State 그대로:", s3)

실행 결과

출력
yes → answer
no → search
no → search / State 그대로: {}

채점 기준: 반환은 다음 노드 이름 문자열이다. State를 수정하면 오답이다.

관련 교안: 17차시 「조건부 분기가 있는 Graph 만들기」

← 이전 절17차시 · 퀴즈 1 — 바꾼 칸만 돌려주는 인사 노드다음 절 →17차시 · 정리