청킹
중급청킹는 AI 문맥에서 자주 등장하는 개념입니다. 이 페이지는 중급 난이도로 청킹의 뜻과 쓰임을 빠르게 이해할 수 있도록 정리한 AI 용어사전 항목입니다.
청킹를 처음 보는 독자도 헷갈리지 않도록 정의와 맥락를 한 페이지에 묶었습니다. 아래 설명을 먼저 읽고, 이어서 연결된 개념과 글까지 보면 이해가 훨씬 빨라집니다.
청킹(Chunking)은 긴 문서를 LLM이 처리하기 적합한 작은 조각(chunk)으로 나누는 전처리 과정입니다. RAG(검색 증강 생성) 시스템에서 문서를 벡터 데이터베이스에 저장하기 전에 반드시 거쳐야 하는 핵심 단계입니다.
청킹 전략에 따라 검색 품질이 크게 달라집니다. 고정 크기 청킹(예: 500 토큰씩)은 단순하지만 문맥이 잘릴 수 있습니다. 문장이나 단락 경계를 기준으로 나누는 의미론적 청킹(Semantic Chunking)이 더 나은 결과를 냅니다. 오버랩(overlap)을 두어 인접 청크 간 문맥을 연결하는 방법도 널리 쓰입니다.
예시로, 100페이지 PDF를 RAG 시스템에 넣으려면 먼저 텍스트를 추출하고, 300~500 토큰 단위로 청킹한 뒤, 각 청크를 임베딩 모델로 벡터화하여 벡터 DB에 저장합니다. 질문이 들어오면 가장 관련 있는 청크만 꺼내 LLM에 전달합니다. LangChain의 RecursiveCharacterTextSplitter가 대표적인 청킹 유틸리티입니다.
두꺼운 책을 도서관에 정리할 때 챕터별로 카드를 만들어 색인에 넣는 것과 같습니다. 필요할 때 전체 책을 읽지 않고 해당 카드만 꺼냅니다.
청킹 전략은 크게 네 가지로 분류됩니다. 첫째, 고정 크기 청킹(Fixed-size Chunking)은 글자 수나 토큰 수를 기준으로 균등하게 분할합니다. 구현이 가장 단순하지만, 문장 중간에서 잘리는 경우가 생겨 의미가 훼손될 수 있습니다. 둘째, 문장 기반 청킹(Sentence-based Chunking)은 마침표, 물음표 등 자연어 경계를 기준으로 분할합니다. 의미 단위를 보존하는 데 유리합니다. 셋째, 재귀적 청킹(Recursive Chunking)은 단락, 문장, 단어 순서로 계층적으로 분할하여 각 청크가 목표 크기를 초과하지 않도록 조정합니다. 넷째, 의미론적 청킹(Semantic Chunking)은 임베딩 유사도를 활용하여 의미적으로 유사한 문장끼리 묶어 분할합니다. 가장 정교한 방식이지만 계산 비용이 높습니다.
청크 크기와 오버랩 설정은 RAG 시스템의 성능에 직접적인 영향을 미칩니다. 청크가 너무 작으면 각 청크가 담는 맥락이 부족해 LLM이 답을 생성하기 어렵습니다. 반대로 청크가 너무 크면 검색 단계에서 관련 없는 정보까지 함께 포함되어 응답 품질이 떨어집니다. 일반적으로 256~512 토큰이 실용적인 출발점으로 권장됩니다. 오버랩은 인접한 청크 사이에 일부 텍스트를 겹치게 하여 경계에서 잘리는 맥락 손실을 보완합니다. 오버랩 크기는 전체 청크 크기의 10~20% 수준이 자주 쓰입니다.
청킹은 RAG뿐 아니라 다양한 AI 파이프라인에서 중요한 역할을 합니다. 법률 계약서 분석 시스템에서는 각 조항을 별도의 청크로 처리하여 특정 조항에 대한 질문에 정확히 답할 수 있게 합니다. 학술 논문 검색 시스템에서는 초록, 서론, 방법론, 결론을 각각 독립된 청크로 관리합니다. 고객 지원 챗봇은 제품 매뉴얼을 기능 단위로 청킹하여 관련 섹션만 빠르게 찾아 답변에 활용합니다. 이처럼 청킹 전략은 도메인과 문서 유형에 따라 맞춤화해야 효과를 극대화할 수 있습니다.
청킹과 관련해 자주 오해하는 점은 '청크가 클수록 더 많은 정보를 담아 좋다'는 생각입니다. 실제로는 청크가 클수록 임베딩이 다루는 정보가 많아져 벡터 공간에서 명확한 의미를 포착하기 어려워집니다. 결국 검색 단계에서 원하는 내용이 담긴 청크를 정확히 찾는 능력이 낮아집니다. 또 다른 오해는 '동일한 청킹 전략이 모든 문서에 최적'이라는 가정입니다. 코드 파일, 법률 문서, 대화 기록, 학술 논문은 각각 다른 구조를 가지기 때문에 맞춤형 전략이 필요합니다. 청킹 설계는 단순 설정값 조정이 아니라 도메인 이해를 바탕으로 한 공학적 결정입니다.
최근에는 소형 청크로 검색하고 대형 청크로 답변을 생성하는 '소형-대형 청킹(Small-to-Big Chunking)' 기법이 주목받고 있습니다. 검색 단계에서는 작은 청크로 정밀도를 높이고, 실제 LLM에 전달할 때는 해당 소형 청크가 속한 더 큰 부모 청크를 전달하는 방식입니다. 덕분에 검색 정확도와 응답 생성 품질을 동시에 높일 수 있습니다. 이 외에도 문서의 메타데이터(작성자, 날짜, 출처 등)를 청크와 함께 저장하면 검색 결과의 필터링과 신뢰도 평가에 활용할 수 있어 실무에서 중요하게 다뤄집니다.
