청킹 전략 - 고정 길이·의미·구조 기반
🌿 자라는 중
청킹 기준을 확정하지 못해 파이프라인 설계가 멈췄던 날, 청킹의 개념·필요성·방식을 비교하며 정리한 것.
청킹이 왜 중요한가
- 청킹(Chunking)은 검색 대상 문서를 임베딩하기 전에 일정 단위로 분할하는 작업
- 분할 기준이 검색 품질을 좌우한다 - 실제로 다른 조건은 그대로 두고 청킹만 개선해도 답변 정확성(Answer Correctness)이 70~73% → 78%로 상승했다는 비교 자료를 확인함
세 가지 방식 비교
| 방식 | 기준 | 강점 | 약점 |
|---|---|---|---|
| 고정 길이 | N 토큰/문자 단위로 기계적 분할 | 구현이 가장 단순, 예측 가능 | 문장·문단이 중간에 잘림 |
| 의미 기반 | 임베딩 유사도가 꺾이는 지점에서 분할 | 주제 단위로 잘려 문맥 보존 | 비용이 크고, 항상 우세하지 않음 |
| 구조 기반 | 헤딩·표·섹션 등 문서 구조 단위로 분할 | 구조가 명확한 문서에서 가장 정확 | 구조가 지저분한 문서엔 못 씀 |
배운 것
- 의미 기반이 항상 우세하지 않다. 헤딩과 섹션이 명확한 기술 문서는 구조 기반이 더 나은 경우가 있다 - 문서가 이미 사람 손으로 “의미 단위”로 나뉘어 있기 때문
- 방식을 고르기 전에 내 문서의 구조가 얼마나 일관적인지부터 확인해야 한다. 문서 종류마다 다른 방식을 쓰는 것도 답이 될 수 있음
- 청킹 기준을 정하려면 결국 “사용자가 어떤 단위로 질문하는가”를 알아야 한다 - 설계를 먼저 그리기보다 실제 사용자의 검색 방식을 먼저 확인할 것