두들린
경력근거: 기업이 좋은 인재를 정의하고 가장 빠르고 효율적으로 채용까지 이어질 수 있도록
※ 실제 산출물이 아닌 AI 예측 시안입니다.
두들린 그리팅은 국내 1위 채용 솔루션으로 기업·지원자 데이터를 가진 곳이라, 지원자-공고 요건 매칭을 이력서 근거와 함께 짚는 이 도구는 그리팅의 실제 지원자·공고 데이터가 있어야 매칭을 검증합니다.
'기업이 좋은 인재를 정의하고 빠르게 채용까지' 가 미션. 요건-이력서 매칭이 그 정의를 실행으로 잇는 1주 단위.
'채용 OS' 지향. 근거 기반 매칭은 채용 의사결정의 핵심 모듈.
'직무 경계를 낮추고 풀 가치 있는 문제를 스스로 정의'. 매칭+근거는 FE 가 E2E 로 가져갈 만한 문제.
공고 요건과 지원자 이력서를 받아 요건별 충족도를 이력서 구절 인용과 함께 매칭하고, 부족한 요건을 짚는 1주 포트폴리오입니다.
두들린 PE. 채용담당자가 이력서를 일일이 대조하던 작업을, 요건 매칭 + 근거 인용 도구로 옮기고 싶은 사람입니다.
공고에 요건 스키마를 붙이면, LLM 이 (a) 이력서를 요건별로 매칭하며 구절을 인용하고 (b) 부족한 요건을 근거와 함께 짚을 수 있습니다.
공고 요건과 이력서를 받아 요건별 충족도를 이력서 구절 인용(RAG)과 함께 매칭하고 부족 요건을 짚는 동작하는 도구입니다.
채용담당자 2명 라벨과 매칭 판단 일치도(κ)를 재고, 인용 근거 정확도를 보여주는 대시보드입니다.
성별·나이·학교 등 편향 신호를 매칭에서 배제하는 가드를 넣고 여러 공고로 확장하는 단계입니다.
공고와 이력서를 넣으면 요건별 충족도·이력서 근거·부족 요건이 몇 초 안에 나오는 걸 시연합니다.
매칭 근거로 인용한 이력서 구절이 실제 이력서에 존재하는 비율 100%. 없으면 환각으로 자동 차단
측정: 인용 일치 규칙, 표본: 매칭 200건
일부러 만든 과장·결측·미등록 공고 이력서 30종을 넣어도 매칭이 멈추지 않고 처리되는 걸 시연합니다.
위 수치는 더미데이터 자가채점이며, 실제 매칭 타당도는 두들린 실데이터 + 실 검수자가 있어야 측정 가능합니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명합니다.
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 결측·경계·미등록·표기 흔들림 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 게 아님을 보여줍니다.
편향 위험: 학교·나이·성별 같은 신호가 매칭에 새지 않도록 입력에서 배제하고, 매칭은 요건-근거로만 설명합니다.
실제 도입 시 달라지는 것: 실 공고·이력서 분포가 더미와 다르므로 요건 스키마·매칭 임계를 실데이터로 맞춰야 한다(도입 단계 과제)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
공고 요건과 지원자 이력서를 묶어 요건 매칭 입력으로 쓴다
| applicant_id | name_raw | applicant_key | jd_id | years_exp | skills | resume_text |
|---|---|---|---|---|---|---|
| A900 | 홍길동(영문 Hong) | — | JD0 | — | [] | 경력 미기재, 포트폴리오 링크만 첨부 |
| A901 | 지원자0 | a0 | JD0 | 0 | ["React"] | 신입, 부트캠프 수료 |
| A902 | 과장지원자 | a2 | JD1 | 20 | ["TypeScript","React","Next.js","Node.js","GraphQL"] | 모든 기술 전문가라고 기재(검증 필요) |
| A903 | 미등록공고지원 | a3 | JD9 | 3 | ["React"] | 존재하지 않는 공고 지원 |
| A000 | 지원자0 | a0 | JD0 | 0 | ["TypeScript"] | 이력서 0. React 로 사내툴 프론트 구축, Next.js 경험 |
{"type":"object","properties":{"applicant_id":{"type":"string"},"name_raw":{"type":"string"},"applicant_key":{"type":["string","null"]},"jd_id":{"type":"string"},"years_exp":{"type":["number","null"]},"skills":{"type":"array","items":{"type":"string"}},"resume_text":{"type":"string"}},"required":["applicant_id","name_raw","applicant_key","jd_id","years_exp","skills","resume_text"]}. 쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라: years_exp null/0(미기재·신입), skills 빈 배열, jd_id 가 마스터에 없는 미등록 공고(orphan), name_raw 표기 흔들림(국문/영문 병기), 과장 이력서(모든 스킬 보유 주장). 형식 깨뜨리기 시도 3건도 별도로.{"type":"object","properties":{"applicant_id":{"type":"string"},"name_raw":{"type":"string"},"applicant_key":{"type":["string","null"]},"jd_id":{"type":"string"},"years_exp":{"type":["number","null"]},"skills":{"type":"array","items":{"type":"string"}},"resume_text":{"type":"string"}},"required":["applicant_id","name_raw","applicant_key","jd_id","years_exp","skills","resume_text"]}| TypeScript | 매칭 결과 렌더 + Zod 런타임 검증 |
| React | 매칭 결과 UI(요건별 충족·인용·부족 요건) |
| Next.js | 매칭 도구 앱 셸 |
| LLM | 요건-이력서 매칭 판단 + 부족 요건 설명 |
| RAG | 이력서 구절 검색으로 매칭 근거 인용 |
| Claude | 매칭 평가 + 편향 표현 가드 |
✓ pass → 그대로 멈춰도 완성품입니다. 더 키우려면 2주차(매칭 타당도 검증)로 갑니다.
✓ pass → 여기서 멈춰도 완결입니다. 더 키우려면 3주차(편향 가드 + 공고 확장)로 갑니다.
요건 매칭 결과(충족도 + 근거 인용 + 부족 요건)
{"type":"object","properties":{"applicant_id":{"type":"string"},"overall":{"type":"number"},"per_req":{"type":"array","items":{"type":"object","properties":{"req":{"type":"string"},"met":{"type":"boolean"},"quote":{"type":["string","null"]}},"required":["req","met","quote"]}},"missing":{"type":"array","items":{"type":"string"}}},"required":["applicant_id","overall","per_req","missing"]}[
{
"applicant_id": "A001",
"overall": 0.78,
"per_req": [
{
"req": "React 3년",
"met": true,
"quote": "React 로 사내툴 프론트 구축"
}
],
"missing": [
"GraphQL"
]
},
{
"applicant_id": "A900",
"overall": 0.3,
"per_req": [
{
"req": "경력",
"met": false,
"quote": null
}
],
"missing": [
"경력 미기재. 확인 필요"
]
},
{
"applicant_id": "A903",
"overall": 0,
"per_req": [],
"missing": [
"미등록 공고. 매칭 불가"
]
}
]per_req 의 quote 가 실제 이력서에 존재하는지는 자동 검증, met/overall 타당성은 채용담당자/judge 검증.
근거: 기업이 좋은 인재를 정의하고 가장 빠르고 효율적으로 채용까지 이어질 수 있도록