로컬 AI를 사용하여 200개의 채용 공고를 점수화하는 구직 에이전트 구축 -- 클라우드 없음, 비용 없음
요약
로컬 LLM을 활용하여 8개의 채용 사이트에서 공고를 수집하고 사용자의 프로필과 비교 점수를 매기는 CLI 도구 JobRadar를 소개합니다. 클라우드 API 대신 Ollama와 qwen3-1.7b 모델을 사용하여 데이터 보안을 강화하고 비용을 절감했습니다.
핵심 포인트
- Ollama 기반 로컬 LLM을 사용하여 개인정보 유출 방지 및 비용 제로 실현
- 기술, 경력, 급여, 원격 근무 등 4가지 차원에서 채용 공고 점수화
- 8개의 다양한 채용 소스를 병렬로 검색하여 1분 이내에 결과 도출
- GPU 없이 CPU만으로 구동 가능한 가벼운 모델 활용
구직 활동은 탭 지옥입니다.
LinkedIn, Indeed, RemoteOK, Glassdoor를 엽니다. 똑같은 공고를 다시 읽습니다. 똑같은 자기소개서를 복사해서 붙여넣습니다. 단순히 피드(feed)를 모아놓고 "AI 기반"이라고 부르는 도구들을 위해 매달 30달러를 지불합니다.
저는 더 나은 무언가를 원했습니다. 그래서 JobRadar를 만들었습니다.
기능
JobRadar는 8개의 채용 소스를 동시에 검색하고, 사용자의 컴퓨터에서 실행되는 로컬 LLM (Large Language Model)을 사용하여 모든 공고를 사용자의 프로필과 비교하여 점수를 매기는 CLI (Command Line Interface) 도구입니다.
python -m jobradar -q "python developer" -p profile.yaml
그게 전부입니다. 8개의 게시판이 병렬로 검색됩니다. 모든 직업은 0-100점으로 점수가 매겨집니다. 결과는 CSV로 저장됩니다. 총 소요 시간은 1분 미만입니다.
로컬 AI 관점
제가 발견한 다른 모든 구직 도구들은 점수 산정을 위해 OpenAI, Claude 등 클라우드 API를 사용합니다. 이는 귀하의 이력서, 검색 기록, 커리어 선호도가 모두 타인의 서버로 전송됨을 의미합니다. 그리고 토큰(token)당 비용을 지불해야 합니다.
JobRadar는 Ollama를 통해 사용자의 CPU에서 qwen3-1.7b (1.1 GB)를 실행합니다. API 키도 필요 없고, 구독도 필요 없으며, 데이터가 기기를 벗어나지도 않습니다. AI는 네 가지 차원에서 각 직업의 점수를 매깁니다:
- 기술 일치도 (Skills match) -- 그들이 필요로 하는 것을 당신이 가지고 있는가?
- 경력 적합도 (Experience fit) -- 당신의 레벨이 일치하는가?
- 급여 적합도 (Salary fit) -- 당신의 범위에 부합하는가?
- 원격 근무 적합도 (Remote fit) -- 당신의 선호도와 일치하는가?
각 직업에는 점수, 등급 (Excellent/Good/Fair/Poor), 그리고 이유를 설명하는 추론 문단이 부여됩니다.
8개의 소스
대부분의 구직 도구는 1~2개의 게시판을 스크래핑(scraping)합니다. JobRadar는 8개를 동시에 공략합니다:
- Remotive -- 원격 근무 직무
- RemoteOK -- 원격 우선 직무
- Jobicy -- 급여 데이터가 포함된 원격 근무 직무
- Himalayas -- 글로벌 원격 근무 직무
- Arbeitnow -- 국제 직무
- Greenhouse ATS -- 15개 기업 채용 페이지 (GitLab, Stripe, Figma 등)
- Ashby ATS -- 15개 기업 채용 페이지 (OpenAI, Anthropic, Linear 등)
- LinkedIn -- 옵트인 (서비스 약관(ToS)을 위반할 수 있음)
Greenhouse 및 Ashby 소스는 기업 채용 페이지 API에서 직접 데이터를 가져옵니다. 스크래핑도, 인증도, 취약성도 없습니다.
점수 산정 방식
프로필 YAML을 정의합니다:
name: Anirudh
title: Backend Engineer
skills:
...
JobRadar는 각 채용 공고(job description)와 사용자의 프로필을 로컬 LLM (Large Language Model)에 전송하고, 점수와 근거가 포함된 구조화된 JSON 데이터를 받아옵니다. 모델은 사용자의 CPU에서 실행되므로 GPU가 필요하지 않습니다. 제 컴퓨터(15GB RAM, GPU 없음)에서는 채용 공고 하나당 약 9초가 소요됩니다.
차별점
| 기능 | JobRadar | 클라우드 기반 도구 |
|---|---|---|
| AI 점수 산정 | 로컬 LLM (무료) | OpenAI API ($$) |
| ... |
웹 대시보드
CLI(Command Line Interface) 외에도, 지원 현황을 추적할 수 있는 칸반(Kanban) 스타일의 파이프라인을 갖춘 FastAPI 대시보드가 있습니다. 필터, 검색, 설정 편집기 등 모든 기능이 3000번 포트에서 로컬로 실행됩니다.
기술 스택
- Python (터미널 UI를 위한 Rich 포함)
- Ollama (로컬 LLM 추론용, 또는 llama.cpp)
- FastAPI (웹 대시보드용)
- SQLite (캐싱용)
- requests + BeautifulSoup (스크래핑용)
사용해보기
git clone github.com/ANIRudH-lab-life/job-radar
cd job-radar
bash setup.sh # Windows의 경우 setup.ps1 실행
...
MIT 라이선스입니다. 특정 업체에 종속되지(vendor lock-in) 않으며, 데이터는 온전히 사용자의 것입니다.
GitHub: github.com/ANIRudH-lab-life/job-radar
이 프로젝트가 유용했다면, 별(star)을 눌러주시면 큰 힘이 됩니다. 개선 아이디어가 있다면 이슈(issue)를 생성해 주세요. 모든 이슈를 읽고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기