본문 바로가기
책상 노트 책상 노트
실무자가 실제로 굴려본 업무도구·업무 자동화 기록

인사 파일 1400개 정리, 되돌리는 데 반나절 쓴 기록

읽는 시간 약 10분

네 법인의 인사 파일이 세 군데 흩어져 있었습니다. 근로계약서, 이력서, 신분증 사본, 통장 사본, 자격증, 4대보험 취득 신고 확인서 같은 것들입니다. 외식 법인은 아르바이트 입퇴사가 잦아서 문서 수가 많고, 시공 법인은 일용직 근로 내용 확인서가 현장별로 쌓입니다. 공유폴더 두 곳과 제 PC의 스캔 폴더까지 합쳐서 세어보니 1,400개 남짓이었고, 파일명은 “스캔_0001.pdf”부터 “김OO 계약서 최종(2).pdf”까지 제각각이었습니다.

이걸 법인별, 사람별 폴더로 옮기고 파일명을 통일하는 작업을 자동화하기로 했고, 결과는 위에 적은 대로입니다. 사흘 중 하루 반이 만드는 시간, 하루가 돌리고 확인하는 시간, 반나절이 잘못 옮겨진 것을 되돌리는 시간이었습니다. 되돌린 건 전체의 6퍼센트쯤인 80여 개 파일이었는데, 이 6퍼센트가 하필 가장 되돌리기 어려운 종류였습니다.

만든 것

AI 에이전트에게 파일 내용을 읽고 어느 사람의 어떤 문서인지 판별하게 한 뒤, 파이썬 스크립트가 그 판별 결과대로 폴더를 만들고 파일을 옮기는 구조였습니다.

  • PDF는 텍스트를 뽑고, 스캔본이라 텍스트가 없으면 문자 인식을 거칩니다.
  • 뽑은 텍스트에서 이름, 법인, 문서 종류를 판별합니다.
  • 법인, 이름, 문서종류와 날짜 순서로 이름을 바꿔 옮깁니다.

첫 시험은 100개로 했습니다. 100개 중 91개가 맞게 분류됐고, 9개는 판별 불가로 남았습니다. 91퍼센트면 쓸 만하다고 판단해서 전체를 돌렸습니다. 이 판단이 되돌리기 반나절의 출발점이었습니다.

전체를 돌리는 데는 세 시간 남짓이 걸렸습니다. 문자 인식이 들어가는 스캔본이 전체의 3분의 2였고, 이 파일들에서 시간이 대부분 갔습니다. 돌아가는 동안 저는 다른 일을 했고, 끝났다는 알림을 받고 폴더를 열었을 때는 사람별 폴더가 100개 남짓 가지런히 생겨 있어서 잠깐은 성공한 줄 알았습니다.

인사 파일 수와 되돌린 파일 수, 걸린 시간을 숫자로 정리한 도해

무엇이 잘못 옮겨졌나

전체를 돌리고 사람별 폴더를 열어보면서 세 가지 유형의 오류를 찾았습니다.

  • 동명이인. 외식 법인에 같은 이름의 직원이 두 명 있었고, 시공 법인의 전 직원과 이름이 같은 사람도 있었습니다. 에이전트는 이름만으로 사람을 나눴기 때문에 세 사람의 서류가 한 폴더에 섞였습니다. 신분증 사본이 섞였다는 뜻입니다.
  • 문서 안의 다른 이름. 근로계약서에는 근로자 이름과 대표자 이름이 함께 나옵니다. 스캔 상태가 나쁜 파일에서 근로자 이름을 못 읽으면 에이전트가 대표자 이름을 사람 이름으로 잡았습니다. 대표 이름의 폴더가 생기고 거기에 계약서 열 몇 장이 들어가 있었습니다.
  • 문서 종류 오판. 통장 사본과 급여 이체 동의서가 서로 바뀐 경우, 이력서와 자기소개서가 합쳐진 경우가 있었습니다. 이건 이름 오류보다 가벼웠지만, 나중에 서류를 찾을 때 신뢰를 깎는 종류의 오류입니다.

