헤딩은 공짜 메타데이터
Markdown 과 HTML 은 일반 splitter 가 버리는 hierarchy 를 가지고 있어. 구조-aware splitter 는 헤딩 트리를 walk 하면서 부모-헤딩 path 를 모든 청크에 붙여놔. 이제 retrieval 결과가 단순 "...배포 워크플로우..." 가 아니라 "Operations > Deploy > Production rollback — 배포 워크플로우...". 모델은 context 공짜로 받고, 본인은 인용 breadcrumb 받음.
코드 split 은 다른 문제
일반 텍스트 splitter 는 Python 함수 중간을 자르고 Rust generic 중간을 잘라. 언어-aware splitter (LangChain 의 Language.PYTHON, tree-sitter, AST 기반) 써서 청크가 항상 일관된 함수, 클래스, 또는 top-level statement 가 되게 해. 검색 relevance 가 즉시 점프.