sgkstudio.
엔지니어링

컴플라이언스 자동화 — 건당 2시간 광고 검토, 사람 손은 어디에 남겼나

컴플라이언스 자동화에서 사람이 건당 30분에서 2시간 쓰던 광고 수기 검토는 자동 보고서로 바꿀 수 있었지만, 감독기관 제출처럼 되돌릴 수 없는 단계는 끝까지 사람 확인으로 남겼습니다. 룰을 전부 넣고 제출까지 자동으로 잇자는 두 가정은 각각 입력 토큰 427K와 판정이 모호한 회신 앞에서 틀렸습니다. 고친 뒤 입력 토큰은 104K로 76% 줄었고, 자동 제출 판정은 검증 29케이스와 실제 회신 3건에서 오탐 0이었습니다.

2026-09-27처음 잰 숫자 — 광고 수기 검토 건당 30분~2시간, 룰 베이스 10배 이상(수백 개) 확장 후 입력 토큰 427K(평가 데이터 실측)반증 1 — 룰을 매 건 전부 넣는 방식이 비용을 룰 개수에 비례해 키웠다반증 2 — 자료요구 회신에 미흡·첨부 동반·판정 모호 건이 섞여 있어 전부 자동 제출은 불가조치 — 경량 모델 1차 분류 RAG 라우터, 골든 케이스 24개 배포 전 회귀 감시, 제출 단계 사람 승인 분리, 15분 정정 대기와 재시도 중단 스위치재측정 — 입력 토큰 427K→104K(76% 감소), 총비용 54% 감소, 회신 판정 29케이스·실제 3건 오탐 0, 2026년 2분기 업무보고서 프로덕션 제출남은 한계 — 자동화 후 광고 검토 건당 소요 시간은 아직 재지 않았다

건당 30분에서 2시간, 광고 수기 검토는 왜 그렇게 비쌌나?

컴플라이언스 자동화에서 가장 먼저 걷어낸 것은 사람이 건당 30분에서 2시간씩 쓰던 금융투자 광고 수기 검토였고, 가장 끝까지 남긴 것은 감독기관 제출 직전의 사람 확인이었습니다. 이 글은 그 경계를 어디에 그었는지, 그리고 처음 세운 가정 두 개가 어디서 무너졌는지를 숫자로 적은 기록입니다. 코딩 이야기로만 읽히기 쉽지만, 실제로는 '어떤 일을 기계에 맡기고 어떤 일을 사람이 쥐고 있어야 하나'를 정한 이야기에 가깝습니다.

금융투자 상품 광고는 문구 하나, 수익률 표기 하나에도 법 조항이 붙습니다. 검토자는 자본시장법, 금융소비자보호법, 금융투자협회 광고 심사 매뉴얼을 옆에 펴 놓고 광고물을 한 쪽씩 넘기며 대조합니다. 광고물은 PDF로도 오고, PPTX 발표 자료로도 오고, 이미지 한 장으로도 옵니다. 형식이 제각각이라 같은 조항을 확인하는 데도 매번 방식이 달라집니다.

그래서 한 건에 짧으면 30분, 길면 2시간이 걸렸습니다. 이 시간은 검토자 한 사람이 광고 한 건에 쓰는 시간이고, 광고가 몰리는 시기에는 그대로 대기열이 됩니다. 더 곤란한 점은 사람의 집중력이 한 쪽 한 쪽 균일하지 않다는 데 있습니다. 앞 장에서 꼼꼼히 본 조항을 뒤 장에서는 건너뛰기 쉽고, 놓친 문구는 광고가 나간 뒤에야 드러납니다.

사람의 기억에 기대는 검토가 얼마나 흔들리는지는 다른 일에서도 확인한 적이 있습니다. 법률 문제를 진단하면서 당사자가 기억하는 사실을 녹음 전사 원문과 한 줄씩 대조했더니, 18항목 가운데 4항목이 수치나 이름에서 어긋났습니다. 방향은 맞는데 숫자와 시점이 틀린 경우가 대부분이었습니다. 광고 검토도 마찬가지입니다. 검토자가 조항을 '기억으로' 떠올려 대조하는 순간, 매뉴얼이 바뀐 부분이나 비슷한 조항끼리의 차이를 놓치기 쉽습니다. 원문과 기계적으로 전수 대조하는 단계가 필요했던 이유입니다.

