개요
interviewstreet/hiring-agent는 HackerRank가 공개한 이력서 평가 파이프라인으로, PDF 이력서를 Markdown/JSON Resume 형태로 구조화하고 GitHub 프로필·저장소 신호를 보강한 뒤 역할별 rubric으로 점수·근거·보너스·감점을 출력한다. README는 이 프로젝트가 ATS나 HackerRank 고객용 제품이 아니라, 대량 인턴 지원서에서 사람이 먼저 읽을 순서를 정하기 위한 ranking 도구였다고 설명한다.
현재 스냅샷
| 항목 | 내용 |
|---|---|
| 저장소 | interviewstreet/hiring-agent |
| 설명 | AI agent to evaluate and score resumes. |
| 주 언어 | Python + Jinja |
| 라이선스 | MIT |
| 기본 브랜치 | main |
| 캡처 시점 지표 | stars 6,579 / forks 1,165 / open issues 265 |
| 생성/갱신 | created 2025-07-29, pushed 2026-07-27 |
무엇을 하는가
- PDF → 구조화 데이터:
pymupdf_rag.py와pdf.py가 이력서 PDF를 Markdown-like 텍스트로 변환하고,prompts/templates/*.jinja를 통해 Basics·Work·Education·Skills·Projects·Awards 섹션을 JSON Resume 계열 스키마로 추출한다. - GitHub 신호 보강:
github.py가 이력서 안의 GitHub 프로필을 찾아 프로필과 저장소를 가져오고, 의미 있는 기여 프로젝트를 선별하도록 LLM에 요청한다. - 역할별 평가:
roles/<role_name>/아래의role.json,criteria.jinja,system_message.jinja가 직무별 평가 범주·가중치·프롬프트를 정의한다. 기본 예시는software_engineering_intern이다. - 설명 가능한 출력:
score.py가 end-to-end 실행을 조율하고, 개발 모드에서는 중간 JSON 캐시와 역할별 CSV를 남긴다.
모델/프로바이더 구조
기본 모델은 로컬 실행이 쉬운 gemma4:latest로 되어 있지만, README는 HackerRank의 실제 인턴 이력서 평가에는 상위 Gemini 모델을 사용했다고 밝힌다. 런타임은 Ollama와 Gemini를 모두 OpenAI-compatible provider wrapper로 다루며, providers.json과 .env의 DEFAULT_MODEL, GEMINI_API_KEY, GITHUB_TOKEN으로 설정한다. 이 구조는 local-llm과 클라우드 LLM을 같은 평가 파이프라인 안에서 교체할 수 있게 한다.
논쟁과 리스크
README는 커뮤니티 분석을 별도 Coverage 섹션으로 링크하며, 반복 실행 시 점수 분산, PDF의 invisible text prompt/security 문제, GitHub 중심 rubric이 사기업·비공개 저장소 경력을 불리하게 볼 수 있는 문제, 공개 rubric에 대한 gaming 가능성을 인정한다. 따라서 이 저장소는 “자동 채용 결정기”라기보다, harness 관점에서 평가 파이프라인을 어떻게 투명하게 만들고 검증할지 보여주는 사례에 가깝다.
위키 내 위치
이 노트는 moc-ai-agents 쪽에서는 domain-specific evaluation agent 사례이고, moc-productivity 쪽에서는 채용/커리어 업무를 자동화하는 도구 사례다. 기존 2026-04-07-career-ops-claude-code-job-pipeline이나 2026-04-07-career-ops-claude-code-job-pipeline이 지원자 관점의 job-application automation이라면, hiring-agent는 채용자 관점의 resume ranking/evaluation pipeline이다.
실행 메모
git clone https://github.com/interviewstreet/hiring-agent
cd hiring-agent
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
ollama pull gemma4:latest
python score.py ./resume/sample.pdf --role software_engineering_internGemini를 쓰려면 .env에 GEMINI_API_KEY와 Gemini 계열 DEFAULT_MODEL을 설정한다. 새 직무 rubric은 python score.py --init-role backend_engineer로 scaffold한 뒤 roles/backend_engineer/의 JSON/Jinja 파일을 수정하는 흐름이다.
출처
- GitHub: https://github.com/interviewstreet/hiring-agent
- Raw capture: raw source:
2026-07-27-github-interviewstreet-hiring-agent