본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 18:41

LangChain, Streamlit, Gemini를 사용하여 AI 이력서 스크리닝 에이전트 구축하기

요약

LangChain, Streamlit, Gemini API를 활용하여 PDF 이력서와 직무 기술서를 비교 분석하는 AI 에이전트 구축 방법을 소개합니다. 매칭 점수 산출, 기술 스택 비교, 채용 권고 사항 생성 등 자동화된 스크리닝 워크플로우를 구현합니다.

핵심 포인트

  • LangChain과 Gemini API를 이용한 AI 에이전트 구현
  • Streamlit 기반의 직관적인 웹 인터페이스 구축
  • PDF 텍스트 추출 및 직무 기술서 비교 자동화
  • 무료 티어를 제공하는 Gemini API 활용 가이드

채용 담당자들은 종종 이력서를 검토하고 직무 기술서(Job Description)와 후보자를 비교하는 데 수 시간을 소비합니다. 만약 AI를 사용하여 이 과정을 자동화할 수 있다면 어떨까요?

이 튜토리얼에서는 Python, Streamlit, LangChain, 그리고 Google의 Gemini API를 사용하여 AI 기반 이력서 스크리닝 에이전트(Resume Screening Agent)를 구축하는 방법을 보여드리겠습니다. 이 애플리케이션은 PDF 이력서를 읽고, 이를 직무 기술서와 비교하며, 일치하는 기술과 누락된 기술을 식별하고, 매칭 점수를 계산하며, 채용 권고 사항을 생성할 수 있습니다.

*🎥 비디오 튜토리얼
*

전체 단계별 튜토리얼을 여기서 시청하세요:

YouTube: https://github.com/itsmdshahin/Resume-Agent

우리가 만드는 것

이 애플리케이션은 사용자에게 다음 기능을 제공합니다:

이력서 PDF 업로드
직무 기술서 붙여넣기
분석(Analyze) 클릭
AI가 생성한 평가 결과 수령

*AI가 제공하는 정보:
*

✅ 매칭 점수 (Match Score)

✅ 일치하는 기술 (Matching Skills)

✅ 누락된 기술 (Missing Skills)

✅ 경력 분석 (Experience Analysis)

✅ 강점 및 약점 (Strengths & Weaknesses)

✅ 채용 권고 (Hiring Recommendation)

*프로젝트 아키텍처 (Project Architecture)
*

워크플로우는 단순하지만 강력합니다:

이력서 PDF

PDF 텍스트 추출 (PDF Text Extraction)

Gemini AI 분석 (Gemini AI Analysis)

직무 기술서 비교 (Job Description Comparison)

후보자 평가 보고서 (Candidate Evaluation Report)

수동으로 이력서를 검토하는 대신, AI가 기술 채용 담당자처럼 동작하여 초기 스크리닝을 자동으로 수행합니다.

*기술 스택 (Tech Stack)
*

이 프로젝트를 위해 다음을 사용했습니다:

Python
Streamlit
LangChain
Google Gemini API
PyPDF
Python Dotenv

이 스택은 가볍고 초보자가 사용하기 쉬우며, AI 기반 웹 애플리케이션을 구축하는 데 매우 적합합니다.

왜 Gemini를 선택했는가

많은 AI 튜토리얼은 유료 API에 의존합니다.

이 프로젝트에서는 개발자와 학생들이 추가 비용 없이 따라 할 수 있는 것을 원했습니다.

Google의 Gemini API는 관대한 무료 티어(Free tier)를 제공하므로 AI 애플리케이션 개발을 학습하기에 이상적입니다.

사용자 인터페이스 구축하기

프론트엔드는 Streamlit을 사용하여 구축되었습니다.

애플리케이션 구성 요소:

이력서 업로드

사용자가 PDF 이력서를 업로드합니다.

*직무 기술서 입력 (Job Description Input)
*

채용 담당자가 대상 직무 기술서를 붙여넣습니다.

분석 버튼 (Analyze Button)

AI 워크플로우 (workflow)를 트리거합니다.

목표는 인터페이스를 단순하고 실용적으로 유지하는 것이었습니다.

PDF 이력서에서 텍스트 추출하기 (Extracting Text from PDF Resumes)

첫 번째 과제는 PDF 파일을 읽는 것입니다.

PyPDF를 사용하여 이력서의 모든 페이지에서 텍스트를 추출하고 이를 하나의 문서로 결합합니다.

from pypdf import PdfReader

reader = PdfReader(uploaded_file)

resume_text = ""

for page in reader.pages:  
    resume_text += page.extract_text()

이제 AI가 지원자의 이력서 내용에 접근할 수 있습니다.

LangChain과 Gemini 연결하기 (Connecting Gemini with LangChain)

