키워드 갭
고전 검색 엔진과 SQL LIKE 쿼리는 문자 시퀀스를 매칭해. 의미는 절대 안 봐. "연간 결제 환불 정책" 으로 검색하면 "annual subscription cancellation" 라고 쓰여있는 문서는 0 hit. 의도는 같은데 단어가 한 글자도 안 겹치니까.
형태소 분석, 표제어 추출, 동의어 사전 정도로는 쉬운 케이스 (달리는 → 달리다, 저렴한 ↔ 싼) 만 잡고, 진짜 의미 갭이 생기면 다 무너져:
- "메모리 누수 어떻게 고쳐?" 는 "가비지 컬렉션 디버깅" 을 못 잡아
- "은행이 우리 대출 거절" 은 강둑(river bank) 기사도 똑같이 잘 잡아 (영문에서)
- "PyTorch M3에서 느림" 은 "MLX로 Apple Silicon 학습 가속" 을 못 봐
대신 뭐가 필요해
의미가 곧 좌표 인 표현이 필요해. 같은 뜻인 두 글이 서로 가까운 좌표에 떨어지는 — 단어가 한 개도 안 겹쳐도. 그게 임베딩 이 주는 거고, 이 퀘스트의 나머지는 그걸 어떻게 ingest 하고, 저장하고, 검색하고, 프로덕션에서 신뢰할지를 다뤄.
본인 데이터로 갭 검증부터
벡터 검색 도입 전에 본인 코퍼스에서 갭이 진짜 있는지 증명해. 진짜 유저 쿼리 30개 + 지식 베이스 문서 30개 샘플링한 다음, 의미상 매칭은 명확한데 토큰 겹침이 0인 페어 가 몇 개인지 세. 많으면 벡터 검색 정당화됨. 거의 0이면 BM25 + 동의어 사전이 훨씬 싸고 충분해.