계획은 기능 하나였는데, 만들다 보니 네 곳이 더 늘었습니다.
처음엔 기능이 하나였다
첫 목표는 단순했습니다. 담당자가 수십 개 이력서를 정독하는 자리를 대신하는 것. 이력서를 AI가 먼저 읽고, 공고 요건에 비춰 점수와 근거를 남기면 됐습니다.
이 기능은 지금도 계속 손보고 있습니다. 한때 건당 60초 안팎 걸리던 검토를 10초 내외로 줄인 것이 가장 큰 개선이었습니다. 모델을 바꾼 게 아니라, 모델이 혼자 장황하게 사고하는 단계를 끄고 동시에 도는 검토 수를 제한한 결과였습니다.
검토가 빨라지니 뒤가 밀렸다
문제는 그 다음이었습니다. 서류 검토가 며칠에서 몇 시간으로 줄어들자, 병목이 옆 칸으로 옮겨갔을 뿐이라는 게 드러났습니다.
검토를 자동화해놓고 합격 안내 메일을 한 통씩 손으로 쓰고 있으면, 아낀 시간이 그 자리에서 다시 나갑니다. 그래서 반복이 있는 곳을 따라가며 하나씩 붙였습니다.
| 영역 | 사람이 매번 하던 일 | 지금 |
|---|---|---|
| 안내 발송 | 합격·불합격 안내 문구를 매번 새로 씀 | 템플릿과 초안이 먼저 채워짐 |
| 리포트 | 엑셀과 슬라이드로 재정리 | 운영 리포트 자동 발송, 채용품의서 초안 작성 |
| 콘텐츠 | 공고·채용 페이지 문구를 백지에서 작성 | 주제만 넣으면 초안이 나옴 |
| 문의 | 문의를 읽고 분류하고 답변 작성 | 구조화 분석과 답변 초안 |
안내 발송은 문구 자체보다 "이 사람에게 어떤 톤으로 보낼지"를 매번 다시 정하는 게 일이었습니다. 단계와 지원자 정보를 넣으면 초안이 채워지고, 담당자는 고칠 곳만 고칩니다.
리포트는 채용이 끝난 뒤가 아니라 진행 중에 필요했습니다. 지금 어느 단계에 몇 명이 있고 어디서 막혀 있는지를 매일 아침 메일로 받습니다. 채용품의서처럼 형식이 정해진 문서는 이미 쌓인 데이터로 초안이 만들어집니다.
콘텐츠는 공고와 채용 페이지 문구입니다. 백지에서 시작하는 부담이 실제로 공고 발행을 늦추는 원인이었습니다.
문의는 가장 나중에 붙였고, 가장 조심스럽게 붙였습니다. 이유는 아래에 적었습니다.
의도적으로 넓힌 게 아니라, 하나를 단순하게 만들려다 옆 칸이 눈에 들어온 결과에 가깝습니다.
기준 하나 — 다시 쓰는 것에만 붙인다
이렇게 넓히다 보면 어디까지 붙일지가 문제가 됩니다. 우리가 정한 선은 하나입니다.
사람이 매번 비슷하게 다시 쓰는 것에만 붙인다. 판단에는 붙이지 않는다.
- 붙인 것 — 안내 문구 초안, 공고 초안, 이력서 요약, 면접 질문 제안, 리포트 집계
- 붙이지 않은 것 — 합격과 불합격, 처우 조건, 평가 점수의 확정
초안은 AI가 쓰고 확정은 사람이 합니다. 이 선을 지키면 AI가 틀렸을 때 생기는 일이 "다시 쓴다"에서 멈춥니다. 반대편으로 넘어가면 틀렸을 때 되돌릴 수 없는 일이 생깁니다.
경계에 있던 기능 하나
문의 자동 답변은 이 선의 경계에 있었습니다. 답변은 결국 문구지만, 고객에게 나가는 순간 회사의 말이 됩니다. 틀린 답변은 "다시 쓰면 되는" 문제가 아닙니다.
그래서 켜지 않고 먼저 지켜봤습니다.
그림자 모드 — 만들되 보내지 않는다
그림자 모드는 AI가 답변을 실제로 생성하되 발송은 하지 않고 기록만 남기는 방식입니다. 사람이 보낸 답변과 AI가 만든 답변을 나란히 두고 비교할 수 있습니다.
며칠 지켜보니 그대로 나가면 안 되는 답이 섞여 있었습니다. 가장 위험했던 유형은 확인되지 않은 수정을 "고쳤습니다"라고 통보하는 경우입니다. 문의 내용만 보면 그럴듯한 답이지만, 실제로 고쳐졌는지는 AI가 알 수 없습니다. 이 답이 나갔다면 고객은 해결됐다고 믿고 화면으로 돌아갔을 것이고, 문제는 그대로 있었을 겁니다. 그리고 그 사실은 다음 문의가 들어올 때까지 아무도 모릅니다.
관측에서 드러난 이런 유형 세 가지를 막는 조건을 먼저 걸었습니다. "고쳤다"는 통보는 실제 수정 근거가 있을 때만 나가도록 하는 것이 그중 하나입니다. 자동 답변을 실제로 켜는 문제는 그 뒤에야 검토 대상이 됐습니다.
모델보다 배관이 더 자주 문제였다
AI 기능을 운영해보고 알게 된 것 하나를 덧붙입니다. 실패는 대부분 모델이 틀려서가 아니라 응답이 오지 않아서 생겼습니다.
한동안 이력서 검토가 간헐적으로 실패했습니다. 같은 이력서를 다시 넣으면 성공하니 원인을 찾기 어려웠는데, 확인해보니 호출의 상당수가 응답 없이 버려지고 있었습니다. 느린 게 아니라 아예 답이 오지 않는 것이었습니다.
고친 방법은 모델 교체가 아니라 짧게 끊고 여러 번 다시 부르는 것이었습니다. 오래 기다리는 대신 빨리 포기하고 재시도하니 체감 실패가 사라졌습니다.
AI 기능의 안정성은 모델 선택보다 이런 배관 설계에서 결정되는 경우가 많습니다. 화면에 "실패"라고 뜨는 순간 사용자에게는 모델이 멍청한 것으로 보인다는 점도 같이 배웠습니다.
남겨둔 자리
지금도 AI를 붙이지 않은 곳이 있습니다. 합격과 불합격, 처우 조건, 평가 점수의 확정입니다.
기술적으로 못 해서가 아닙니다. 이 셋은 틀렸을 때 되돌릴 수 없는 판단이고, 되돌릴 수 없는 판단에는 책임질 사람이 있어야 합니다. AI는 책임을 질 수 없습니다.
이 자리는 계속 사람의 것으로 두려고 합니다.
이 시리즈의 첫 글은 HATS라는 이름 — 줄임말, 그리고 분류모자입니다.