100개 시험에서 이 오류들이 안 나온 이유는 단순했습니다. 100개를 스캔 폴더 앞쪽에서 뽑았고, 앞쪽은 최근 파일이라 스캔 상태가 좋고 동명이인이 없었습니다. 시험 표본이 전체를 대표하지 않았던 겁니다. 오래된 파일일수록 팩스 수신본이나 복사기 스캔본이라 글자가 흐렸고, 에이전트의 판별 정확도는 그런 파일에서 눈에 띄게 떨어졌습니다.

문자 인식이 흔들린 자리

스캔본의 문자 인식 결과를 따로 열어보니 오류 유형이 보였습니다. 팩스 수신본은 글자가 번져서 이름의 받침이 다른 글자로 읽혔고, 복사기 스캔본은 기울어진 채 찍혀서 표 안의 글자가 줄이 어긋나게 읽혔습니다. 이름 한 글자가 다르게 읽히면 에이전트는 그 이름의 폴더를 새로 만들었습니다. 그래서 같은 사람의 폴더가 두 개 생긴 경우도 스무 건 가까이 있었습니다. 동명이인이 한 폴더에 합쳐진 것과 정반대의 오류가 같은 원인에서 나온 겁니다.

이 문제는 인식 도구를 바꾸는 것으로는 크게 나아지지 않았습니다. 다른 도구로 같은 파일을 다시 읽혀봤는데 틀리는 파일이 조금 바뀔 뿐 틀리는 비율은 비슷했습니다. 원본 품질의 한계였고, 그렇다면 인식 결과를 믿지 않는 쪽으로 절차를 짜야 했습니다.

잘못 옮겨진 세 가지 유형과 시험에서 놓친 이유를 단계로 정리한 도해

되돌리기가 어려웠던 이유

파일을 옮길 때 원본 위치를 기록하게 만들어 두긴 했습니다. 그래서 잘못 옮겨진 것을 원래 자리로 되돌리는 것 자체는 가능했습니다. 어려웠던 건 어떤 것이 잘못 옮겨졌는지 찾는 일이었습니다. 동명이인 폴더에 서류 40개가 섞여 있으면, 어느 것이 누구 것인지는 결국 사람이 열어서 신분증 사진과 주민번호 앞자리를 보고 가려야 했습니다. 이 작업이 반나절이었고, 그 반나절 동안 제가 한 일은 직원들의 개인정보를 한 장씩 들여다보는 것이었습니다.

여기서 이 자동화의 진짜 문제를 알게 됐습니다. 인사 파일은 잘못 분류됐을 때 되돌리는 비용이 다른 파일과 다릅니다. 견적서가 엉뚱한 폴더에 들어가면 찾아서 옮기면 끝이지만, 한 사람의 신분증 사본이 다른 사람 폴더에 들어가 있는 건 그 자체로 관리 사고에 가깝습니다. 91퍼센트 정확도가 견적서 정리에는 충분하고 인사 파일 정리에는 부족한 이유가 이것입니다. 정확도를 따질 때 판별 불가로 남은 경우와 잘못 분류된 경우를 구분하고, 오분류가 어떤 문제로 이어지는지도 같이 따졌어야 했습니다.

되돌리는 동안 한 가지 더 신경 쓰인 것이 있었습니다. 첫 시도에서 스크립트가 파일을 옮긴 뒤 공유폴더가 그날 밤 백업됐다는 점입니다. 잘못 섞인 상태의 폴더 구조가 백업본에도 한 벌 남은 겁니다. 되돌린 다음 날 백업이 다시 돌면서 덮어씌워지긴 했지만, 개인정보가 섞인 상태가 하루 동안 두 곳에 있었다는 사실은 남습니다. 인사 파일을 대량으로 옮기는 작업은 백업 주기까지 같이 보고 시점을 잡아야 한다는 걸 이때 배웠습니다.

첫 시도와 지금의 파일 이동 방식을 좌우로 비교한 도해

판별은 기계, 이동은 승인한 줄만

