이 글은 이메일로 굴러가던 물류 운영을, 데이터로 바꿨다 — 메일함 AI 인제스천 파이프라인 전 과정 시리즈의 일부입니다.
운영 메일을 AI로 분류하는 파이프라인을 만들면서 원칙을 하나 세웠다.
정확히 규칙화되는 건 규칙으로(빠르고, 공짜고, 100%). AI는 제각각이라 판단이 필요한 것에만.
맞는 원칙이다. 지금도 그렇게 생각한다. 그런데 이 원칙을 실제로 어디에 적용하느냐에서 세 번을 틀렸다. 원칙이 틀린 게 아니라, 그걸 거는 자리를 잘못 잡았다. 이 글은 그 세 번의 정정 기록이다.

첫 번째 미스 — 규칙을 불안정한 신호에 걸었다
선사(운송사)가 자동으로 보내는 정형 메일이 있었다. 도착 예고, 무료 보관 마감 통지 같은 것들이다. 포맷이 일정하니 “이건 규칙으로 짜면 되겠다” 싶었다. 그래서 제목 패턴(정규식)으로 이 메일들을 걸러내는 규칙을 만들려 했다.
바로 반박당했다. 제목 템플릿은 선사마다 다르고, 시간이 지나면 바뀐다. 선사별로 정규식을 만들어 붙이기 시작하면 그건 유지보수 지옥이다. 새 선사가 하나 들어올 때마다, 어느 선사가 제목 양식을 바꿀 때마다 규칙이 깨진다.
교훈은 “규칙을 쓰지 마라”가 아니라 “규칙은 안정된 신호에만 걸어라”였다. 제목은 불안정하고, 상대적으로 안정된 축은 발신 도메인이었다. 규칙을 짤 거면 잘 안 바뀌는 축에 걸어야 한다. 나는 원칙은 맞게 세워놓고, 그걸 흔들리는 축에 걸었던 것이다.
두 번째 미스 — 고칠 대상을 착각했다
그 정형 메일들이 엉뚱한 카테고리로 분류되고 있었다. 나는 이걸 “오분류”로 보고 “그럼 규칙을 추가해서 바로잡자”는 쪽으로 갔다.
그런데 지식팩(분류 기준 문서)을 열어보니, AI는 틀린 게 아니었다. 팩의 카테고리 정의에 “이런 통지는 이 카테고리”라고 명시돼 있었고, AI는 그 정의대로 정확히 분류하고 있었다. 문제는 그 정의 자체가 낡았던 것이다. 카테고리 하나를 새로 분리하기 전에 쓰던 옛 기준이 남아 있었다.
이건 뼈아픈 교훈이었다. “오분류처럼 보이는 것”이 사실은 “내가 준 정의대로 정확히 한 것”일 수 있다. 고쳐야 할 곳은 AI 위에 덧대는 규칙이 아니라, AI에게 준 정의(팩)였다. 증상을 보고 엉뚱한 데를 수술하려 한 셈이다. 규칙을 하나 더 얹었으면 오히려 두 곳이 서로 싸우는 구조가 됐을 것이다.
세 번째 미스 — 실물을 안 보고 판단했다
어떤 통지 유형을 두고 “이건 알맹이 없는 자동 핑(ping)일 뿐”이라고 판단했다. 메일 본문이 거의 비어 있었기 때문이다. 그래서 이걸 가벼운 알림 쪽으로 분류를 옮겼다.
나중에 실제 첨부 PDF를 열어보고 뒤집혔다. 본문은 비어도, 첨부에 데이터가 전부 들어 있었다. 예상 도착 시각, 보관 마감일, 컨테이너 목록, 터미널 정보까지 — 운영에 꼭 필요한 것들이 그 PDF 한 장에 다 있었다. 알맹이 없는 핑이 아니라 오히려 가장 실행 가능한 문서였다.
내가 본 건 메일 본문(메타데이터)뿐이었고, 진짜 내용(첨부)을 안 봤다. 메타데이터만 보고 문서의 가치를 판단하면 틀린다. 판단을 되돌리고 원래 카테고리로 복귀시켰다.
세 번의 정정에서 남은 것
- 규칙은 안정된 신호에만 건다. 발신 도메인은 안정적이고, 제목 문구는 불안정하다. 흔들리는 축에 규칙을 걸면 그 규칙이 곧 부채가 된다.
- 오분류를 의심하기 전에 “내가 준 정의”부터 의심하라. AI가 이상하게 분류하면, 틀린 건 AI가 아니라 내가 준 기준일 때가 많다. 규칙을 덧대기 전에 정의를 고쳐야 한다.
- 메타데이터로 판단하지 말고 실물을 봐라. 제목·본문이 비어 보여도 진짜 내용은 첨부에 있을 수 있다. 한 건이라도 실제로 열어보는 게 열 번의 추측보다 낫다.
원칙(“규칙화되는 건 규칙, 나머지는 AI”)은 처음부터 옳았다. 어려운 건 원칙이 아니라 경계를 어디에 긋느냐다. 그 경계는 책상에서 한 번에 그어지지 않고, 실물과 부딪히며 세 번쯤 옮겨진 뒤에야 자리를 잡았다.
자주 묻는 질문
Q. 그냥 전부 AI에 맡기면 이런 고민이 없지 않나?
전부 AI에 맡기면 느리고, 매번 비용이 들고, 결정적으로 다뤄야 할 부분까지 확률적으로 흔들린다. 정규화·라우팅처럼 답이 정해진 단계는 규칙(코드)이 빠르고 100%다. 문제는 “무엇이 정말 규칙화되는가”를 가리는 일이다.
Q. 규칙을 어디에 걸어야 안정적인가?
잘 바뀌지 않는 축에 건다. 발신 도메인처럼 상대가 마음대로 못 바꾸는 값은 안정적이고, 제목 문구처럼 상대가 언제든 바꾸는 값은 불안정하다. 불안정한 축의 규칙은 유지보수 부채가 된다.
Q. AI 분류가 이상할 때 먼저 봐야 할 것은?
AI에게 준 기준(프롬프트·지식 문서)을 먼저 본다. 이상해 보이는 분류가 사실은 낡은 정의를 정확히 따른 결과일 때가 많다. 그 경우 규칙을 덧대면 충돌만 는다.