RAG2026-5일28차시 · Conditional Edge 이해14 / 17← 이전목차다음 →MetaContents

28차시. Conditional Edge 이해

퀴즈 1 — State의 영업 여부만 보고 분기하기

State의 마감 시각만 보고 영업 중인지 나누세요. 함수 안에서 현재 시각을 부르지 않습니다.

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

Python
def route_hours(state):
    pass
결과 보기 (예시 풀이)
Python
# 시각 계산은 시작 노드가 합니다. 분기 함수는 그 결과만 읽습니다.
def start_node(hour, close_hour=18):
    # 지금 몇 시인지는 바깥에서 받아 옵니다. 실제 서비스라면 여기서 시계를 봅니다.
    return {"within_hours": hour < close_hour}

# 분기 함수: State 에 적힌 값만 보고 경로 이름을 고릅니다. 시계를 직접 보지 않습니다.
def route_hours(state):
    if state.get("within_hours"):
        return "document"
    # 값이 없거나 False 면 마감 안내로 보냅니다.
    return "closed"

# 1) 오전 10시: 영업 중이므로 document 여야 합니다.
print(route_hours(start_node(10)))
# 2) 저녁 20시: 마감이므로 closed 여야 합니다.
print(route_hours(start_node(20)))
# 3) 테스트에서는 시계 없이 State 를 직접 만들어 넣을 수 있습니다. 이것이 결정성의 장점입니다.
print(route_hours({"within_hours": True}))
# 4) 같은 State 를 몇 번 넣어도 같은 경로가 나와야 합니다.
print({route_hours({"within_hours": False}) for _ in range(5)})

실행 결과

출력
document
closed
document
{'closed'}

채점 기준: datetime.now()가 있으면 오답이다.

관련 교안: 28차시 「2. 분기 함수의 4가지 규칙」 › 2-1) 규칙 ① — State만 보고 판단한다

← 이전 절28차시 · 실습 1 — Conditional Edge 이해 실습 따라 하기다음 절 →28차시 · 퀴즈 2 — 의도가 비면 document로 보내기