개발 요구 사항

목적

채용 프로세스 전 과정(공고 등록 → 지원 접수 → 서류 검토 → 면접 → 합불 통보)을 하나의 웹 플랫폼으로 구현하고, AI 기술을 접목하여 이력서 분석과 정보 검색을 자동화한다.


개발 범위

요구 ID 기능 검수 기준
SFR-001 이력서 파싱 — PDF/DOCX 업로드 시 이름·학력·경력·기술스택 자동 추출 주요 필드 추출 정확도 90% 이상
SFR-002 칸반 보드 — 지원자 카드를 드래그하여 채용 단계 전환 상태 전환 시 DB 반영 200ms 이내
SFR-003 Tool-Calling Agent — 자연어 명령으로 지원자 검색·일정 조회·통계 요청 처리 도구 호출 정확도 85% 이상, 지원 도구 5종 이상
SFR-004 RAG 질의응답 — 이력서·채용 공고 기반 자연어 질의응답 (pgvector) Top-5 문서 추출 Recall@5 90% 이상
SFR-005 지원자 관리 — 지원자 CRUD, 검색·필터링, 채용 단계별 목록 조회 전체 CRUD 정상 동작, 페이지네이션 지원
SFR-006 이메일 알림 — 채용 단계 변경 시 SES 기반 자동 이메일 발송 SQS 큐 연동, 발송 성공률 99% 이상

채용 프로세스 자동화

칸반 보드를 중심으로 채용 전 과정을 관리한다.

단계 흐름:

지원 접수(applied) → 서류 검토(screening) → 면접(interview) → 최종 합격(accepted) / 불합격(rejected)

규칙 3줄 — 전진은 순서대로만 · 뒤로 이동은 담당자 권한 · 불합격은 어느 단계에서든(사유 필수).


AI 기반 이력서 분석

기능 설명 기술
이력서 파싱 PDF/DOCX에서 이름·학력·경력·기술스택을 구조화 데이터로 추출 Python, LLM
RAG 질의응답 이력서와 공고 내용을 임베딩하여 자연어 질의에 답변 pgvector, Claude API
Tool-Calling Agent 자연어 명령을 도구 호출로 변환하여 검색·통계 처리 Claude Tool Use

AI가 합불을 결정하지 않는다. 합불 확정은 항상 사람이 한다. (ADR-0003)


지원자 통합 관리 기능


보안 및 개인정보 보호

요구 ID 항목 검수 기준
SEC-001 인증·인가 — JWT 기반 인증, CORS 설정, 개인정보 암호화 미인증 요청 401/403 차단, 개인정보 AES-256 암호화
SEC-002 데이터 보안 — 이력서 파일 S3 암호화 저장, 접근 권한 IAM 기반 제어 S3 SSE 활성화, IAM 정책 적용

역할 기반 접근 제어 (RBAC):

역할 권한 범위
관리자 전체 시스템 설정, 사용자 관리, 모든 데이터 접근
채용담당자 공고 관리, 지원자 관리, 단계 전환, 면접관 배정
면접관 배정된 지원자 조회, 평가 입력

구현 현황 (2026-09-03 기준)

기획 기능 80개를 우선순위 3단계로 나눠 관리한다.

우선순위 총수 구현 부분 미구현
● 필수 27 27 0 0
○ 권장 30 22 1 7
△ 여유 23 0 3 20

기획서 밖에서 ADR로 정식 편입된 범위 — 도구 호출 에이전트(확인 카드·비용 관측), 요약 3체인, RAG 시맨틱 검색, 로컬 sLLM 이중 배포 전략, 면접 일정 자동화(FAQ 챗봇 포함), AI 면접(텍스트·STT), 인적성 설문, 제출물 무결성 원장+폴리곤 테스트넷 앵커링(ADR-0028), 면접 영상 거짓말 탐지. 각 항목의 진행 상태는 개발 일정과 개발 로그에서 확인한다.

명시적으로 제외한 것과 근거 (전부 ADR로 기록):

제외 근거
Kubernetes 한 달 안에 실제로 굴렸다고 말할 수 없는 것은 넣지 않는다 (ADR-0001)
실시간 표정분석 직무성과 예측 기여 0.25% 미만, 차별 위험 — HireVue도 2021년 폐기 (ADR-0002)
지원자 SNS 크롤링 채용절차법·개인정보보호법·플랫폼 약관 위반
AI 자동 합불 판정 인적 감독 필수 — AI는 추천까지만 (ADR-0003)
실시간 화상면접·동시 편집 일정 대비 구현 비용 과다
인적성 성격 유형 판정·음성 감정 분석 심리 추론 경계 — 재서술·전사까지만 (ADR-0026·0027)