광고 검토만이 아니었습니다. 같은 팀은 감독기관 정기 업무보고서, 감독기관 자료요구 회신, 중앙은행 분기 통계 조사표, 감독기관 제출용 재무제표 대조를 분기마다 손으로 반복했습니다. 하나하나는 익숙한 일이지만, 전부 '틀리면 되돌리기 어려운' 일이라는 공통점이 있었습니다. 이 공통점이 나중에 자동화의 경계를 정하는 기준이 됐습니다.

  • 광고 컴플라이언스 검토 — 자본시장법·금융소비자보호법·금융투자협회 광고 심사 매뉴얼 기준, 건당 30분에서 2시간
  • 감독기관 정기 업무보고서 — 문서가 없는 레거시 SOAP 인터페이스로 제출
  • 감독기관 자료요구 회신 — 질문마다 판정과 답변을 작성해 제출
  • 중앙은행 분기 통계 조사표 — 메일로 요청이 오면 재무제표를 보고 작성해 회신
  • 감독기관 제출용 재무제표 대조 — 분기마다 반복하던 수작업 매칭

처음 잰 숫자 — 건당 30분~2시간, 그리고 입력 토큰 427K

출발점이 된 숫자는 두 개입니다. 하나는 사람의 시간이고, 다른 하나는 자동화한 뒤 기계가 쓰는 입력량입니다. 사람의 시간은 앞에서 말한 건당 30분에서 2시간입니다. 이 기록에 남아 있는 것은 이 양 끝값이고, 평균이나 분포는 남아 있지 않습니다. 그래서 이 글에서도 범위로만 씁니다.

첫 번째 자동화는 광고 검토를 자동 보고서 생성으로 바꾸는 일이었습니다. 광고물을 페이지 단위로 쪼개고, PDF·PPTX는 텍스트로, 이미지는 Vision(이미지를 읽는 모델 기능)으로 읽어 들인 뒤, 검토 룰과 한 페이지씩 대조해 걸리는 조항을 보고서로 뽑습니다. 사람이 한 쪽씩 넘기던 과정을 기계가 빠짐없이 전수로 돕니다.

룰 베이스도 크게 넓혔습니다. 세 가지 기준 문서에서 검토 항목을 뽑아 기존보다 10배 이상, 수백 개 규모로 늘렸습니다. 룰이 촘촘할수록 놓치는 조항이 줄어든다고 봤기 때문입니다.

여기서 두 번째 숫자가 나왔습니다. 정답이 정해진 평가 데이터(eval)로 이 시스템을 돌려 LLM에 들어가는 입력 토큰을 세니 427K였습니다. 토큰은 LLM이 글을 읽는 단위이고, 입력 토큰이 곧 비용입니다. 측정 방법은 단순했습니다. 같은 평가 데이터를 같은 조건으로 넣고, 입력 토큰과 총비용을 기록했습니다. 이후 모든 비교도 이 평가 데이터 위에서 했습니다.

막대그래프. 입력 토큰이 RAG 라우터 도입 전 427K, 도입 후 104K
같은 평가 데이터로 잰 입력 토큰 — 427K에서 104K로

세운 가설 — 룰은 전부 넣고, 제출까지 자동으로 이어 붙인다

자동화를 설계하면서 세운 가정은 두 개였습니다. 둘 다 그럴듯했고, 둘 다 한 번은 틀렸습니다. 틀린 가정을 지우지 않고 그대로 적어 두는 이유는, 비슷한 자동화를 시작하는 사람이라면 거의 같은 자리에서 출발하기 때문입니다.

가설 1. 룰을 많이 만들고, 매 건 전부 넣어 대조하면 놓치는 게 없다. 가설 2. 판정을 자동으로 할 수 있으면, 제출까지 자동으로 이어 붙여 사람 손을 완전히 뗄 수 있다.

