본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 16. 08:35

Reducto란 무엇인가: 템플릿 OCR이 표에서 깨지는 문제를 Agentic OCR은 어떻게 다시 읽는가

요약

Reducto는 기존 템플릿형 OCR의 한계를 극복하기 위해 VLM을 활용한 Agentic OCR 방식을 제안합니다. 레이아웃 검출과 VLM의 리뷰를 반복하는 'agentic multipass' 메커니즘을 통해 표 데이터 추출의 정확도를 높이고 구조화된 JSON 출력을 제공합니다.

핵심 포인트

  • 템플릿형 OCR의 레이아웃 오류 및 데이터 깨짐 문제 해결
  • VLM 기반의 반복적 자기 수정(agentic multipass) 루프 활용
  • JSON Schema를 활용한 스키마 주도형 데이터 추출 지원
  • Visual Grounding을 통한 추출 값의 시각적 근거(좌표) 제공

청구서나 경비 정산 PDF, 신청서를 AI에게 읽게 했더니 표의 숫자가 엉망으로 깨져서 돌아왔다——문서 AI를 한 번이라도 다뤄본 적이 있다면 익숙한 장면일 것이다. 범인은 오랫동안 사용되어 온 템플릿형 OCR (광학적 문자 인식)로, 레이아웃이 조금만 틀어져도 표가 깨진다.

이 계층을 VLM (시각 언어 모델)로 몇 번이고 다시 읽는 Agentic OCR로 대체하려는 것이 미국의 문서 AI 기반 Reducto다. 본고가 추적하는 것은 제품 소개가 아니라, 템플릿 OCR이 왜 표에서 깨지는지, 그리고 Agentic OCR이 공식적으로 명시하는 범위 내에서 어떻게 다시 읽는지에 대한 메커니즘이다. 문서를 AI에게 읽히는 작업을 한다면 내일의 설계에 도움이 될 것이다.

기존의 템플릿형 OCR은 "이 경계선 안쪽이 표다"라고 페이지 레이아웃을 사전에 정해진 방식(決め打ち)으로 읽는다. 예상대로라면 빠르고 저렴하지만, 손글씨로 추가된 내용이나 중첩된 셀 등 현실의 문서는 일치하지 않는다.

가장 먼저 깨지는 것이 표다. "품목·수량·금액"의 3열이라면, 본래 "노트북 PC / 2 / 198,000"이라고 한 줄로 읽혀야 할 부분이 레이아웃 검출에서 벗어나면 값만 한 줄로 흘러 들어가 버려 "어떤 금액이 어떤 품목인지" 알 수 없게 된다. 미세한 검출 오류가 하류로 차례차례 전달되며 (error cascade, 오류의 연쇄), 표가 많은 재무·의료·법무 문서일수록 깨지는 모습이 노골적이다.

템플릿 OCR이 "한 번 읽고 끝"인 것에 반해, Agentic OCR은 내놓은 결과를 AI 스스로 리뷰하고 수정하며 검증하는 루프를 돌린다.

문서 AI는 3개 계층으로 나누면 파악하기 쉽다. 글자를 일으키는 OCR, 페이지의 구조나 의미까지 읽는 VLM, "다음에 무엇을 해야 할지"까지 파고드는 Agentic OCR——Reducto는 이 세 번째 계층이다. 공식 문서에 따르면, 자사 모델과 최첨단 VLM 전문 모델군을 파이프라인화하여 여러 경로로 오류를 반복적으로 자기 수정한다 (agentic multipass). 크게 보면 "레이아웃 검출 → VLM의 리뷰/수정 → 검증"을 몇 번이고 반복하는 흐름이다.

다만 Reducto는 상용 클로즈드(closed) 모델로, 각 경로의 내용이나 내부 구성은 비공개다. 따라서 메커니즘 설명은 공식이 명시하는 큰 틀에 한정한다.

개발자에게는 무엇이 좋은가. 포인트는 두 가지다.

첫 번째는 출력이 처음부터 구조화된 JSON이라는 점이다. 추출 (Extract) 시에는 원하는 필드의 이름·타입·설명을 JSON Schema로 선언하기만 하면 그에 맞는 값이 반환된다——예시를 보여줄 필요가 없는, 스키마 주도형(schema-driven) 추출이다. 템플릿을 만드는 대신 주문서(스키마)를 한 장 전달하면, VLM이 해당 값을 찾아 반환한다.

