AI에게 도메인을 가르치다 두 번 갈아엎은 이야기 — LLM Wiki + RAG 혼합기
김태훈 · 컬리 · 컬리 기술 블로그
소개
도메인 지식을 LLM에게 먹이는 방법 — Inverted Index, 본문 임베딩, 요약 임베딩+FTS 세 가지 시도와 두 번의 갈아엎기
AI 핵심 요약
사내 도메인 지식을 LLM에 제공하기 위해 LLM Wiki를 구축했지만, 문서가 늘면서 컨텍스트 비용과 정보 누락 문제가 생겨 검색 구조를 두 차례 바꿨습니다. 먼저 Inverted Index를 시도했으나 동의어를 놓치고 같은 키워드가 든 무관한 문서까지 불러왔고, 본문 임베딩은 의미 검색을 개선했지만 다주제 문서의 의미가 평균화되고 약어·티켓 ID 검색에 약했습니다. 최종적으로 문서를 한 주제씩 분리하고, 사람이 검토한 짧은 요약은 multilingual-e5-small과 sqlite-vec으로 의미 검색하며 본문 전체는 SQLite FTS5와 BM25로 검색하도록 역할을 나눴습니다. 이 방식은 임베딩 입력 잘림을 막고 식별자 검색을 보완했으며, 검색 시스템에서는 모델·사람·도구가 잘하는 일을 분담하는 것이 중요하다는 교훈을 남겼습니다.
- 키워드 색인은 동의어 누락과 무관한 문서의 과다 검색을 일으킬 수 있으므로, 색인 유지 비용까지 함께 평가해야 합니다.
- 임베딩 모델의 입력 길이 제한을 확인하고, 문서가 잘리는지 실제 토큰 분포로 검증하세요.
- 다주제 문서는 주제별로 나누면 각 요약의 의미가 선명해져 검색 정확도를 높일 수 있습니다.
- 의미 검색과 정확한 식별자 검색은 서로 다른 문제이므로, 임베딩과 FTS5·BM25처럼 적합한 검색 채널을 조합하세요.
- LLM이 만든 요약은 검색 품질의 핵심 메타데이터가 되므로 사람의 검토와 품질 관리가 필요합니다.
비슷한 학습 자료
All About LLM: 카카오 AI메이트, 학습부터 서빙까지의 모든 것
if kakao · YouTube
[팀네이버 컨퍼런스 DAN25] 검색 서비스에 최적화된 LLM 만들기: 데이터, 학습, 서비스 적용 사례
DAN 2025 · YouTube
[팀네이버 컨퍼런스 DAN25] Station M: LLM 그냥 쓰지마세요. 네이버 AI 검색의 모델 오케스트레이션
DAN 2025 · YouTube
LLM을 활용한 실전 AI 애플리케이션 개발
허정준 · Yes24
LLM은 똑똑한데, 왜 우리 회사 일은 모를까
김병균 · 토스 기술 블로그
LLM을 이용한 서비스 취약점 분석 자동화 #1
표상영 · 토스 기술 블로그