[실습 문서] 클로드 코드로 다운로드 받은 이력서 PDF 파일들을 검토하게 하기

소개

현재 저는 PDF로 이력서를 받아서 검토하는 것을 클로드 코드로 자동화를 시도하고 있습니다.

이 과정에서 어떻게 하면, PDF 이력서 파일 하나당 하나의 컨텍스트 윈도 내에서 평가할 수 있을까? 하는 생각이 들었어요. 그걸 해결하기 위해서는 클로드 코드를 마치 쉘 명령어처럼 사용하여 일괄 처리 (batch processing) 할 수 있는 것을 알게 되어 그 간단한 과정을 실습할 수 있는 실습안을 짜 보았습니다.

9/15 진행한 라이브 실습 사후 자료

전체 실습 내용

  1. Parse (SemTools, 클로드 코드가 pdf, docx, pptx를 다룰 수 있게 하는 툴) 설치

  2. 이력서 내의 링크를 평가하는 서브 에이전트 생성

  3. 이력서 평가를 일괄 처리하는 스크립트 생성

  4. 일괄 처리 실행!

1. Parse (SemTools) 설치

  • PDF, DOCX, PPTX 등의 파일을 .MD 텍스트 파일로 변환해 주는 Parse라는 쉘 명령어 어플리케이션을 설치합니다.

1.1 설치

  • 터미널 열기

  • 설치 명령어 실행

npm i -g @llamaindex/semtools
  • 설치 성공했는지 확인 (parse 부터가 명령어)

parse --version
  • 결과로 semtools 1.2.3 과 같이 버전이 나오면 설치 성공

1.2 LlamaIndex API 키 발급

  • https://cloud.llamaindex.ai/ 방문하여 가입

  • 왼쪽 내비게이션 바의 하단의 API Keys 선택

  • 상단 오른쪽의 Generate New Key 선택

  • 이름 아무거나 지정, Project는 Default로 선택하고 Create secret key 누르기

  • 생성된 API Key를 Copy클릭해서 복사하여 메모장 등에 붙여 넣기 해 두기

    • 예시 키: llx-jQYG9ICMzrR69rmHuGh7ik517N3vq4gJoTGzmD8O5rTsVTD2

1.3 프로젝트 폴더 생성 및 Parser 테스트

  • Cursor(혹은 VSCode) 실행

  • Open project 메뉴를 선택해서 resume-demo 폴더 생성

  • 윈도 파일 탐색기 (혹은 macOS 파인더 사용해서) 아까 다운로드 받은 CLAUDE.md 파일을 해당 폴더로 복사하기

  • 아래 압축 파일을 다운로드 받기

    • resume-demo-files.zip

    • (실습을 위해서, 지피터스에서 채용하려는 AI 응용 엔지니어 (AI Applied Engineer)의 직무 요건을 정리한 jd-aae.md 파일과, 이런 직무를 평가하기 위한 평가표 rubrics-aae.md 파일은 챗GPT와 대화하고 제가 직접 리뷰하여 먼저 생성해 두었습니다)

    • (포함된 레주메는 인터넷 공간에 퍼블릭하게 공개되어 있는 레주메를 다운로드 받은 것입니다)

  • 압축 푼 뒤에 나오는 폴더 안의 파일들을 resume-demo 폴더로 이동시키기

1.4 Parse 쓰기 위한 설정 파일 (.parse_config.json) 생성

  • 아래 JSON 포맷을 복사해서 메모장 등에 붙여 넣은 뒤, 아까 복사해둔 API 키 입력

아래 내용으로 .parse_config.json 이라는 파일을 만들어줘. 만들어진 파일을 사용자 홈폴더에 이동시킨 뒤에, 사용자 홈 폴더에 파일이 제대로 이동했는지 쉘 명령어 cat으로 확인해줘.

{
  "api_key": "여기에 발급 받은 키 넣고 문자열 삭제",
  "num_ongoing_requests": 10,
  "base_url": "https://api.cloud.llamaindex.ai",
  "check_interval": 5,
  "max_timeout": 3600,
  "max_retries": 10,
  "retry_delay_ms": 1000,
  "backoff_multiplier": 2.0,
  "parse_kwargs": {
    "parse_mode": "parse_page_with_agent",
    "model": "openai-gpt-4-1-mini",
    "high_res_ocr": "true",
    "adaptive_long_table": "true",
    "outlined_table_extraction": "true",
    "output_tables_as_HTML": "true"
  }
}
  • API 키를 업데이트 한 위의 내용을 다시 복사하여 클로드 코드에게 명령하기

  • 클로드가 파일을 만들고, 이동시킨 뒤, 내용을 확인하는 것을 눈으로 확인하기