두 번째는 **visual grounding (시각적 근거 제시)**이다. 추출된 각 값에 "몇 페이지의 어느 사각형(bounding box)에서 왔는지"가 연결되어 반환된다. 청구서의 합계 금액이라면 23278.62라는 값에 "3페이지째·해당 사각형의 좌표"가 붙는다. 따라서 "이 금액은 이 셀에서 왔다"라고 사람이 원본과 대조하며 감사할 수 있다. VLM은 그럴듯한 오류 (hallucination, 환각)를 일으킬 수 있기 때문에, 수상한 값만 원본으로 확인할 수 있는 이 근거 제시가 유용하다.

아래는 청구서에서 합계 금액과 명세를 스키마 주도형으로 추출하고, 각 값의 출처도 가져오는 개념 코드다 (Reducto 공식 Python SDK. 정확한 API 명칭·타입은 문미의 공식 문서를 참조).

from pathlib import Path
from reducto import Reducto
# 클라이언트는 환경 변수 REDUCTO_API_KEY를 자동으로 읽음
...

인수는 instructions (무엇을 추출할 것인가)와 settings (어떻게 동작할 것인가)로 나뉘며, 반환값은 딕셔너리 액세스와 속성 액세스가 섞여 있다——모두 코드 내의 주석과 같다. 템플릿을 쓰는 대신 스키마를 한 장 쓰는 것만으로 출력에 감사 추적(audit trail)이 붙는다.

이해하기 쉬운 사례는 의료 분야의 Anterior다. 보험 급여 여부를 사전에 심사하는 "사전 승인 (prior authorization)"을 자동화하는 이 회사는, 99% 이상의 정확도와 1분 미만의 SLA (응답 시간 보장)로 의료 문서를 구조화하고 있다고 공표한다. 사전 승인에서는 급여 요건과 환자 기록을 대조하기 때문에, 표가 깨져 요건을 하나라도 잘못 읽으면 판단이 어긋난다. 다중 경로(multi-pass)로 누락을 줄이고, visual grounding를 통해 "이 요건은 기록의 이 부분에 있다"라고 출처를 추적할 수 있는 것이 심사의 신뢰성으로 직결된다.

법무 AI인 Harvey(1,300개 이상의 조직), 운용 자산 1조 달러를 초과하는 Benchmark도 채택 사실을 공개하고 있다. 제3자 사례로는 서버리스 GPU 기반인 Modal이 추론 이관을 통해 P90 레이턴시(Latency, 응답이 느린 쪽에서 상위 10%의 값)를 3분의 1로 단축했다고 보고했다(출처는 Reducto 창업자의 발언). 이는 해외 기업의 사례이지만, 당신이 다루는 신청서와 같이 "표가 깨지면 곤란한 문서"에서도 소구점은 동일하다.

수치의 정확성에는 주의가 필요하다. Harvey의 1,300개 조직이나 Anterior의 99% 초과 수치 모두 Reducto와 고객 측의 공표된 값이며, 제3자 검증은 Modal의 사례에 거의 국한된다. 누적 처리 페이지 수도 출처에 따라 10억~30억 페이지 이상으로 차이가 있다. 이러한 수치들은 "실측된 업계 표준"이 아니라 "제공 측이 제시하는 도달점"으로 읽어야 한다. 메커니즘의 새로움과 그 근거의 확실성은 분리해서 받아들일 필요가 있다.

Agentic OCR은 문서를 다중 패스(multi-pass)로 다시 읽고, 결과를 스키마 구동(schema-driven) 방식의 구조화된 JSON으로 반환하며, 각 값에 페이지 상의 좌표 근거(visual grounding)를 부여한다. 템플릿을 만드는 대신 "원하는 구조를 선언하고 출처의 근거를 확보한다"——이것이 표를 가장 먼저 망가뜨렸던 기존 방식과의 차이점이다. 깨진 표 때문에 고생한 경험이 있다면, 당신의 어떤 문서부터 먼저 맡겨보고 싶은가?

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0