가설 1은 정확도에 관한 가정입니다. 룰 수백 개를 한 번에 넣으면, 광고에 어떤 문구가 있든 해당 조항이 모델 눈앞에 있으니 빠지는 일이 없다는 생각입니다. 사람 검토자가 매뉴얼 전체를 옆에 펴 두는 것과 같은 발상입니다.

가설 2는 범위에 관한 가정입니다. 광고 검토뿐 아니라 업무보고서, 자료요구 회신, 통계 조사표까지 판정과 작성이 자동으로 되면, 마지막 '보내기' 버튼만 기계가 누르면 끝이라는 생각입니다. 자동화의 목표를 '사람 개입 0'으로 잡으면 자연스럽게 나오는 결론이기도 합니다.

두 가설은 각각 어디서 틀렸나?

가설 1은 비용에서 먼저 틀렸습니다. 룰을 수백 개로 늘린 뒤 매 건 전부 넣으니 입력 토큰이 427K까지 불어났습니다. 광고 한 건을 검토할 때마다 그 광고와 상관없는 조항까지 전부 읽히는 구조였습니다. 룰을 늘릴수록 정확도가 오르는지와 별개로, 비용은 룰 개수에 정비례해 오릅니다. 룰 베이스를 계속 넓혀야 하는 시스템에서 이 구조는 오래 버티지 못합니다.

가설 2는 되돌릴 수 없는 단계에서 틀렸습니다. 감독기관 제출은 한 번 나가면 회수하기 어렵습니다. 자료요구 회신을 들여다보니 모든 질문이 깔끔하게 판정되지 않았습니다. 요구 항목이 미흡한 질문, 첨부 파일을 함께 내야 하는 질문, 판정 자체가 모호한 질문이 섞여 있었습니다. 이런 건을 기계가 끝까지 처리하면, 틀린 답이 틀린 채로 감독기관에 도착합니다.

정기 업무보고서도 같았습니다. 제출 경로가 문서가 없는 레거시 SOAP 인터페이스였고, 주고받는 데이터가 비표준 이진 직렬화 포맷이었습니다. 파서를 만들어 읽을 수는 있었지만, 문서가 없는 인터페이스를 거꾸로 분석해 만든 파서를 믿고 제출 버튼까지 맡기는 건 다른 문제였습니다.

두 가설과 무너진 지점
가설기대실제로 부딪힌 것
룰을 전부 넣는다놓치는 조항이 없다입력 토큰 427K, 광고와 무관한 룰까지 매 건 읽힘
제출까지 자동으로사람 개입 0미흡·첨부 동반·판정 모호 건, 되돌릴 수 없는 제출

수치는 같은 평가 데이터로 잰 값

진짜 원인 — 비용은 '매 건 전부'에서, 위험은 '되돌릴 수 없음'에서 왔다

비용 문제의 원인은 룰의 개수가 아니었습니다. 광고 콘텐츠 한 건에 실제로 걸리는 룰은 수백 개 가운데 일부뿐인데, 그 일부를 고르지 않고 전부를 매번 넣은 방식이 원인이었습니다. 룰 베이스를 넓히는 방향 자체는 맞았습니다. 넓힌 룰을 쓰는 방법이 틀렸습니다.

자동 제출의 위험도 판정 정확도의 문제가 아니었습니다. 판정이 아무리 정확해도, 되돌릴 수 없는 단계에서 한 번 틀리면 그 비용은 검토 시간 몇 시간과 비교할 수 없습니다. 그러니 기준은 '기계가 판정할 수 있나'가 아니라 '틀렸을 때 되돌릴 수 있나'가 돼야 했습니다.

이 두 원인을 적고 나니 방향이 갈렸습니다. 비용 쪽은 기계가 더 똑똑하게 고르게 만들면 되고, 위험 쪽은 기계가 멈추고 사람을 부르는 지점을 정하면 됩니다. 둘 다 자동화를 줄이는 방향이 아니라, 자동화가 어디까지 가는지를 분명하게 정하는 방향입니다.

