부록
시스템명 “Arda”의 의미
Arda(아르다) 는 톨킨의 요정어(퀘냐)로 “영역(Realm)” 을 뜻한다. 톨킨 세계관에서 요정·인간·난쟁이 등 모든 종족이 살아가는 터전의 이름이며, 보통명사로는 “경계가 정해진 장소, 하나의 영역”을 가리킨다.
이 이름을 시스템명으로 정한 이유는 두 가지다.
- “사람들이 모여 사는 터전”이라는 뜻이 채용과 곧바로 이어진다. 회사에 사람을 들이는 일은 곧 터전을 이루는 일이다.
- 심판자가 아니다. 후보였던 Argus(감시자)·Themis(정의의 여신)를 뺀 이유는 “판정하는 존재라서 우리 원칙과 충돌한다”는 것이었다. Arda는 판단하는 주체가 아니라 판단이 일어나는 장소다. 이는 시스템의 정체성과 일치한다 — 도구는 자리를 마련하고, 판단은 그 안의 사람이 한다. AI 요약·파싱·에이전트는 심사를 돕는 무대를 깔 뿐, 합격·불합격을 가르는 것은 언제나 채용 담당자다.
용어 정의
| 용어 | 정의 |
|---|---|
| ATS | Applicant Tracking System — 지원자 추적 관리 시스템 |
| Arda | 본 프로젝트의 시스템 코드명. 퀘냐로 “영역(Realm)” — 위 “시스템명 Arda의 의미” 참조 |
| 칸반 보드 | 지원자 카드를 단계별 열에 배치하여 채용 프로세스를 시각화하는 UI |
| RAG | Retrieval-Augmented Generation — 문서 검색 후 LLM이 답변을 생성하는 방식 |
| Tool-Calling Agent | 자연어 명령을 파싱하여 적절한 API 도구를 호출하는 AI 에이전트 |
| presigned URL | S3에서 발급하는 일회성 인증 URL. 브라우저에서 서버를 거치지 않고 직접 업로드 가능 |
| SES · SQS | AWS 이메일 발송·메시지 큐 서비스 — 초기 메일 경로였으나 ADR-0031·0036 으로 폐기, 현재는 n8n 웹훅 + SMTP |
| n8n | 오픈소스 워크플로 자동화 도구 — API 가 쏘는 웹훅을 받아 메일(SMTP)을 보낸다. 죽어도 API 가 5분마다 재발송 |
| Caddy | 리버스 프록시·TLS 자동 발급 — 443 → FastAPI · lie-detection(/ai/) · n8n(/n8n/) |
| QLoRA | 4-bit 양자화 + 저랭크 어댑터로 대형 모델을 작은 GPU 에서 파인튜닝하는 기법 — Qwen3-8B 어댑터 3갈래 학습에 사용 |
| judge.py | 모델이 무엇이든 같은 규칙으로 도구 호출을 채점하는 자체 채점기 — Qwen vs Claude 비교의 “같은 자” |
| pgvector | PostgreSQL 확장. 벡터 임베딩을 저장하고 유사도 검색 수행 |
| ADR | Architecture Decision Record — 아키텍처 의사결정 기록 문서 |
| RBAC | Role-Based Access Control — 역할 기반 접근 제어 |
ADR 목록 (36건 · 2026-09-22 기준)
번호 0018~0020 은 결번. 0030 은 같은 번호로 두 건이 존재한다(n8n 분리 · 거짓말탐지 미결 확정). 원문은 저장소 docs/03_decision/.
| 번호 | 결정 | 비고 |
|---|---|---|
| 0001 | Kubernetes 제외 — “한 달 안에 굴렸다고 말할 수 없는 것은 넣지 않는다” | |
| 0002 | 실시간 표정분석 제외 | 0029 로 개정 |
| 0003 | AI는 추천까지만 — 확정은 사람 | 0034 로 범위 조정(서류·면접 자동 판정, 최종 합불만 사람) |
| 0004 | 음성은 STT + 기존 텍스트 에이전트 (speech-to-speech 제외) | |
| 0005 | 실시간 공동편집 제외 — 메모는 행 추가 방식 | |
| 0006 | 프론트 React 확정 — 서버 템플릿(Jinja) 기각 | |
| 0007 | 작업 분배를 도메인 오너제로 전환 | |
| 0008 | 에이전트·앱 정식 트랙 승격 | |
| 0009 | 에이전트 UI 위치 (+ 음성 입력 위치) | |
| 0010 | 앱 Flutter 확정 | |
| 0011 | 에이전트 모델·비용 (Haiku, 원가 실측) | |
| 0012 | 서류심사 AI 분류 기준 | |
| 0013 | 면접관 배정 정책 | |
| 0014 | 프로젝트 이름 — Arda | |
| 0015 | 엔티티 리졸버 한글 수사 오탐 방지 | |
| 0016 | 면접 일정 자동화 — 토큰 공개 페이지 + 기존 메일 파이프라인 재사용 | |
| 0017 | 역할을 admin · member 2종으로 이분화 — 면접관 조회 제한 폐지 | |
| 0021 | RAG 파이프라인 — 임베딩 기반 시맨틱 검색 | |
| 0022 | 프롬프트 체이닝 — 요약→평가→추천 단계별 파이프라인 | |
| 0023 | 에이전트 평가 프레임워크 — 답변 품질 자동 측정 | |
| 0024 | sLLM 로컬 모델 전략 — 하이브리드 구성 | Qwen 어댑터는 R&D 자산으로, 프로덕션은 Claude(→ 문제와 극복 A) |
| 0025 | 운영 권한을 팀장 개인 계정에서 떼어낸다 | |
| 0026 | AI 면접은 한다 — 단 음성으로 긴장도·거짓말을 판별하지 않는다 | 0029 로 개정 |
| 0027 | 인적성 검사는 한다 — AI는 응답 요약만, 성격 판정 금지 | |
| 0028 | 이력서·자소서는 해시 사슬로 못 박는다 — 공개 체인(Sepolia)은 2단계 | |
| 0029 | 표정·음성으로 진위를 판별한다 — 0002·0026 개정 | 점수 미반영 참고 지표 |
| 0030 | 알림·메일 자동화를 n8n 워크플로로 분리 — AWS 를 떠나도 돌게 | |
| 0030 | 거짓말 탐지 운영 전 미결 사항 확정 — 0029 보완 | 동일 번호 |
| 0031 | AWS 를 EC2·S3 로 줄이고 나머지는 self-host 교체 가능하게 | |
| 0032 | 추론 모델 3종 확정 — ViT · Whisper large-v3-turbo · Qwen3-8B | 온프레미스 기준 |
| 0033 | 지원자 앱 로그인 — 이메일 + 생년월일 8자리 | |
| 0034 | 에이전트 자동 심사 — 서류·면접은 아르가 판정, 최종 합불만 사람 | |
| 0035 | 헥사고날 부분 적용 · Bounded Context 다중 스타 · Full DDD 안 함 | |
| 0036 | SQS 메일 워커 폐기 — n8n 단일 발송 경로로 고정 | |
| 0037 | 회사 통합 API · 지원자 흡수 경로 4갈래 · 코어는 API push 하나 | |
| 0038 | 실시간 면접 전사 — 프로덕션 기본을 OpenAI API 로 | STT_BACKEND 한 변수로 결정 |