RAG가 실제 서비스에서 무너진 이유: 검색 품질이 핵심
RAG 데모는 좋아 보였지만 실제 사용자가 쓰기 시작하자 답변 정확도가 크게 떨어졌다. 단순한 만으로는 부족했다. 뜻이 비슷해 보이는 이 실제로는 틀린 정보를 담는 경우가 많았기 때문이다.
BM25와 을 함께 쓰는 에 단계를 더하자, 모델을 바꾸는 것보다 더 큰 개선이 있었다. 문서를 어떻게 나누는지도 보다 더 큰 영향을 줬다. 일정한 길이로 자르면 표와 코드가 깨졌고, 문서 구조를 고려해 나누자 많은 문제가 줄었다.
평가 기준이 없으면 개선 여부를 알 수 없어서, 정답 예시 묶음을 만들고 변경할 때마다 검색 정확도를 재었다. 좋아 보이던 개선 중 절반은 실제로는 성능을 떨어뜨렸고, 대부분의 개선은 프롬프트 손질이 아니라 검색 설계에서 나왔다.
핵심 포인트
- 만 쓰면 뜻은 비슷하지만 사실은 틀린 이 선택될 수 있다.
- 과 가 모델 교체보다 답변 품질을 더 크게 개선했다.
- 고정 길이 문서 나누기는 표와 코드를 망가뜨릴 수 있다.
- 정답 예시 묶음으로 검색 정확도를 재야 실제 개선과 퇴보를 구분할 수 있다.
- 프롬프트보다 검색 설계가 RAG 품질의 병목일 수 있다.