같은 원리는 법령 조회에도 그대로 나타납니다. 법제처 검색은 법령명을 부분문자열로 맞추기 때문에, 조문 조회 도구에 「상법 제1조」를 넣으면 경고 없이 「1980년해직공무원의보상등에관한특별조치법」 제1조가 나옵니다. '보상법'이 '상법'을 포함하기 때문입니다. 조문 번호도 형식도 멀쩡해서, 기계가 자신 있게 틀린 답을 내놓는 전형입니다. 규제 자동화에서 무서운 것은 '모르겠다'가 아니라 이런 자신 있는 오답입니다.

룰을 어디서 가져오느냐도 같은 문제로 이어집니다. 해외 이메일 광고 규제를 일반 웹검색으로 조사했을 때 5개국 가운데 3개국의 내용이 틀렸습니다. 존재하지 않는 법 이름이 나왔고, 번호는 실재하지만 전혀 다른 법인 경우도 있었습니다. 셋 다 컴플라이언스 벤더 블로그나 검색 최적화용 글에서 온 정보였습니다. 룰 베이스를 수백 개로 넓힐 때 원문이 아니라 요약본에서 룰을 옮겨 오면, 틀린 룰이 정확한 척하며 판정에 섞입니다. 그래서 검토 룰은 법 조문과 협회 매뉴얼 원문에서 뽑는다는 원칙을 따로 세워 두었습니다.

조치 — 무엇을 자동으로 두고 무엇을 사람에게 남겼나?

비용 쪽 조치는 RAG 라우터였습니다. RAG는 필요한 자료만 찾아 모델에 넣는 방식이고, 라우터는 그 '찾기'를 맡는 앞단입니다. 경량 모델이 광고 콘텐츠를 1차로 분류해 실제로 걸릴 만한 룰만 고르고, 심사를 맡는 본 모델에는 그 룰만 넣습니다. 룰 베이스는 수백 개 그대로 두고, 한 건에 읽히는 양만 줄였습니다. 자세한 과정은 LLM 비용 절감, 토큰 427K를 104K로 줄인 기록에 따로 적었습니다.

라우터가 룰을 잘못 골라 빠뜨리면 비용은 줄어도 검토가 부실해집니다. 그래서 골든 케이스 24개를 두고, 룰이나 모델을 바꿀 때마다 기존 판정이 깨지지 않는지 배포 전에 돌립니다. 24개 중 하나라도 판정이 바뀌면 배포하지 않습니다. 비용을 줄이는 변경이 품질을 몰래 깎는 일을 막는 장치입니다.

위험 쪽 조치는 업무마다 '되돌릴 수 있는 구간'과 '되돌릴 수 없는 구간'을 나누는 일이었습니다. 되돌릴 수 있는 구간은 끝까지 자동으로 두고, 되돌릴 수 없는 구간 앞에는 사람 확인을 세웠습니다.

  • 정기 업무보고서 — 레거시 SOAP 인터페이스와 비표준 이진 직렬화 포맷을 분석해 파서를 만들고, 작성까지 자동으로 처리한다. 제출 단계만 사람 승인 게이트로 분리한다
  • 자료요구 회신 — 판정이 명확하고 첨부 없이 텍스트로 끝나는 답변만 자동 제출한다. 미흡 항목·첨부 동반·판정 모호 건은 제출하지 않고 담당자에게 알린다
  • 자료요구 회신 안전장치 — 마지막 메시지 뒤 15분 동안 정정 대기를 두고, 실패하면 재시도를 멈추는 중단 스위치를 둔다
  • 중앙은행 분기 통계 조사표 — 메일 수신 감지, 재무제표 기반 작성, 프리플라이트 검증, 회신 발송을 cron 상태 기계로 처리하고 멱등성 상태 관리로 중복 발송을 막는다
  • 재무제표 대조 — 자동 매칭으로 바꾸고, 불일치 항목만 사람이 확인한다

자료요구 회신의 15분 정정 대기는 작은 장치지만 의미가 큽니다. 담당자가 마지막으로 무언가를 고치거나 덧붙일 여지를 남겨 두는 시간입니다. 실패 시 재시도를 멈추는 스위치도 같은 발상입니다. 실패한 제출을 기계가 계속 다시 시도하면, 같은 오류가 여러 번 감독기관에 도착할 수 있습니다. 실패하면 멈추고 사람에게 넘기는 편이 안전합니다.

