13.7.1 검증 파이프라인 아키텍처: Extraction -> Validation -> Correction -> Approval

13.7.1 검증 파이프라인 아키텍처: Extraction -> Validation -> Correction -> Approval

거대 엔터프라이즈 환경에서의 AI 기반 비정형 문서 처리 시스템은 결코 파이썬 스크립트를 한 번 실행하여 결괏값을 화면에 ‘print()’ 하고 치워버리는 단순한 ‘단발적 호출(One-shot Call)’ 아키텍처가 될 수 없다. 그것은 무질서한 지류 문자의 픽셀 덩어리가 극도로 정제된 트랜잭션 텐서(Tensor)로 가공되어 사내의 재무 마스터 데이터베이스(ERP) 원장에 안전하게 영속화(Persistence) 되기까지, 여러 물리적 상태(State) 기저를 거치며 혹독한 시련을 겪어내는 거대하고 입체적인 **분산 상태 머신(Distributed State Machine)**이어야만 한다.

본 13.7.1절에서는 13.3절부터 13.6절까지 우리가 공들여 직조해 낸 오라클 무기들과 프롬프트 방어 체계들을, 물 흐르듯 끊기지 않는 4단계 연속 생명 주기(Lifecycle) 체인으로 묶어버리는 마스터 아키텍처(EVCA Pipeline Architecture)의 거시적 청사진을 설계한다.

최상위 레벨에서 이 거대 파이프라인은 철저하게 책무가 분산된 4개의 거대한 비동기 큐(Queue)와 워크플로우로 조립되며, 그 기조는 1. 추출 (Extraction) \rightarrow 2. 검증 (Validation) \rightarrow 3. 보정 (Correction) \rightarrow 4. 승인 (Approval) 으로 철저히 단방향화(Uni-directional) 된다.

1. 1단계: Extraction (업스트림 추출 및 전처리 파이프라인)

물류 창고 스캐너나 이메일 첨부파일로부터 날것(Raw) 그대로의 비정형 문서 이미지가 무식하게 쏟아져 들어오는 최초의 파이프라인 진입 관문이다. 이 단계의 마이크로서비스(MSA)는 데이터의 진위를 파악하려는 그 어떤 가치 판단이나 비즈니스 로직도 수행하지 않으며, 철저하게 ‘비전 AI 파이프라인’ 본연의 공학적 형태 추론과 광학 파싱(Parsing)에만 집중한다.

  • 주요 수행 작업: 13.6절에서 설파한 고전적 OCR 엔진 가동 (레이아웃 Bounding Box 공간 지표 보존), LLM 어텐션을 묶어버릴 방어적 시스템 프롬프트(N/A 명시, CoT 사전 지시, 강압적 제약 체계) 메모리 세팅, 그리고 마침내 무거운 최첨단 Vision LLM API(예: GPT-4o) 비동기 타격 호출.
  • 출력물 (Output): LLM이 확률적으로 내어놓은, 아직 그 어떤 오라클의 인가 지표도 없는 차갑고 불완전한 JSON String 덩어리 (즉, 오염 가능성을 내재한 원석 상태의 페이로드).

2. 2단계: Validation (3중 오라클 심판 용광로)

1단계에서 갓 캐낸 거친 JSON 원석을 쥐고, 13.3~13.5절에서 가장 차갑고 엄격하게 설계해 둔 [구문 \rightarrow 의미 \rightarrow 외부 지식] 통제망의 3중 Pydantic 오라클 용광로 시스템 속으로 곧바로 집어던져 데이터의 숨통을 조이는 코어 제련 단계다.

  • 주요 수행 작업:
  1. 구문(Syntax) 오라클: String을 강제로 Float/Date로 캐스팅하며 데이터의 형태학적 뼈대를 부러뜨리거나 맞춤.
  2. 의미(Semantic) 오라클: ‘라인별 합계(Subtotal) = 단가 × 수량’ 부등식과, ’발주일 \leq 청구일’이라는 물리적 시계열 모순을 낱낱이 파헤침.
  3. 지식(Knowledge) 오라클: ERP망의 PO Number 생존 여부와 관공서 국세청 API를 실시간 타격하여 리걸(Legal) 무결성을 교차 대조.
  • 비정형 분기(Branching): 모든 지옥주 오라클을 흠집 하나 없이 극적으로 통과한 상위 1%의 데이터만이 4단계(Approval)로 미끄러져 직행한다. 반면 단 하나라도 기분 나쁜 ValidationError를 격발 시킨 트랜잭션은, 그 즉시 파이프라인 실행을 멈추고 거대한 예외 스택 트레이스(Exception Stack Trace) 꼬리표를 달고 3단계(Correction) 병동으로 튕겨 나간다.

