25차시. Generator Node 분리
8. 입출력 명세
출처: 원본 PDF 25차시_GeneratorNode분리.pdf 16쪽 · 쪽 그림 16쪽
# ===================================================
# Generator Node
# ===================================================
# 책임: 주어진 근거로 답변을 작성하고 자기 출력을 점검한다.
# 근거를 더 찾지 않고, 흐름 결정도 하지 않는다.
#
# [입력 - State에서 읽음]
# documents list 근거 조각 (필수)
# question str 사용자 원본 질문
# retries int 재시도 횟수 (피드백 프롬프트 판단용)
# reason str 직전 검증 실패 이유
#
# [출력 - State에 씀]
# answer str 생성된 답변
# insufficient bool 근거 부족 자가신고
# has_citation bool 유효한 출처 번호 포함 여부
# gen_error str LLM 오류 시 예외 이름
# log list 실행 기록 (누적)
#
# [보장]
# - 어떤 경우에도 예외를 던지지 않는다
# - documents가 비면 LLM을 호출하지 않는다
# ===================================================