RAG 구조나 프롬프트 튜닝으로 검색 품질을 높인 실제 경험을 전달한다
개인 프로젝트에서 사내 문서 검색 시스템을 LLM 기반으로 개선하는 실험을 진행했습니다. 기존 키워드 검색은 질문과 문서 표현이 달라서 관련 문서를 찾지 못하는 문제가 자주 발생했습니다.
적용한 방식은 RAG(검색 증강 생성) 구조였습니다. 문서를 임베딩으로 변환하여 벡터 DB에 저장하고, 사용자 질문도 임베딩으로 변환해 코사인 유사도 기준 Top-K 문서를 검색한 뒤 LLM에게 문맥으로 넣어 답변을 생성하는 흐름이었습니다. 처음에 청크 사이즈를 너무 크게 설정했더니 관련 없는 정보가 문맥에 섞여 LLM 답변이 흔들리는 문제가 발생했고, 청크를 300토큰 이하로 줄이고 오버랩을 주는 방식으로 개선했습니다.
Precision@3이 0.52에서 0.71로 향상되었는데, 청크 설계 하나가 이렇게 크게 영향을 줄 줄 몰랐습니다.
LLM은 검색의 마지막 단계가 아니라 검색 결과를 재해석하는 레이어라고 생각합니다. 검색 품질은 임베딩 설계와 청크 구조에서 먼저 결정되고, LLM은 그 위에서 작동합니다.