RAG 파이프라인에 웹 데이터를 넣을 때 URL만 넘기면 Markdown으로 변환해주는 도구가 있으면 편리합니다. defuddle이 그 역할을 합니다. 문제는 결과가 사이트 구조에 따라 크게 달라진다는 점입니다.

시맨틱 HTML이 있느냐 없느냐

테크 블로그나 공식 문서는 괜찮습니다. 제목 계층이 살아있고 본문 태그가 명확하면 추출 결과도 쓸 만합니다. 문제는 커머스 사이트나 레이아웃 중심으로 설계된 페이지입니다. 시맨틱 구조가 없으니 본문과 광고가 섞여서 나옵니다.

이 상태로 RAG 인덱싱에 넣으면 검색 품질이 오염됩니다. 자바스크립트로 화면을 렌더링하는 동적 환경에서는 내용 자체가 빠지는 경우도 많습니다. 정적 위키 페이지 수준의 소스라면 충분히 쓸 수 있고 상용 서비스의 복잡한 구조에서는 한계가 뚜렷합니다.

자동화 도구가 전처리를 대체하지는 않습니다

파싱 로직을 직접 짜는 수고를 덜어줄 거라 기대했지만 추출 결과를 검수하는 데 오히려 시간이 더 들었습니다. 메타데이터와 본문의 경계가 흐릿해지는 현상도 반복됐습니다.

소스 도메인별로 전처리 스크립트를 따로 두는 방식이 현실적입니다. 모델이 아무리 좋아도 원천 데이터 품질이 낮으면 인덱스 자체가 오염되고 그 오염은 검색 결과 전체로 번집니다.

요약

  • defuddle 추출 성능은 대상 사이트의 시맨틱 HTML 준수 여부에 따라 크게 달라짐
  • SEO 최적화가 부족한 사이트에서는 본문과 노이즈(광고 메뉴) 구분이 어려움
  • RAG 구축 시 자동 추출 결과를 검증하는 전처리 단계를 별도로 설계해야 합니다.

관련 글