청킹(Chunking)은 긴 문서를 검색에 쓸 수 있는 작은 조각으로 나누는 전처리 작업이다. RAG와 AI 검색은 문서 전체가 아니라 이 조각 단위로 후보를 찾고 답변 근거로 가져간다.
조각 하나를 청크(chunk)라 부른다. 어디서 자르느냐에 따라 같은 문서라도 검색되는 내용이 달라진다.
같은 단어가 다른 분야에서도 쓰인다. 인지심리학의 청킹은 정보를 의미 있는 묶음으로 만들어 기억 용량을 늘리는 방법이고 (위키백과, 덩이짓기), 타이어 업계의 청킹은 트레드 고무가 뜯겨 나가는 손상을 뜻한다.
이 문서는 AI와 검색 분야의 청킹을 다룬다.
모델이 답을 만들 때 읽는 것은 문서가 아니라 청크이기 때문이다. 검색 단계에서 잘못 잘린 조각이 뽑히면 그 뒤의 생성 단계가 아무리 좋아도 답이 틀어진다.
문제는 두 방향으로 생긴다.
실제 격차는 측정된다. 크로마 리서치가 다섯 개 말뭉치 328,208토큰과 생성 질의 472건으로 청킹 방식을 비교한 실험에서, 재현율은 방식에 따라 87.3%에서 91.9%까지 벌어졌다 (Chroma Research, Evaluating Chunking Strategies for Retrieval).
검색기와 모델을 그대로 두고 자르는 방식만 바꿔도 이만큼 움직인다.
무엇을 경계로 삼느냐에 따라 나뉜다.
| 방식 | 자르는 기준 | 강점 | 약점 |
|---|---|---|---|
| 고정 길이 | 정해진 토큰 수나 글자 수 | 구현이 단순하고 예측 가능 | 문장 중간이 잘린다 |
| 재귀적 | 문단, 줄바꿈, 문장 순으로 큰 단위부터 | 자연스러운 경계를 우선 유지 | 문단이 길면 결국 강제로 잘린다 |
| 문서 구조 기반 | 헤딩, 표, 코드 블록 같은 마크업 | 원문의 논리 단위를 그대로 보존 | 구조가 없는 문서에 못 쓴다 |
| 의미 기반 | 문장 임베딩의 유사도가 끊기는 지점 | 주제가 바뀌는 곳에서 잘린다 | 인덱싱 비용과 시간이 늘어난다 |
| 페이지 단위 | PDF의 페이지 경계 | 원문 레이아웃과 어긋나지 않는다 | 페이지가 없는 형식에 못 쓴다 |
기본값으로는 재귀적 방식이 널리 쓰인다. 문서에 헤딩 구조가 살아 있으면 구조 기반이 더 낫고, 주제가 자주 바뀌는 긴 산문에서는 의미 기반이 유리하다.
기대와 결과가 어긋난다. 정교한 방식이 언제나 이기지는 않는다.
크로마 리서치의 실측에서 재현율이 가장 높았던 것은 GPT-4o에게 자르게 한 방식으로 91.9%였지만, 정밀도는 3.9%로 가장 낮은 축이었다. 반대로 200토큰 고정 길이 재귀 분할은 재현율 88.1%에 정밀도 7.0%였고, 200토큰 의미 기반 분할이 정밀도 8.0%로 가장 높았다 (Chroma Research, Evaluating Chunking Strategies for Retrieval).
| 방식 | 재현율 | 정밀도 |
|---|---|---|
| LLM 분할 (GPT-4o) | 91.9% | 3.9% |
| 800토큰 고정 길이, 400토큰 겹침 | 88.5% | 1.4% |
| 200토큰 재귀 분할, 겹침 없음 | 88.1% | 7.0% |
| 200토큰 의미 기반 분할 | 87.3% | 8.0% |
재현율만 보면 LLM 분할이 이기지만, 정밀도까지 보면 조각이 커서 관련 없는 내용을 함께 끌어온 결과다.
엔비디아가 767개 PDF와 질문 991건을 포함한 다섯 개 데이터셋으로 세 가지 접근을 비교했을 때도, 평균 정확도가 가장 높았던 것은 페이지 단위 청킹의 0.648이었고 토큰 기반은 크기를 128에서 2,048까지 바꿔도 0.603에서 0.645 사이에 머물렀다 (NVIDIA, Finding the Best Chunking Strategy for Accurate AI Responses).
정리하면 두 가지다. 비싼 방식이 항상 이기지는 않고, 문서 형식에 맞는 경계가 있으면 그것을 쓰는 편이 낫다.
질문의 성격에서 시작한다. 엔비디아는 사실 확인형 질의에는 256에서 512토큰, 복잡한 분석형 질의에는 1,024토큰이나 페이지 단위가 잘 맞았다고 밝혔다 (NVIDIA, Finding the Best Chunking Strategy for Accurate AI Responses).
겹침(overlap)은 앞 청크의 끝을 다음 청크의 앞에 다시 넣어 문맥이 끊기는 것을 막는 장치다. 다만 공짜가 아니다.
크로마 리서치는 겹침을 줄일수록 중복 정보를 벌점으로 매기는 지표가 좋아진다고 밝혔다. 실제로 800토큰에 400토큰을 겹친 설정은 재현율 88.5%를 냈지만 정밀도는 1.4%로 비교 대상 중 가장 낮았다 (Chroma Research, Evaluating Chunking Strategies for Retrieval).
정할 때 순서는 이렇다.
적용된다. 구글은 패시지 랭킹을 두고 "웹페이지의 개별 섹션이나 패시지를 식별해 그 페이지가 검색어에 얼마나 관련 있는지 더 잘 이해하는 AI 시스템"이라고 설명한다 (Google Search Central, A Guide to Google Search Ranking Systems).
페이지 전체가 아니라 그 안의 한 대목이 평가 단위가 된다는 뜻이다. AI 검색 답변에 인용문으로 실리는 것도 문서가 아니라 문단이다.
차이는 통제권에 있다. RAG에서는 우리가 자르는 방식을 정하지만, 웹에서는 검색 엔진이 자른다. 우리가 할 수 있는 것은 잘리기 좋은 구조로 쓰는 것뿐이다.
같은 원리를 문서 전체 설계로 확장한 것이 GEO이고, 하나의 질문이 여러 하위 질문으로 갈라지며 조각을 찾아가는 구조는 쿼리 팬아웃에서 다룬다. 그 결과로 얻는 인용은 LLM 인용, 인용이 얼마나 잡히는지는 AI 가시성 문서에 있다.
파싱이 먼저다. PDF나 HTML에서 텍스트와 표, 헤딩 구조를 꺼내는 것이 파싱이고, 그렇게 꺼낸 텍스트를 조각으로 나누는 것이 청킹이다.
파싱이 헤딩 구조를 잃어버리면 구조 기반 청킹은 쓸 수 없다. 두 단계가 이어져 있는 이유다.
어원은 같지만 대상이 다르다. 인지심리학의 청킹은 사람이 정보를 의미 있는 묶음으로 만들어 기억하는 방법이고, 조지 밀러가 단기기억 용량으로 7±2를 제시한 연구가 그 출발점이다 (위키백과, 덩이짓기).
AI의 청킹은 사람이 아니라 검색 시스템이 다룰 단위를 만드는 작업이다. "의미 있는 덩어리로 묶는다"는 발상만 공유한다.
서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.