다음으로, LangChain을 통해 Gemini를 연결합니다.

from langchain_google_genai import ChatGoogleGenerativeAI

llm = ChatGoogleGenerativeAI(  
    model="gemini-2.5-flash",  
    google_api_key=api_key  
)

이를 통해 구조화된 프롬프트 (prompt)를 전송하고 Gemini로부터 지능적인 응답을 받을 수 있습니다.

프롬프트 엔지니어링 (Prompt Engineering)

단순히 Gemini에게 이력서를 요약하라고 요청하는 대신, 숙련된 기술 채용 담당자 (technical recruiter)처럼 행동하도록 지시합니다.

프롬프트 예시:

이 이력서를 직무 기술서와 비교하세요.

다음 항목을 제공하세요:

  1. 일치 점수 (Match Score)
  2. 일치하는 기술 (Matching Skills)
  3. 누락된 기술 (Missing Skills)
  4. 강점 (Strengths)
  5. 약점 (Weaknesses)
  6. 최종 권장 사항 (Final Recommendation)

이를 통해 일반적인 AI 모델을 전문적인 이력서 스크리닝 어시스턴트로 변모시킵니다.

지원자 분석 (Candidate Analysis)

이력서와 직무 기술서가 모두 준비되면, Gemini가 평가를 수행합니다.

출력 예시:

일치 점수: 82%

일치하는 기술:

  • Python
  • Node.js
  • AWS

누락된 기술:

  • Rust

강점:

  • 백엔드 개발 (Backend Development)
  • 클라우드 경험 (Cloud Experience)

약점:

  • 제한적인 Rust 경험

권장 사항:
적합함 (Good Match)

이를 통해 채용 담당자는 지원자의 적합성을 빠르게 파악할 수 있습니다.

이 프로젝트가 중요한 이유 (Why This Project Matters)

이 프로젝트는 다음과 같은 여러 실무 AI 엔지니어링 개념을 보여줍니다:

  • 문서 처리 (Document Processing)
  • 프롬프트 엔지니어링 (Prompt Engineering)
  • LLM 통합 (LLM Integration)
  • AI 에이전트 (AI Agents)
  • 웹 애플리케이션 개발 (Web Application Development)

더 중요한 것은, 이 프로젝트가 실제 비즈니스 문제를 해결한다는 점입니다.

많은 기업이 단일 직무에 대해 수백 개의 지원서를 받습니다. AI 기반 스크리닝 도구는 채용 담당자가 유능한 후보자를 더 빠르게 식별하도록 도우면서 수동 작업의 노력을 크게 줄여줄 수 있습니다.

향후 개선 사항

이것은 단지 버전 1 (Version 1)일 뿐입니다.

잠재적인 업그레이드 사항은 다음과 같습니다:

다중 이력서 순위 지정 (Multi-Resume Ranking)
여러 개의 이력서를 업로드하고 후보자의 순위를 자동으로 매깁니다.

LangGraph 통합 (LangGraph Integration)
애플리케이션을 진정한 AI 에이전트 워크플로 (AI agent workflow)로 전환합니다.

ATS 점수 산정 (ATS Scoring)
지원자 추적 시스템 (Applicant Tracking System, ATS) 호환성 점수를 생성합니다.

면접 질문 생성기 (Interview Question Generator)
후보자의 경력을 바탕으로 맞춤형 면접 질문을 생성합니다.

후보자 데이터베이스 (Candidate Database)
향후 검토를 위해 Supabase에 후보자 보고서를 저장합니다.

마치며

AI 애플리케이션을 구축하는 것이 그 어느 때보다 쉬워졌습니다.

Python, Streamlit, LangChain, 그리고 Gemini를 사용하면 실제 비즈니스 문제를 해결하는 실용적인 AI 기반 도구를 만들 수 있습니다.

이 이력서 스크리닝 에이전트 (Resume Screening Agent)는 AI, 웹 개발 (Web Development), 그리고 자동화 (Automation)를 하나의 애플리케이션으로 결합한, 초보자 친화적인 훌륭한 프로젝트입니다.

만약 여러분이 LangChain, AI 에이전트 (AI Agents), 또는 생성형 AI (Generative AI)를 배우고 있다면, 이론에만 집중하기보다 이와 같은 프로젝트를 직접 구축해 보기를 강력히 추천합니다.

읽어주셔서 감사합니다!

이 내용이 도움이 되었다면, 전체 영상 튜토리얼과 소스 코드를 확인해 보세요.

🎥 YouTube Tutorial: hhttps://youtu.be/lQRI-anzIHI

💻 GitHub Repository: https://github.com/itsmdshahin/Resume-Agent

즐거운 코딩 되세요! 🚀

ai #python #langchain #gemini #streamlit #machinelearning #webdev #programming #tutorial #developers

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0