청킹 전략 (Chunking Strategies)
청킹은 긴 문서를 검색에 적합한 크기의 조각(청크)으로 분할하는 과정입니다. 청킹 전략에 따라 검색 품질과 답변 정확도가 크게 달라지므로, RAG 파이프라인에서 가장 중요한 설계 결정 중 하나입니다.
왜 청킹이 중요한가?
전략 비교 종합
| 전략 | 속도 | 품질 | 비용 | 적합한 경우 |
|---|
| Fixed-Size | 매우 빠름 | 낮음 | 무료 | 프로토타이핑 |
| Recursive | 빠름 | 좋음 | 무료 | 대부분의 경우 (기본 선택) |
| Semantic | 느림 | 매우 좋음 | 임베딩 비용 | 높은 검색 정확도 필요 |
| Markdown/HTML/Code | 빠름 | 좋음 | 무료 | 구조화된 문서 |
청크 크기와 오버랩 가이드
| 문서 유형 | 권장 크기 | 오버랩 | 이유 |
|---|
| 기술 문서 | 800~1500자 | 200자 | 개념 단위 보존 |
| FAQ / Q&A | 300~500자 | 50자 | 질문-답변 쌍 유지 |
| 법률 문서 | 1000~2000자 | 300자 | 조항 간 연결 필요 |
| 코드 | 1500~3000자 | 200자 | 함수/클래스 단위 |
| 뉴스 기사 | 500~1000자 | 100자 | 문단 단위 |
시작할 때는 RecursiveCharacterTextSplitter를 기본으로 사용하고, chunk_size=1000, chunk_overlap=200으로 시작하세요. 검색 품질이 부족하면 Semantic Chunking이나 Document-Specific Chunking으로 전환하세요.
세부 전략 가이드