OCR 비전 제거 — 결정론 CLOVA 그리드 (빌드 플랜)📦 아카이브

📦 아카이브 (2026-06-23 구현 완료) — 이 빌드플랜은 P0~P2 전부 구현·라이브 배포 완료. CLOVA 결정론 그리드가 /api/ocr에 통합돼 사진경로 Sonnet 비전 제거(grid 우선 + 부족 시 Sonnet 폴백). 결과: 메뉴추출 99.3%(유치원 53.6%→98.6%), Sonnet 대비 영양점수차 1.5점. 비용: 일 ~₩78.5만 → ~₩11만(약 86%↓ · CLOVA 표추출 ₩22/건 기준) — 본문의 "$500→$5"는 CLOVA 단가 미반영 낙관치였음(실제 표추출 ₩22/건). 다음 최적화: 글자추출(₩3) 좌표 재구성 시 추가 7배↓ 여지.
💰 목표 — 식단표 OCR에서 Sonnet 비전 제거 → 비용 ~99%↓
현재 /api/ocr는 날짜↔메뉴 매핑을 Claude Sonnet 비전으로 처리(콜당 ~$0.10). CLOVA 표 인식(rowIndex·columnIndex·span)만으로 결정론 매핑이 가능하면 비전이 통째로 빠진다 → 5,000콜/일 기준 ~$500/일 → ~$5/일(CLOVA만, 월 5천 무료).
현황: web/scripts/grid-date-map.mjs = 실날짜 4포맷(1(수)·10/1(수)·1일(수)·7월28일) + 주차 폴백(요일헤더+맨숫자) 구현. 단일 사진(부모 경로) 12/12=100%. 미통합(/api/ocr는 아직 Sonnet) · 일부 레이아웃은 CLOVA 표는 되는데 날짜 0(중랑 2026-06 등).

2026-06-23 작성 · 근거 = 이번 런칭 세션의 그리드 검증(단일사진 100%·전수테스트는 파일명중복+CLOVA 레이트리밋으로 오염되어 깨끗한 %는 P0에서 확정). ⏰ 타이밍: 런칭 트래픽 안정화 후 P0부터 — 런칭 중 OCR 경로 교체는 부모 경험을 깨뜨릴 위험. 프로토타입 = grid-date-map.mjs(결정론 매핑·CLOVA만, Sonnet 미사용).

🚀 새 세션 시작 — 이 문서만 보고 착수
목차

P0 — 깨끗한 측정 0.5일

P0-1 전수 커버리지 정확 측정0.5일

목적그동안 전수테스트가 ① 파일명 중복(같은 이름 다른 기관 섞임) ② CLOVA 난타 시 레이트리밋(429)로 오염 → 진짜 커버리지%를 모름. 깨끗하게 다시.
구현
  • 전체경로 기준 dedup(파일명 아닌 풀패스 키)
  • CLOVA 호출 사이 딜레이(쓰로틀) 넣어 레이트리밋 회피
  • 레이아웃별 실패 분류: "CLOVA 표0" vs "표는 되는데 날짜0" vs "주차폴백 성공" vs "실날짜 성공"
DoD레이아웃 유형별 커버리지% 표 + 0-date 케이스 목록(P1 입력)

P1 — 파서 갭 메우기 1일

P1-1 0-date 레이아웃 회수1일

목적CLOVA가 표는 주는데 파서가 날짜 0인 레이아웃(중랑 2026-06 등)을 케이스별 진단 → 정규식/폴백 확장.
구현
  • P0의 0-date 목록을 셀 덤프로 진단(날짜 표기 형태 파악)
  • 날짜 정규식 추가 또는 주차 폴백 트리거 확장
  • 목표: 단일사진 ~100% 유지 + PDF 커버리지 상승
DoDP0 측정 재실행 시 커버리지 유의미 상승, 회귀 0

P2 — /api/ocr 통합 1일

P2-1 그리드-우선 + Sonnet-폴백1일

목적/api/ocr가 CLOVA 표 → 그리드 파싱 → 충분하면(날짜≥N·item≥M) 그걸로, 아니면 Sonnet 폴백. 단일 이미지(부모 경로=런칭 핵심)부터.
구현
  • route.ts에 그리드 파서 포팅(grid-date-map.mjs 로직)
  • 그리드 결과 충분성 게이트 → 통과 시 Sonnet 호출 스킵
  • shadow 모드: 며칠간 그리드 vs Sonnet 결과를 둘 다 계산해 ocr_logs에 비교 로깅(전환 전 정확도 검증)
리스크런칭 중 OCR 경로 교체는 위험 → shadow로 안전 검증 후 전환. 단일이미지부터 점진.
DoD단일사진 그리드 적중 ≥95%, Sonnet은 폴백만, shadow 비교로 정확도 동등 확인

P3 — 검증·확대 0.5일

P3-1 모니터 + PDF 확대0.5일

구현
  • ocr_logsmethod(grid/sonnet) 필드 추가 → 실트래픽 적중률 모니터
  • 단일이미지 안정 확인 후 PDF 경로도 그리드 우선 적용
DoDmethod 분포·적중률 대시보드(또는 쿼리) + PDF 그리드 적용

전체 DoD · 비용 임팩트

완료 기준: 단일사진 부모 경로가 그리드(CLOVA만)로 처리되고 Sonnet은 폴백만 → 그 경로 OCR 비용 ~0.
비용: Sonnet 비전 콜당 ~$0.10 제거 → 5k콜/일 기준 ~$500/일 → ~$5/일(CLOVA 종량, 월 5천 무료). 단일사진(런칭 핵심)은 그리드 100% 검증되어 거의 풀 절감.
단계내용공수
P0깨끗한 측정(중복제거·쓰로틀 전수)0.5일
P1파서 갭 메우기(0-date 회수)1일
P2/api/ocr 통합(그리드우선+Sonnet폴백·shadow)1일
P3검증·확대(method 필드·PDF)0.5일
합계~3일