바로 필요하지 않은 상세 평가는 면접이 끝난 뒤에
매 턴의 상세 점수 계산을 종료 후 일괄 평가로 옮기고 출력 토큰 한도를 조정했습니다. 면접당 LLM 호출은 21회에서 11회로 줄었습니다. 응답 개선을 단순한 모델 교체 성과로 설명하지 않았습니다.
AI 모의면접과 개발자 커뮤니티
커뮤니티 조회와 AI 면접에서 발생하는 대기 시간을 줄였습니다. 조회는 쿼리 구조를 먼저 고치고, 면접은 사용자에게 즉시 필요한 응답과 종료 후 평가를 나눴습니다.
당시 프로젝트의 측정 기록입니다. 목록 조회와 면접 응답은 서로 다른 시험이며 실제 서비스 이용자 규모를 의미하지 않습니다.
일대다 JOIN과 중복 제거 과정에서 중간 결과와 정렬 비용이 커졌습니다. 스칼라 서브쿼리로 조회 형태를 바꾸고 DISTINCT를 제거한 뒤, 실행계획에 맞춰 복합 인덱스를 조정했습니다.
반복 조회에는 Redis 캐시를 적용했습니다. 게시글 변경이 DB에 확정된 뒤 캐시 버전을 갱신하도록 구성했습니다.
매 턴의 상세 점수 계산을 종료 후 일괄 평가로 옮기고 출력 토큰 한도를 조정했습니다. 면접당 LLM 호출은 21회에서 11회로 줄었습니다. 응답 개선을 단순한 모델 교체 성과로 설명하지 않았습니다.
Gemini를 주로 사용하되 작업에서 요구하는 추론 수준, 응답 시간과 요금을 고려해 모델을 선택했습니다. 모든 작업에 같은 모델을 사용하는 방식으로 고정하지 않았습니다.
시간 제한과 재시도, 반복 실패 시 호출을 차단하는 서킷 브레이커를 구성했습니다. Gemini에 문제가 생기면 OpenAI API를 사용하는 대체 경로를 뒀습니다. 요청을 계속 처리하는 것과 모델 간 답변 품질이 동일한 것은 구분했습니다.