3. 3단계: Correction (루프백 자가 수정 및 동적 라우팅)

이 3단계는 파이프라인이 단순히 쓸모없는 필터(Filter)의 한계를 부수고 자각력이 있는 ’자율적 판단 에이전트(Autonomous AI Agent)’로 진화하는 가장 핵심적인 공간이다.
2단계 오라클 런타임 시스템이 집어던진 차갑고 폭력적인 에러 메시지(예: [산술 모순 에러] 단가 10 x 수량 5는 500이 될 수 없음.)를 파싱 하여, LLM 메모리망에 채찍질하듯 돌려주고 자기 반성의 기회를 마지막으로 부여한다.

  • 주요 수행 작업: 향후 13.7.2절~13.7.3절에서 딥다이브 할 **‘오라클 피드백 기반 Self-Correction(자기 수정) 추론 루프’**의 전개. 동시에, 만약 이 에러가 관공서 API의 단순 다운 스트림 오류 시엔 즉각 재시도하지 않고 시스템 큐에 지연(Sleep) 시키는 영리한 동적 라우팅 알고리즘(Dynamic Routing)을 수행한다.
  • 최후통첩 (Ultimatum): 시스템이 인내할 수 있는 최대 재시도(Retry Max Count = 3) 루프를 돌면서도 메타인지 교정에 모두 실패할 경우, 이 데이터는 구제 불능의 쓰레기로 판단되어 잔혹하게 4단계 자동화 트랙 밖으로 영구 킥아웃(Kick-out) 당하며 사람(System Admin)을 애타게 찾는 알람 핑(Ping)으로 비참하게 전환된다.

4. 4단계: Approval (최종 승인 및 DB 영속화)

1단계, 2단계, 그리고 3단계에 이르는 그 험난한 확률적 수많은 억제기와 절대적 방호벽을 모델 스스로의 힘으로 모두 뚫어내고, 수학적·구조적·법적 인증 마크를 모두 획득해 낸 궁극의 결점 없는(Flawless) 트랜잭션 텐서만이 안착할 수 있는 영광의 종착역이다.

  • 주요 수행 작업: 검증이 끝난 순결하고 단단한 통짜 Pydantic 객체를 O/RM(Object-Relational Mapping)을 통해 기업의 ERP 백엔드 관계형 데이터베이스(PostgreSQL, Oracle 등)로 바로 강제 INSERT/UPDATE(영속화) 해버리거나, 보수적인 기업의 경우 인간 마스터 통제관(HITL)이 UI 콘솔 화면에서 아무 생각 없이 최종 녹색 🟢[승인(Approve)] 버튼 구역만을 딸깍 클릭할 수 있도록 완벽히 차려진 밥상을 대시보드(13.8절 연계)에 전시하고 파이프라인을 닫는다.

이 웅장한 아키텍처 사이클(EVCA Lifecycle)이 시사하는 공학적 쾌감이자 본질적 철학은 강력하다.
그것은 거대 언어 모델(LLM)이 더 이상 개발자가 던져 놓은 일을 알아서 마법처럼 척척 다 처리해 주는 환상 속의 통제 불능한 ‘전지전능 요술 지팡이(Magic Wand)’ 대우를 받지 못하게 됨을 뜻한다. 대신 LLM은, 우리 인간 아키텍트가 무시무시하게 지배하고 설계한 엔터프라이즈의 이 거대한 시스템 톱니바퀴 속에서, 단지 앞단의 멍청한 ’추출기(Extractor)’와 뒷단의 겁먹은 ’수명 루프 수리공(Corrector)’이라는 극도로 좁게 통제되고 제한된 톱니바퀴 역할만 수행하는 철저한 공학적 기계 부속품(Software Component)으로 혹독하게 **강등(Demotion)**됨과 동시에 완벽하게 길들여(Domesticated) 졌음을 역사적으로 방증하는 것이다.