tanghoong cv

사례 02 · 주요 사례

멈출 수 없는 서류 업무에서 타이핑을 걷어내기

  • 운영 중 —— 비밀유지계약으로 상세 비공개

OCR과 LLM을 결합한 파이프라인으로 대량 해운 서류 업무의 수기 입력을 크게 줄였습니다 —— 원천 시스템에 API가 없고 교체할 수도 없는 운영 환경에서.

역할
Senior Business Process Specialist
역량
응용 AI · 업무 자동화 · 운영 책임
영역
글로벌 컨테이너 해운 —— 재무·물류 운영
제약
원천 시스템에 API가 없고, 쓸 만한 웹 화면조차 없는 경우가 많음
Documents becoming structured records, through a human review stepShipping documents are read by OCR into per-format panels, extracted by a language model, then held in a human review queue. Nothing is committed to the database until a person has checked it.DocumentsOCR panelsper formatLLMHuman reviewqueueDBNothing commits before a person has checked it
Anonymised. No client name, no industry, no real endpoints.

배경

글로벌 컨테이너 해운 회사의 말레이시아 지사에서 Senior Business Process Specialist로 일했습니다. 팀은 작았고 —— 사실상 저와 동료 한 명 —— 의사결정 관문은 다른 두 나라에 있었습니다. 재무와 물류 담당자들은 매일 많은 양의 해운 서류를 읽고 그 내용을 손으로 시스템에 입력하고 있었습니다.

과제와 불분명했던 점

이 일이 실제로 어떻게 이뤄지는지 적어 둔 사람이 아무도 없었기 때문에, 첫 단계는 자동화가 아니라 발굴이었습니다. 서류 상태는 편차가 컸습니다. 기계가 만든 깨끗한 파일부터, 재무가 전화로 물어보는 수밖에 없을 만큼 나쁜 자료까지 있었습니다. 그리고 양쪽 끝의 시스템은 서로 독립적이었습니다: API가 없고, 쓸 만한 웹 화면조차 없는 경우가 많았습니다. 교체는 처음부터 선택지가 아니었고, 비용 하나만으로 기각되었습니다.

내 역할

문서가 없던 재무·물류 업무를 분석해, 수작업이고 반복적이며 실수가 잦은 공정 중 어떤 것이 자동화할 가치가 있는지 판단했습니다. 이 서류 파이프라인을 설계하고, 그 Python 백엔드 API를 만들고, 주변 RPA를 개발·배포했습니다.

요구사항 파악

실제로 일하는 사람 옆에 앉아, 업무 흐름도에 적힌 것이 아니라 실제로 일어나는 것을 기록하고, 후보가 되는 각 공정을 하나의 질문으로 검증했습니다: 이 공정을 자동화한 뒤 어느 화요일 아침 9시에 멈추면, 업무는 어떤 방식으로 계속되는가?

설계와 트레이드오프

LLM 단독 추출이 아니라 OCR과 LLM의 조합을 택했습니다. 이것은 시점이 있는 판단이며, 당시로서는 옳았습니다: 그때의 LLM 시각 능력으로는 실제 서류에서 안정적으로 항목을 뽑아낼 수 없었기 때문에, OCR이 양식별 판독 화면으로 흘려보내고 위치를 아는 항목은 마스크로 위치에서 뽑아내며, 언어 모델에는 정말 잘하는 부분만 맡겼습니다. 연동은 의도적으로 침습적이지 않게 했습니다 —— 이미 있는 것에서 읽는 것이지, 바꿀 생각이 없는 기간 시스템을 교체하라고 기업에 요구하는 것이 아닙니다. 당시 제 정리는 이랬습니다: 제약이 너무 많으니 돌아갈 수밖에 없다 —— 지금도 그것이 대부분의 기업 AI 업무에 대한 가장 정직한 설명이라고 생각합니다.

구현과 연동

Python 백엔드 API가 양식별 추출 화면과 확인 큐를 받칩니다. 자동 처리가 멈춘 지점부터 이어서 할 수 있는 조작 화면도 만들었습니다. 비동기는 RabbitMQ입니다. 전 과정에 검증과 감사 추적이 있습니다. RPA는 재무와 물류에 걸친 데이터 추출, 검증, 대사를 담당합니다.

운영 단계의 장치

가장 자신 있게 옹호할 수 있는 부분입니다. 뽑아낸 값을 데이터베이스에 바로 쓰는 일은 없습니다: 사람이 확인하는 큐에 들어가 거기서 수정되고, 깨끗한 레코드라도 기록 전에 한 번 더 확인합니다. 한 번의 수집이 몇 시간 걸릴 수 있고 언제든 끊길 수 있으므로, 전체를 체크포인트가 있는 노드로 설계해 중단 후에는 기록된 지점부터 이어서 돌립니다 —— 처음부터가 아니라. 작업은 의도적으로 이른 아침에 시작해, 담당자가 출근하는 시점에는 실패가 이미 보이도록 했습니다. 그래야 수작업으로 되돌릴 시간이 남고, 점심 전에 인계할 수 있습니다. 그리고 자동화는 전부 아니면 전무가 아닙니다: 기계가 중간까지 갔다면, 사람이 화면에서 나머지를 이어받을 수 있습니다 —— 노드 그림도 코드도 아니고.

결과

이 업무의 수기 입력 대부분이 사라졌고, 그동안 운영은 한 번도 멈추지 않았습니다. 이 경험에 대해서는 어떤 숫자도 공개하지 않습니다 —— 의도적인 NDA 판단이며, 구두로도 마찬가지입니다.

가져갈 수 있는 배움

여기서 굳어진 설계상의 입장은 지금도 주장합니다: 비용 때문에 기간 시스템을 바꾸지 않는 기업에 대해서는, 올바른 연동 방법은 "운영자 화면에 이미 나와 있는 것에서 읽는 것"입니다. 그리고 업무 안의 사람 확인은 자동화의 부족이 아닙니다 —— 바로 그것이 이 자동화를 도입 가능하게 만든 것입니다.

공개할 수 있는 근거

위에 적은 것이 공개해서 말할 수 있는 범위입니다. 아래는 비공개인 것과 준비 중인 것입니다:

Charlie의 보완 필요 —— 합성한 해운 계열 서류로 만든 클린룸 재현(판독 화면, 확인 큐, 체크포인트 재개 포함)은 항목 P4로 계획되어 있으며 아직 만들지 않았습니다.

이 방식의 배경

답변은 이 사이트에 적힌 내용을 근거로 합니다. 할 가치가 없는 일이라면 그렇게 답합니다.

이야기 나눠요

Forward Deployed Engineer · Forward Deployed AI Engineer · Applied AI Engineer · Solutions Engineer · Customer Engineer · AI Solutions Architect · Technical Delivery Lead

말레이시아 슬랑오르에 거주합니다. 클랑밸리 지역의 고객사 현장 근무(장기 포함), 그리고 싱가포르와 아시아 태평양 지역 프로젝트에 대응합니다. 말레이시아 국적이며 싱가포르로 이주해 일할 수 있습니다 —— 고용주 스폰서의 취업 비자가 필요합니다.