통계 조사표는 반대로 사람 확인을 두지 않았습니다. 요청 메일이 오면 cron(정해진 시각마다 도는 작업)이 이를 감지하고, 재무제표로 조사표를 채우고, 보내기 전에 프리플라이트 검증(발송 직전 형식·값 점검)을 돌린 뒤 회신합니다. 각 단계를 상태로 기록하는 상태 기계라서, 중간에 멈췄다 다시 돌아도 어디까지 했는지 압니다. 멱등성 상태 관리는 같은 요청에 두 번 보내지 않게 막는 장치입니다. 틀렸을 때의 피해를 이 장치들로 충분히 줄였다고 판단한 업무만 사람 손을 완전히 뗐습니다.

흐름도. 메일 수신 감지, 조사표 작성, 프리플라이트 검증, 회신 발송 순서로 진행하고 발송 기록으로 중복을 막는 상태 기계
중앙은행 분기 통계 조사표를 처리하는 cron 상태 기계
표. 업무별로 자동 처리 구간과 사람이 확인하는 구간을 나눈 경계
업무별 자동 구간과 사람 확인 구간

재측정 결과 — 토큰 76% 감소, 회신 오탐 0, 2분기 보고서 제출

같은 평가 데이터로 다시 쟀습니다. 입력 토큰은 427K에서 104K로 76% 줄었고, 총비용은 54% 줄었습니다. 룰 베이스는 수백 개 그대로이고, 골든 케이스 24개의 판정도 유지한 상태에서 나온 숫자입니다. 토큰이 76% 줄었는데 비용이 54%만 준 것은 라우터 역할을 하는 경량 모델의 호출 비용이 새로 붙었기 때문으로 봅니다(추정: 입력 토큰 외 비용 항목은 이 기록에 따로 남아 있지 않습니다).

자료요구 회신 자동 제출은 판정 규칙 회귀 테스트 29케이스와, 과거에 실제로 낸 회신 3건으로 검증했습니다. 두 검증 모두에서 오탐은 0이었습니다. 여기서 오탐은 자동으로 제출하면 안 되는 건을 제출 가능으로 잘못 판정한 경우를 말합니다.

정기 업무보고서는 2026년 2분기분을 프로덕션에서 실제로 제출했습니다. 문서가 없는 인터페이스를 거꾸로 분석해 만든 파서가 실제 제출까지 간 첫 사례입니다. 제출 버튼은 사람이 눌렀습니다. 중앙은행 분기 통계 조사표는 평시 사람 개입 0으로 돌고 있습니다.

핵심 수치 카드. 입력 토큰 427K에서 104K, 총비용 54% 감소, 골든 케이스 24개, 회신 검증 29케이스와 3건에서 오탐 0
재측정 핵심 수치
자동화 전후 비교
항목전후
광고 검토사람이 건당 30분~2시간 수기 검토페이지 단위 전수 대조 후 자동 보고서
검토 룰 베이스기존 규모10배 이상, 수백 개
입력 토큰(평가 데이터)427K104K(76% 감소)
총비용(평가 데이터)기준54% 감소
회신 자동 제출 검증없음회귀 29케이스 + 실제 회신 3건, 오탐 0
정기 업무보고서수기 제출2026년 2분기 프로덕션 제출, 제출은 사람 승인

광고 검토의 자동화 후 건당 소요 시간은 이 기록에 없다

남는 한계 — 아직 재지 못한 것은 무엇인가?

가장 큰 빈칸은 광고 검토 시간의 '후' 숫자입니다. 자동 보고서가 나온 뒤 사람이 그 보고서를 확인하는 데 건당 몇 분이 드는지는 이 기록에 없습니다. 그래서 이 글은 '30분에서 2시간이 몇 분이 됐다'고 쓰지 않습니다. 전 숫자는 있고 후 숫자는 아직 없습니다. 다음에 잴 첫 번째 항목입니다.

