08_답변_평가_모델_선정.md - 100-hours-a-week/9-team-Devths-WIKI GitHub Wiki
답변 평가 모델 선정
최종 업데이트: 2026-02-09
📋 목차
1. 개요
목적
면접 답변 및 분석 결과에 대한 품질 평가 (LLM-as-a-Judge). v2에서는 2단계 평가로 구성한다.
사용 사례
- 인성/기술 면접 종료 후 전체 Q&A에 대한 1차 평가 (자동)
- 사용자 선택 시 2단계 토론으로 다각도 분석·합의된 최종 피드백
- (선택) 채용공고 + 이력서 분석 결과 답변 평가
핵심 결정 (v2)
- 1단계: Gemini Pro (thinking 모드) — 면접 종료 시 자동 실행
- 2단계: OpenAI GPT-4o + Gemini Pro Discussion (LangGraph) — "분석 결과 다시 받기" 시에만 실행
- 성능·정확도 우선으로 상용 API 사용 (Gemini, OpenAI)
2. 요구사항
| 요구사항 |
목표 |
우선순위 |
| 평가 정확도 |
인간 평가와 80% 이상 일치 |
높음 |
| 피드백 품질 |
구체적이고 실행 가능한 조언 |
높음 |
| 처리 속도 |
10초 이내 |
중간 |
| 비용 |
합리적 (성능 우선) |
중간 |
3. 평가 대상
3.1 분석 결과 답변 평가
| 평가 항목 |
설명 |
| 정확성 |
추출된 정보가 원본과 일치하는지 |
| 완전성 |
모든 중요 정보가 포함되었는지 |
| 구조화 |
정보가 체계적으로 정리되었는지 |
3.2 면접 답변 평가
| 평가 항목 |
설명 |
| 관련성 |
질문에 대한 적절한 답변인지 |
| 구체성 |
구체적인 예시와 수치가 포함되었는지 |
| 논리성 |
답변이 논리적으로 구성되었는지 |
| STAR 기법 |
상황-과제-행동-결과 구조 활용 |
3.3 종합 점수 (면접 종료 후)
면접 종료 시 1번 호출하여 종합 평가:
- 전체 답변에 대한 종합 점수 (100점 만점)
- 강점/약점 요약
- 최종 합격 가능성 예측
- 개선을 위한 조언
4. 후보 모델 비교
4.1 Gemini Pro ✅ 선정 (1단계 기본)
개요:
- Google의 고성능 LLM (v2: gemini-3-pro-preview, thinking 모드 사용)
- 복잡한 평가 작업에 적합
장점:
- ✅ 높은 평가 정확도
- ✅ 한국어 이해 우수
- ✅ 구조화된 출력 지원 (JSON)
- ✅ 긴 문맥 지원 (면접 전체 히스토리)
- ✅ thinking 모드로 심층 추론 후 일관된 평가 가능
단점:
v2 역할: 면접 종료 시 1단계 자동 분석 전담. 2단계에서는 토론 참여.
4.2 OpenAI GPT-4o ✅ 선정 (2단계 토론용)
개요:
- OpenAI의 멀티모달 플래그십 모델 (v2에서 평가 2단계에 사용)
- 평가·비교 작업에서 검증된 성능
장점:
- ✅ 평가 정확도 업계 최고 수준
- ✅ 일관된 평가 기준 유지
- ✅ Gemini와 다른 관점으로 독립 분석 가능 (토론 패턴에 적합)
단점:
- ❌ Gemini 대비 비용 높음
- ❌ 한국어 성능은 Gemini가 약간 우수할 수 있음
v2 역할: 2단계에서 Gemini Pro 분석과 독립 분석 후 불일치 항목 토론에 사용.
4.3 오픈소스 LLM ❌ 제외
제외 사유:
- 평가 작업은 정확도가 매우 중요
- 오픈소스 모델의 평가 능력은 상용 모델 대비 낮음
- 모의 면접의 핵심 기능이므로 성능 우선
5. 최종 선정 (v2)
5.1 2단계 평가 모델 구성
| 단계 |
모델 |
트리거 |
선정 근거 |
| 1단계 |
Gemini Pro (thinking 모드) |
모의 면접 종료 버튼 클릭 |
심층 추론으로 답변 품질 정밀 평가, thinking_level="HIGH", 긴 Q&A 문맥 처리 |
| 2단계 |
GPT-4o + Gemini Pro (Discussion) |
"분석 결과 다시 받기" 버튼 클릭 |
서로 다른 LLM 관점으로 다각도 분석, LangGraph 토론 패턴으로 합의 도출 |
- 인성 면접·기술 면접 모두 동일한 평가 파이프라인 적용.
- 1단계만으로도 충분한 분석 제공; 2단계는 사용자 선택으로 비용 통제.
5.2 선정 요약
| 용도 |
모델 |
비고 |
| 1단계 기본 평가 |
Gemini Pro (gemini-3-pro-preview, thinking) |
한국어 우수, 긴 문맥, 구조화 출력 |
| 2단계 토론·재분석 |
GPT-4o + Gemini Pro |
불일치 항목 토론 후 최종 합의 |
6. 평가 흐름 및 트리거
6.1 전체 흐름
[모의 면접 진행 완료] (인성 5문 / 기술 Q1~Q3 + 꼬리질문)
│
▼
[모의 면접 종료 버튼 클릭]
│
▼
[1단계: Gemini Pro 자동 분석]
├── 전체 Q&A를 Gemini Pro에 전달
├── 각 질문별 답변 평가 (적절/부적절/보완필요)
├── 부적절·보완필요 시 추천 답변 제시
└── 종합 점수 및 피드백 생성
│
▼
[사용자에게 결과 표시]
│
▼ (선택 — "분석 결과 다시 받기" 버튼 클릭)
[2단계: OpenAI & Gemini Discussion]
├── GPT-4o가 동일 Q&A를 독립 분석
├── Gemini 분석 vs GPT-4o 분석 비교
├── 불일치 항목 토론 (1라운드)
└── 합의된 최종 분석 + 개선된 추천 답변 출력
6.2 트리거 정리
| 단계 |
트리거 |
API/엔드포인트 |
| 1단계 |
모의 면접 종료 버튼 |
POST /ai/evaluation/analyze (SSE 스트리밍) |
| 2단계 |
분석 결과 다시 받기 버튼 |
동일 평가 API 내 2단계 토론 호출 (DebateService) |
7. 평가 기준
7.1 면접 답변 평가 루브릭
| 점수 |
기준 |
| 5점 |
완벽한 답변, STAR 기법 완벽 활용, 구체적 수치 포함 |
| 4점 |
우수한 답변, 대부분의 요소 포함 |
| 3점 |
적절한 답변, 개선 여지 있음 |
| 2점 |
부족한 답변, 핵심 요소 누락 |
| 1점 |
미흡한 답변, 질문 의도 파악 실패 |
7.2 STAR 기법 평가
S (Situation): 상황 설명이 명확한가?
T (Task): 본인의 역할/과제가 명시되었나?
A (Action): 구체적인 행동이 서술되었나?
R (Result): 정량적 결과가 포함되었나?
평가 예시:
"트래픽 급증 문제를 해결했습니다" → 1점 (구체성 부족)
"DAU 100만 서비스에서 Redis 캐싱 도입으로 응답 시간 70% 단축" → 5점
7.3 평가 기준 가중치 (v2)
| 기준 |
설명 |
가중치 |
| 관련성 |
질문에 대한 답변의 적합도 |
25% |
| 구체성 |
수치·사례 등 구체적 근거 포함 여부 |
25% |
| 논리성 |
답변의 논리적 일관성 |
25% |
| STAR 기법 |
Situation-Task-Action-Result 요소 충족도 |
25% |
7.4 평가 프롬프트 (참고)
EVALUATION_PROMPT = """
다음 면접 질문과 답변을 평가해주세요.
## 질문
{question}
## 답변
{answer}
## 평가 기준
1. 관련성 (1-5점): 질문에 적절히 답변했는가?
2. 구체성 (1-5점): 구체적인 예시와 수치가 있는가?
3. 논리성 (1-5점): 답변이 논리적으로 구성되었는가?
4. STAR 기법 (1-5점): 상황-과제-행동-결과 구조를 활용했는가?
## 출력 형식 (JSON)
{
"scores": {
"relevance": 4,
"specificity": 3,
"logic": 4,
"star": 2
},
"total_score": 13,
"max_score": 20,
"feedback": "구체적인 피드백...",
"improvement": "개선 제안..."
}
"""
8. 구현 참조
8.1 코드 파일 (v2)
| 역할 |
경로 |
| 1단계 분석 (Gemini Pro thinking) |
3.model/app/domain/evaluation/analyzer.py — InterviewAnalyzer |
| 2단계 토론 (LangGraph) |
3.model/app/domain/evaluation/debate_graph.py — DebateService, create_debate_graph |
| 평가 프롬프트 |
3.model/app/prompts/evaluation.py, app/prompts/templates/evaluation/ |
| API 라우트 |
3.model/app/api/routes/v2/evaluation.py |
| LLM 호출 래퍼 |
3.model/app/services/llm_service.py |
8.2 API 엔드포인트
| 용도 |
메서드/경로 |
비고 |
| 면접 평가 리포트 (1단계 + 선택 2단계) |
POST /ai/evaluation/analyze |
SSE 스트리밍, Q&A JSON 전달 |
8.3 사용 예시 (요청/응답 개요)
- 요청: 면접 Q&A 리스트(
messages 또는 interview_history) + 면접 유형 등.
- 응답 (1단계): 질문별 평가, 종합 점수, 강점/약점, 개선 제안, (선택) 합격 가능성.
- 응답 (2단계): Gemini vs GPT-4o 분석 비교, 토론 후 합의된 최종 피드백 및 추천 답변.
9. 비용 및 Fallback
9.1 비용 (v2 기준)
| 단계 |
발생 조건 |
예상 비용/건 |
| 1단계 |
매 면접 종료 시 |
~$0.02–0.05 |
| 2단계 |
"분석 결과 다시 받기" 클릭 시에만 |
~$0.05–0.10 추가 |
- 월 500회 면접 가정: 1단계만 사용 시 약 $10–25/월, 2단계 20% 사용 시 약 $15–35/월 수준.
9.2 Fallback 전략
| 상황 |
대응 |
| Gemini Pro 장애/타임아웃 |
1단계 재시도 또는 에러 메시지 반환 (2단계 미실행) |
| OpenAI 장애 시 2단계 요청 |
2단계 불가 안내, 1단계 결과만 유지 |
참고 자료
문서 이력
| 날짜 |
내용 |
| 2026-01-25 |
초안: 기본 평가(Gemini Pro), 정밀 평가(GPT-4) |
| 2026-02-09 |
v2 반영: 2단계 평가(1단계 Gemini Pro thinking, 2단계 GPT-4o+Gemini Discussion), 트리거·비용·구현 참조 갱신 |