1.5 Parse 툴 테스트 해 보기

  • 커서 종료 후 재실행 - 위에서 만든 JSON 설정이 유효하도록 하는 것

  • Cursor 내에서 Claude Code 실행 후 아래 명령어 실행

Parse를 이용해서 resume-pdf/resume.pdf 한글로 요약해줘
  • 이력서 요약 사항이 잘 나오는지 확인

2. 서브 에이전트 생성

  • 하나의 .MD 파일에 대해서 복잡한 작업을 하는 두 개의 서브 에이전트를 생성합니다.

1. 링크 분석기 에이전트 생성

  • Claude Code에서 /agents 명령어 실행

  • Create new agent 선택

  • 1. Project (/claude/agents/) 선택

  • Generate with Claude (recommended) 선택

  • 아래 프롬프트 입력

이름 - link-evaluator

입력 - 채용 후보자의 이력이 담긴 .md 파일, JD가 담긴 .md 파일, 평가를 위한 루브릭이 작성된 .md 파일

실행 - 주어진 채용 후보자의 .md 파일 내의 웹 링크를 모두 찾아서, 각각의 웹 페이지를 방문한 뒤 주어진 rubric의 평가에 필요한 내용을 간결하게 정리하여, 그 정리된 내용을 채용 후보자의 .md 파일에 섹션을 추가하여 저장하는 서브 에이전트. 전체 수행하는 시간을 줄이기 위해서 최소한으로 필요한 액션만 할 것. rubric 파일을 참고해서 평가하지 말것. 웹 검색하여 후보자 평가에 도움이 되는 정보만 취합할 것.
  • [ Continue ] 선택

  • Sonnet 선택

  • Automatic color 선택

  • 만들어진 Agent를 설명하는 화면이 뜨면, 내용을 확인하고 Enter

  • 바뀐 화면에서 Project agents 아래에 새롭게 Agent가 만들어 진 것을 확인

  • 확인 후, ESC 눌러서 대화창으로 복귀

3. 일괄 처리 스크립트 생성

  • 클로드 코드에서 아래 프롬프트로 일괄 처리하는 쉘 스크립트를 생성하기




resume-pdf 폴더에는 이력서들이 pdf 파일 형태로 있어. 아래의 작업을 할 스크립트를 작성해줘 (macOS에서는 process-resume.sh, 윈도에서는 process-resume.bat -- 둘 중 하나만). 가장 간결하게 짜줘. 

resume-pdf 폴더에 있는 모든 이력서 pdf 파일에 대해서 아래 작업 반복:

1. 개별 pdf 파일의 이름에 공백이 있는 경우, 아예 이력서 파일 이름을 공백을 "-" 등의 문자로 대치하여 이름을 바꾸기
2. 개별 pdf 파일이 같은 이름의 .md 파일이 ./resume-md 폴더에 없는 경우, parse를 써서 .md 파일로 바꿔서 ./resume-md 폴더에 새로 저장
3. `claude --alowedTools "Bash Read Write Edit WebSearch WebFetch" --permission-mode acceptEdits --output-format text -p` 명령어에 아래의 프롬프트를 붙여서 실행하여 방금 생성한 .md 파일 형태의 이력서에 대해서 조사하고 평가를 하게 해줘. 
 - 프롬프트 = "이력서 .md 파일 $file과 jd-aae.md 직무 소개 문서, 그리고 rubrics-aae.md 루브릭을 알려주면서 서브 에이전트 link-evaluator를 실행해줘. link-evaluator가 이력서 내의 웹 링크 내용을 정리해서 이력서 .md 파일에 추가해줘. 그런 다음, 내용이 추가된 이력서 .md 파일을 rubrics-aae.md에 맞게 평가하여, review-results.md 파일에 후보자 평가 결과를 간결하게 추가해줘. 모두 한글로 해줘."

유의점
- parse 명령어는 stdout으로 출력하는게 아니라 파일로만 출력해
- 윈도에서는 배치 파일을 UTF-8 인코딩으로 작성해줘

