개요

초기 구현 상태는 여러 에이전트가 순차적으로 협업하는 구조이며, 각 노드는 State에 저장된 질문 목록(questions)과 각 에이전트별 결과(answers, follow_ups, reviews, scores)를 공유하면서 자신의 역할만 수행합니다.

핵심 전략: 하나의 에이전트가 모든 일을 처리하는 방식이 아니라, 다음 단계들을 역할 별로 분리한 멀티 에이전트 입니다.

문맥 준비 → 문서 분석 → 질문 생성 → 답변 예측 → 꼬리질문 생성 → 품질 검토 → 채점 → 선별 → 최종 조립

Agent 및 Node 구성

에이전트 / 노드 역할 주요 미션
BuildState (문맥 준비 노드) 입력 문맥 정리 세션 정보, 지원자 정보, 문서 텍스트를 하나의 공통 문맥(candidate_context)으로 병합. 추출 텍스트가 없으면 메타데이터 중심으로 처리한다는 경고를 node_warnings에 기록
Analyzer (문서 분석자) 문서 분석 candidate_context와 채용 기준을 바탕으로 강점, 약점, 리스크, 검증 포인트를 구조화해 document_analysis를 생성. 이후 모든 에이전트가 이 분석 결과를 공유 입력으로 사용
Questioner (질문자) 기초 질문 설계 document_analysis 기반으로 핵심 질문과 평가 가이드 초안 생성. 질문 생성 근거(generation_basis)와 문서 근거(document_evidence)를 함께 기록. human_action 값에 따라 신규 생성 / 부분 재생성을 분기 처리
Predictor (예측자) 답변 시뮬레이션 지원자의 입장에서 가장 현실적인 예상 답변(predicted_answer)을 생성하고, 답변 신뢰도(answer_confidence)와 위험 포인트(answer_risk_points)를 함께 기록. 실패 시 fallback 답변으로 안전하게 처리
Driller (추적자) 꼬리 질문 생성 예상 답변의 빈틈, 역할 범위, 수치, 의사결정 지점을 파고드는 심층 꼬리질문(follow_up_question) 설계. 꼬리질문 목적(drill_type)도 함께 기록. 실패 시 fallback 꼬리질문으로 안전하게 처리
Reviewer (검토자) 품질 보증 (QA) 채용 기준과 질문 품질 루브릭에 따라 각 질문을 검토하고 approved / needs_revision / rejected 판정 부여. 반려 사유(reject_reason)와 수정 제안(recommended_revision)도 함께 기록. 실패 시 fallback 리뷰로 처리
Scorer (채점자) 점수 산정 리뷰 판정, 문서 근거 존재 여부, 평가 가이드, 역량 태그, 꼬리질문 연결성, 중복 여부를 종합해 질문별 0~100점 품질 점수 계산. review_summary(승인 수, 저점수 ID 목록, 평균 점수, 품질 이슈 목록)를 생성해 라우터에 전달
Review Router (분기 노드) 재시도 여부 판단 Scorer 결과(review_summary)를 보고 Driller 재시도 / Questioner 재시도 / Selector 진행 중 하나로 분기 결정
Selector (선별자) 최종 질문 선별 중복 질문 제거 후, 리뷰 승인 여부와 점수를 기준으로 정렬하여 리스크 질문을 우선 포함한 상위 5개 질문 선별
FinalFormatter (최종 조립 노드) 결과 조립 선별된 질문에 answers, follow_ups, reviews, scores를 매핑하고 QuestionGenerationResponse 스키마로 조립해 최종 응답 반환

전략적 특징