TL;DR
웹 스크레이핑에서 네비게이션·푸터·쿠키 배너 같은 UI 노이즈와 분할 시 상위 헤딩 문맥 손실이 벡터 검색 품질을 저하시켰다. 게시자는 HTML을 AST로 파싱해 유의미한 콘텐츠 노드만 선별하고 각 청크에 부모 헤딩 경로를 메타데이터로 붙이는 방식으로 clean Markdown과 구조화된 JSON을 생성해 문제를 해결했다고 밝혔다. 이 방법은 불필요한 UI 요소를 제거하고 토큰 수·품질 점수 같은 메타데이터를 포함해 LangChain·LlamaIndex로의 적재를 단순화하므로 임베딩 기반 검색의 관련성 향상에 기여한다. 다만 동적 로드 페이지나 사이트별 비정형 구조에서는 추가 튜닝과 클렌징 규칙 보완이 필요하다.
합의점 vs 논쟁점
합의점
- 웹 스크레이핑 시 네비게이션·푸터·쿠키 배너 등 UI 노이즈가 임베딩 품질을 저하시키는 공통된 문제로 인식됐다.
- 문서 계층 구조와 상위 헤딩 정보를 보존하면 분할 후에도 문맥 관련성이 유지되어 검색 정확도가 개선된다는 점은 많은 참여자가 동의할 가능성이 높다.
논쟁점
- AST 기반 파싱과 자동 헤딩 병합이 모든 웹사이트에서 일관되게 동작할지, 특히 동적 로드 콘텐츠나 비정형 HTML 구조에서는 추가 튜닝이 필요하다는 점은 논쟁의 여지가 있다.
- 클렌징 규칙의 보수성(어느 요소를 '노이즈'로 판단할지)과 품질 점수 산정 방식은 구현마다 결과 편차를 만들 수 있어 표준화가 어려운 점이 잠재적 쟁점이다.
실용적 조언
- 웹 문서를 임베딩할 때는 단순 텍스트 스트립 대신 트리 기반 파서로 DOM을 분석해 섹션 경계와 헤딩 계층을 명시적으로 추출하는 것이 우선이다. 그 다음 단계로는 비콘·스크립트·네비게이션 등 UI 관련 노드들을 식별해 사전에 필터링하고, 각 콘텐츠 노드에 상위 헤딩 경로를 메타데이터로 부착한 뒤 청크를 생성해야 검색 시 문맥 유실을 방지할 수 있다. 마지막으로 생성된 청크에는 토큰 수와 원본 URL 같은 메타데이터를 포함해 벡터 저장소로 로딩하면 디버깅과 결과 해석이 용이해진다.
- LangChain 또는 LlamaIndex로 통합할 때는 생성된 Markdown 또는 구조화된 JSON을 Document 객체로 래핑해 메타데이터 필드를 채우는 방식을 권장한다. 이렇게 하면 검색·검색결과 재랭킹·응답 생성 시 상위 헤딩 컨텍스트를 손쉽게 주입할 수 있으며, 품질 점수 기반으로 적재 우선순위를 정해 벡터 저장소의 노이즈 비중을 줄일 수 있다. 배포 단계에서는 동적 로드 페이지에 대해 브라우저 렌더링을 선행하거나, 사이트별 클렌징 규칙을 보완해 일관성을 확보해야 한다.
섹션별 상세
이미지 분석

왼쪽에는 네비게이션·푸터·쿠키 배너 등이 포함된 원시 HTML 예시가 코드 형태로 제시되어 있어 노이즈 원인을 시각적으로 확인할 수 있다. 가운데에는 부모 헤딩 경로가 유지된 Markdown 출력 예시와 청크별 메타데이터(토큰 수, 품질 점수 등)가 있어 AST 기반 처리의 작동 결과를 보여준다. 오른쪽에는 깨끗한 콘텐츠가 LLM 이해도·검색 정확도·벡터 저장소 준비성 등을 개선한다는 요약 이점이 정리되어 있어 실무적 효과를 한눈에 파악할 수 있다.
표준 웹 스크래퍼의 원시 HTML 출력과 AST 기반 웹-투-마크다운 크롤러의 정제된 출력, 그리고 AI·RAG에 주는 이점을 비교한 인포그래픽이다.

해당 미리보기는 첫 이미지와 동일한 정보를 포함하며, 원시 HTML의 잡음과 AST 기반 출력의 구조화·메타데이터 포함 여부를 재차 확인할 수 있다. 이미지는 실제 전처리 전후의 차이를 직관적으로 전달해 게시글의 주장을 시각적 근거로 보강한다.
동일한 비교 이미지의 미리보기 버전으로 원시 HTML과 정제 Markdown의 차이를 보여주는 인포그래픽이다.
용어 해설
- 검색 증강 생성(RAG)
- — 검색 증강 생성은 외부 문서에서 관련 컨텍스트를 검색해 모델의 입력으로 주입한 뒤 응답을 생성하는 방식이다. 이 글 맥락에서는 웹 문서의 의미있는 단락을 보존해 검색시 올바른 문맥을 제공하는 것이 핵심 역할이다. 잘 구조화된 문서 조각은 RAG에서 검색 정확도와 답변 관련성을 높이는 핵심 요소로 작용한다.
- 추상 구문 트리(AST)
- — 추상 구문 트리는 문서나 코드의 계층적 구조를 노드와 엣지로 표현한 자료구조이다. 본문에서는 HTML 문서를 단순 문자열이 아닌 트리로 파싱해 각 노드의 계층적 관계와 헤딩 정보를 유지하는 데 사용됐다. AST 기반 처리는 섹션 경계와 상위 헤딩을 정확히 보존해 분할 시 문맥 손실을 줄였다.
- 벡터 저장소(Vector Store)
- — 벡터 저장소는 텍스트 임베딩을 인덱싱하고 유사도 검색을 수행하는 시스템이다. 문서 조각이 노이즈로 오염되면 유사도 검색 결과 품질이 저하되므로 입력 텍스트의 정제와 메타데이터 보강이 중요하다. 본 글에서는 임베딩 전 단계에서 불필요 UI 요소를 제거하고 계층 정보를 포함한 청크를 생성해 벡터 저장소의 검색 정밀도를 개선했다.
언급된 도구
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.