스크립트가 어떻게 동작하는지 볼 수 있도록 중간에 터미널에 진행 상황에 대해서 설명해 주는 영어 메시지를 남기도록 작성해줘. 스크립트 내에는 한글이 쓰이지 말아야 해. 작성한 스크립트를 실행하지 말고, 파일로 작성만해줘. 만든 스크립트를 실행가능하게 속성을 바꿔줘.
  • 커서의 왼쪽 사이드바에 macOS의 경우 process-resume.sh (윈도의 경우 process-resume.bat) 생성된 것을 확인

4. 일괄 처리 스크립트 실행

4.1 처리 상황을 볼 수 있는 별도 창 열기

  • Cursor에서 CMD+SHIFT+N(윈도 CTRL+SHIFT+N)을 눌러서 새로운 창 띄우기

  • Open project 선택

  • CMD+SHIFT+.(윈도 CTRL+SHIFT+.)을 눌러서 감춰진 파일 보이게 하기

  • .claude/projects/ ... resume-demo 폴더 선택

  • 왼쪽 사이드 바에 새롭게 생기는 JSONL 파일들이 클로드 코드의 동작 내용입니다.

    • 클로드 코드를 실행해서 일을 시키면, 대화 세션마다 JSONL 파일 생성

    • 가로로 스크롤링하면, 클로드 코드가 일을 처리하는 텍스트를 볼 수 있음

4.2 일괄 처리 스크립트 실행

  • Cursor에서 CMD+J 단축키 눌러서 터미널 띄우기

  • 터미널에서 macOS에서는 ./process-resume (윈도에서는 process-resume.bat) 실행

  • 이력서 검토가 진행되면서 새 창에의 JSONL 파일에 클로드 코드가 로그 남기는 걸 보실 수 있습니다.

결과와 배운 점

(1) 클로드 코드를 쉘 명령어처럼 써서, 일괄 처리를 할 수 있다는 것

claude -p 명령어를 쓰면, 터미널에서 클로드 코드를 쉘 명령어처럼 쓸 수 있었습니다. 쉘 스크립트를 짜서 claude를 이런 식으로 처리해야 파일(혹은 작업) 하나씩 지정해서 처리하면, 각각의 처리를 깨끗한 컨텍스트 윈도 안에서 처리할 수 있었어요.

하지만, 클로드 코드를 명령어로 실행하는 것은 속도가 좀 느렸습니다. 수백개의 이력서를 두고 처리하게 시키는 것은 또 별도로 병렬처리를 해야 하겠더라구요. 뭔가 배보다 배꼽이 더 커지는 것 같기는 합니다.

(2) 작업이 복잡해질수록 버전 관리가 필요한 것

클로드 코드로 AI 에이전트를 써서 작업하는 것을 만들어 갈수록 이전 상태로 돌려서 다시 시도할 일이 많아 지는데요, 이걸 클로드 코드는 별도로 지원하지 않습니다. 개발자들은 Git을 사용해서 이런 버전 관리를 하기 때문에, 비개발자는 이전 상태로 돌아가는 것을 하려면 Github과 같은 툴을 또 써야 합니다.

코드깎는 노인 - 유튜브 채널에서 이런 문제를 해결하는 간단한 코드를 제공합니다.

프로젝트 폴더에 설치해 두면 쉽게 과거의 버전으로 돌아갈 수 있더라구요.

(3) 클로드 코드는 n8n, Make 와 어떤 차별점이 있는가

클로드 코드는 비개발자가 쓰기에는 쉽게 쓸 수 있는 케이스와 그렇지 않은 케이스들이 나눠지는 것 같습니다.

클코로 자동화가 유리한 케이스

  • 로컬 파일을 다루는 자동화

  • 문서, 웹 사이트 등을 읽고 이에 맞춰서 업무 내용이 바뀌는 에이전틱한 업무 처리 자동화

클코로 자동화가 불리한 케이스

  • 엄격한 프로세스를 따라서 동작해야 하는 자동화는 코딩 지식을 요구함

  • 웹서비스를 연동해서 하는 자동화도 MCP가 가진 한계 때문에 코딩 지식을 요구함

아직까지도 충분히 클로드 코드를 못써봤기 때문에 섣부른 판단일 수도 있습니다만, 대략 이렇게 나뉘는 것 같습니다. 하지만, 확실한 것은 n8n, Make 대비 에이전틱한 업무 처리는 확실히 클로드 코드가 장점이 있는 것 같고, 그게 미래에 좀 더 가까운 업무 자동화가 아닐까 합니다.

6
3개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요