전면 자동 이동은 걷어냈고, 지금은 이렇게 합니다.

  • 에이전트는 판별만 하고 옮기지 않습니다. 결과를 표로 내놓으면 제가 표를 보고 승인한 줄만 스크립트가 옮깁니다. 표 한 줄을 보는 데 몇 초면 되니 1,400개 전부를 봐도 두 시간 안팎입니다. 반나절 되돌리기보다 쌉니다.
  • 사람은 이름이 아니라 입사일과 법인을 함께 써서 구분합니다. 동명이인이 있는 법인은 폴더명에 입사 연월을 붙입니다.
  • 판별 확신이 낮은 파일은 표에서 따로 색을 달리했고, 이런 파일은 제가 열어봅니다. 스캔 상태가 나쁜 옛 파일이 대부분 여기 들어갑니다.
  • 신분증 사본과 통장 사본은 자동화 대상에서 아예 뺐습니다. 수가 많지 않고, 잘못 갔을 때 비용이 가장 큰 종류라서 손으로 옮깁니다.
  • 새 파일은 스캔하는 시점에 규칙대로 이름을 붙입니다. 쌓인 뒤에 정리하는 것보다 쌓일 때 정리하는 게 결국 싸다는 걸 이 일로 다시 확인했습니다.

두 번째 시험 표본은 일부러 나쁘게 짰습니다. 법인별로 스물다섯 개씩, 그중 절반은 3년 이상 된 파일에서, 동명이인이 있는 사람의 서류는 반드시 포함해서 100개를 만들었습니다. 이 표본으로 돌리니 정확도가 91퍼센트에서 74퍼센트로 떨어졌습니다. 첫 시험의 91이 거짓이었던 게 아니라, 첫 표본이 쉬운 파일이었던 겁니다. 74라는 숫자를 보고 나니 전면 자동 이동은 선택지에서 자연스럽게 빠졌습니다.

정리하면서 부산물도 하나 있었습니다. 퇴사한 지 오래된 사람의 서류가 현직자 서류와 같은 폴더 구조에 섞여 있어서, 퇴사자는 법인별로 따로 모아 연도별 폴더로 나눴습니다. 이 서류들의 보관 기간과 폐기 시점은 이번 정리 범위 밖이라 손대지 않았지만, 적어도 어디에 무엇이 있는지는 처음으로 목록이 생겼습니다.

이 방식으로 다시 정리하는 데 이틀이 들었습니다. 사흘 걸린 첫 시도보다 짧았고, 되돌리기는 없었습니다. 판별 표를 보면서 승인하는 두 시간이 지루하긴 했지만, 그 두 시간 동안 동명이인 세 건과 대표자 이름 오판 열두 건을 표에서 미리 걸렀습니다. 첫 시도에서 반나절을 들여 되돌린 것들이 표 단계에서 몇 초씩에 걸러진 셈입니다.

항목첫 시도지금
옮기는 주체스크립트가 바로사람이 승인한 줄만
사람 구분이름이름과 법인과 입사 연월
시험 표본최근 100개시기별, 법인별로 섞은 100개
신분증, 통장 사본포함제외, 손으로
되돌리기반나절없음

가장 나쁜 파일을 섞어서 시험합니다

  • 시험 표본은 가장 나쁜 파일을 일부러 섞어서 만듭니다. 잘 되는 것만 골라 시험하면 잘 된다는 결과밖에 안 나옵니다.
  • 정확도의 기준은 파일 종류마다 다릅니다. 잘못됐을 때 되돌리는 비용이 큰 파일일수록 자동으로 옮기는 범위를 좁힙니다.
  • 판별과 실행을 나눕니다. 판별은 기계가 해도 되지만, 개인정보가 든 파일의 이동은 사람이 승인한 뒤에만 실행되게 합니다.
  • 이름은 사람을 특정하는 키가 아닙니다. 직원 수가 몇십 명만 넘어도 동명이인은 나옵니다.
  • 대량 이동은 백업 주기를 보고 시점을 잡습니다. 잘못 옮긴 상태가 백업에 찍히면 되돌릴 곳이 하나 더 늘어납니다.

인사 파일 정리를 자동화하겠다고 했을 때 걱정했던 건 시간이었습니다. 정작 문제가 된 건 시간이 아니라, 틀렸을 때 그 틀림이 어떤 종류의 사고가 되느냐였습니다. 그 질문을 먼저 했다면 신분증 사본은 처음부터 목록에서 빠졌을 겁니다.

이어서 읽을 기록

책상 노트 운영자
함께 보면 좋은 글
error: Content is protected !!