피드로 돌아가기
Dev.toAI/ML
원문 읽기
LLM 출력 필터링 우회를 위한 Transcription에서 Parsing으로의 아키텍처 전환
Why Claude won't transcribe your PDF — and what to do instead
AI 요약
Context
PDF 내 COLREGS 규정 텍스트를 Markdown으로 변환하기 위해 Claude API의 Transcription 기능을 시도함. 그러나 모델 출력단에 적용된 anti-regurgitation guard로 인해 저작권 유무와 관계없이 장문의 원문 복제 시 400 Error가 지속적으로 발생하는 한계 직면.
Technical Solution
- Model Output을 통한 텍스트 직접 생성 방식에서 Model-generated Parser를 통한 결정론적 추출 구조로 설계 변경
- LLM의 역할을 '콘텐츠 생성자'가 아닌 '데이터 추출 로직(Python Parser) 작성자'로 재정의
- 원본 PDF의 텍스트 레이어 및 XML 구조를 분석하는 정적 파서 구현을 통해 데이터 무결성 확보
- 파싱 과정에서 발생하는 예외 사항을 코드 수준의 Assertion으로 처리하여 LLM의 임의적인 텍스트 수정(Paraphrasing) 방지
- 재귀적 추출 로직을 도입하여 중첩된 EXTRACT 블록 및 HTML 스타일 테이블 구조의 정밀한 파싱 수행
실천 포인트
- 정형 데이터 구축 시 LLM의 직접 출력(Transcription) 대신 파서 생성(Parsing) 전략 채택 - 모델의 출력 필터링 정책이 의도나 라이선스와 무관하게 작동함을 인지하고 설계에 반영 - 데이터 충실도가 중요한 작업일수록 결정론적 파이프라인(Deterministic Pipeline)을 구축하여 디버깅 가능성 확보