검증 표본도 작습니다. 회신 자동 제출의 오탐 0은 회귀 테스트 29케이스와 실제 회신 3건에서 나온 결과입니다. 자신 있게 말할 수 있는 범위는 그 32건 안쪽까지입니다. 그리고 오탐 0은 '내면 안 되는 걸 냈다'가 없었다는 뜻이지, 자동으로 낼 수 있었던 건을 사람에게 넘긴 경우가 얼마나 되는지는 따로 재야 합니다. 보수적으로 넘긴 건이 많으면 안전하지만 사람의 일이 덜 줄어듭니다.

골든 케이스 24개도 룰 수백 개를 전부 대표하지는 못합니다. 라우터가 드물게 걸리는 조항을 빠뜨리는 경우는 이 24개에 그 조항이 없으면 잡히지 않습니다. 골든 케이스를 늘리는 일은 비용을 줄이는 일만큼 꾸준히 해야 합니다.

시험 문항을 늘릴 때는 통과해야 할 문항만이 아니라 걸러야 할 문항도 함께 넣어야 합니다. 법령 인용을 검증하는 도구를 적대적으로 시험했을 때, 'the'·'Act'·'Law'·'Regulations' 같은 일반어 4건이 전부 검증을 통과해 버렸습니다. 통과만 확인하는 시험이었다면 이 구멍은 끝까지 보이지 않았을 것입니다. 일반어를 거부하는 장치를 넣은 뒤에는 정상 인용 4/4 통과, 과거 사고 3/3 차단, 일반어 4/4 거부로 양쪽을 함께 확인했습니다. 광고 검토의 골든 케이스도 '걸려야 할 광고'와 '걸리면 안 되는 광고'를 함께 담아야 판별력이 생깁니다.

룰 베이스 자체의 신선도도 남은 과제입니다. 법 조항과 심사 매뉴얼은 바뀌고, 룰은 그 변화를 따라가야 합니다. 법령 조회 도구를 만들며 배운 점이 여기에도 해당합니다. 조회 시점의 사전 검증과 발송 직전의 전수 감사는 서로 다른 오류를 잡습니다. 실제로 발송 직전 전수 감사에서 사건번호 36건 가운데 오류 2건을 찾은 적이 있습니다. 하나가 다른 하나를 대신하지 못합니다.

비슷한 규제 업무 자동화를 검토한다면 무엇부터 봐야 하나?

정리하면 순서는 이렇습니다. 먼저 사람이 한 건에 쓰는 시간을 적어 둡니다. 그다음 업무마다 '틀렸을 때 되돌릴 수 있나'를 묻고, 되돌릴 수 있는 구간부터 끝까지 자동으로 둡니다. 되돌릴 수 없는 구간 앞에는 사람 확인을 세우되, 기계가 판정이 모호한 건을 스스로 걸러 사람에게 넘기게 만듭니다. 마지막으로 비용을 줄이는 변경마다 골든 케이스로 품질을 확인합니다.

컴플라이언스 자동화의 목표를 '사람 개입 0'으로 잡으면, 되돌릴 수 없는 단계까지 기계에 맡기게 됩니다. 이 기록에서 실제로 사람 손을 완전히 뗀 곳은 중앙은행 조사표처럼 틀렸을 때의 피해를 장치로 막을 수 있는 업무뿐이었습니다. 자동화 범위를 정할 때 한 번 더 따져 볼 만한 기준입니다.

라우터 설계와 비용 측정을 더 자세히 보고 싶다면 LLM 비용 절감 기록을 함께 읽어 보시면 됩니다. 회사 업무 가운데 어디까지 자동화할 수 있는지 함께 따져 보고 싶다면 상담에서 이야기를 나눌 수 있습니다.

같은 방식으로 우리 업무를 재보고 싶다면

이 글에 쓴 계측·판정·자동화는 저희가 실제로 매일 돌리는 방식 그대로입니다. 어떤 작업을 자동화할 수 있고 어디를 사람이 잡아야 하는지, 현재 업무 흐름을 놓고 같이 짚어 드립니다.

새 글이 올라오면 알려 드립니다

이런 계측 기록을 새로 쓰면 메일로 한 통 보냅니다. 광고나 판촉은 보내지 않습니다.