마케팅 팀에 인공지능 비서 구축 요청은 보통 같은 문장으로 들어옵니다. 'ChatGPT처럼 되게 해주세요, 하지만 우리 제품에 대해서는 알아야 해요.' 첫 프로토타입은 몇 시간 만에 나오지만, 그 후에 문제가 발생합니다. 이 비서는 작년 가격표를 가지고 견적서를 작성하거나, 제시되지 않은 기능을 약속하거나, 혹은 두 가지 다른 제품의 조건을 하나의 답변에서 혼동합니다.
Koray Yalçın이 마케팅 팀을 위한 RAG 아키텍처에 대해 설명한 글은, 이러한 위험이 왜 상업적인 위험인지, 그리고 RAG(Retrieval-Augmented Generation, 즉 모델이 답변을 생성하기 전에 회사의 검증된 문서에서 관련 구절을 가져오는 것)가 이를 어떻게 줄이는지 높은 수준에서 설명합니다. 이 글의 가장 중요한 발견 중 하나는 다음과 같습니다: 시스템의 성공은 모델의 크기보다 정보가 어떻게 청킹(chunking)되는지에 달려 있습니다. 저는 이 글에서 그 문장을 개발자 입장에서 자세히 풀고 싶습니다.
고정된 크기의 청킹이 마케팅 문서에서 깨지는 이유
텍스트를 500단어 블록으로 나누는 것은 쉽고 기술 문서에서는 대부분 충분합니다. 하지만 마케팅 문서는 다릅니다: 캠페인 조건 페이지에는 '유효 날짜', '제외 제품', 그리고 '가격'이 서로 연결된 세 개의 작은 섹션입니다. 분할 지점이 정확히 중간에 오면, 가져온 구절에는 가격은 있지만 어느 시점에 속하는지 알 수 없습니다. 모델은 이 공백을 자신감 있는 언어로 채워버립니다.
따라서 제목, 목록, 표를 온전히 유지하는 의미론적 청킹(semantic chunking)을 기본값으로 사용하는 것이 더 안전합니다.
모든 조각에 정체성을 부여하세요
청킹의 두 번째 부분은 메타데이터입니다. 한 구절이 그 자체로 의미 있으려면 어떤 문서에서, 어떤 제목 아래서, 어느 날짜에 왔는지 알아야 합니다. 간단한 구조는 다음과 같을 수 있습니다:
from dataclasses import dataclass
from datetime import date
...
여기서 두 가지 작은 결정이 큰 차이를 만듭니다. 첫째는 제목 경로를 임베딩 입력에 추가하는 것입니다: '기업 패키지' 아래의 두 문장으로 된 단락은 맥락 없이 검색될 경우 거의 어떤 질문에도 일치하지 않습니다. 둘째는 유효 날짜입니다: 오래된 가격 목록을 삭제하는 대신 valid_until로 표시하고 쿼리 시점에 필터링하면 과거에 대한 질문에 답할 수 있을 뿐만 아니라 최신 답변에서 오래된 정보를 제외시킬 수 있습니다.
가져오기 전에 필터링하기
벡터 검색은 '가장 유사한' 것을 찾을 뿐, '가장 정확한' 것은 아닙니다. 가격이 질문된 경우, 사례 분석에서 온 단락이 의미론적으로 매우 유사할 수 있습니다. 실제로 잘 작동하는 접근 방식은 먼저 질문을 간단한 분류를 거치게 하고 doc_type 및 날짜 필터를 검색에 추가한 다음, 남아 있는 후보들 중에서 유사성 순위를 매기는 것입니다. Pinecone, Qdrant, Milvus와 같은 벡터 데이터베이스 모두 메타데이터 필터를 지원하며, 이 기능을 사용하지 않는 것은 제가 가장 자주 보는 실수 중 하나입니다.
출처를 제시하지 않은 답변 거부하기
마지막 레이어 생성 단계입니다. 모델에 '제공된 단락만을 사용하여 답변하고, 모든 주장에 doc_id 옆에 작성하며, 단락에 없으면 모른다고 말하라'는 지침을 주는 것만으로는 충분하지 않습니다. 이를 코드에서도 검증해야 합니다. 답변에 포함된 출처 ID가 가져온 단락들 사이에 없거나 아예 출처가 없다면, 답변이 사용자에게 가기 전에 표시되어야 합니다. 영업팀이 고객 앞에서 사용하는 어시스턴트에서 '모른다'고 말하는 것은 잘못된 약속을 하는 것보다 항상 저렴합니다.
작은 체크리스트
- 청킹(chunking)이 제목 및 표 경계에 준수하고 있나요?
- 각 단락마다 문서 유형, 제목 경로, 유효 날짜가 있나요?
- 검색 전에 메타데이터 필터가 적용되나요?
- 답변의 모든 주장이 가져온 단락과 연결될 수 있나요?
- 문서의 소유자가 명확하고 업데이트되면 재인덱싱 되나요?
마케팅 팀을 위한 RAG 구축 시 청킹 및 메타데이터: 현장에서 배운 교훈
본 구조는 문서 풀에서 생성 단계까지의 흐름과 마케팅 측면에서의 활용 사례(제안서 응답, 브랜드 언어 검토, 영업 담당자 비서)에 관심 있는 분들을 위한 참고 자료입니다: 마케팅 팀을 위한 RAG 및 기업 지식 기반 아키텍처