RAG 구현 단계별 기술 제원과 비용
가장 단순한 형태의 RAG는 Elasticsearch나 Postgres의 전체 텍스트 검색(Full-text search)에서 사용하는 BM25 알고리즘을 기반으로 한다. 이 방식은 별도의 머신러닝(ML) 복잡도 없이 10ms 미만의 지연시간을 기록하며, 청킹(Chunking) 전략이 필요 없어 문서 전체를 그대로 처리한다. API 비용이 발생하지 않으며 모델 업데이트에 따른 리스크가 없다는 점이 특징이다.
GPT-4o-mini를 이용한 쿼리 재작성(Query Rewriting) 단계로 넘어가면 쿼리당 약 0.001달러의 비용이 발생한다. LLM이 사용자의 구어체 질문에서 불용어를 제거하고 동의어를 추가하거나 도메인 용어를 변환하여 BM25 검색에 최적화된 키워드로 변환하는 처리 과정을 거친다. 이 방식은 임베딩 기반 검색과 달리 시스템 프롬프트 수정만으로 검색 전략을 즉시 변경할 수 있다.
하이브리드 검색의 비용 효율성은 사용 모델에 따라 달라진다. OpenAI의 `text-embedding-3-small`($0.02/1M tokens)을 사용해 쿼리당 50개의 문서(평균 500토큰)를 실시간 임베딩하여 리랭킹(Reranking)할 경우, 쿼리당 비용은 약 0.0005달러 수준이다. 다만 이 과정에서 200~500ms의 지연시간이 추가되며, 이는 사용자 경험에 직접적인 영향을 주는 제약 사항이 된다.
검색 메커니즘과 데이터 처리 파이프라인
BM25와 임베딩의 결합은 키워드 매칭의 정확성과 의미론적 이해를 동시에 확보하는 구조로 작동한다. 먼저 BM25를 통해 상위 50~100개의 후보군을 빠르게 추출하고, 이후 임베딩 모델을 통해 상위 10개의 최종 결과를 리랭킹하는 파이프라인을 구성한다. 데이터 갱신이 빈번한 경우 모든 문서를 미리 임베딩하는 대신, 쿼리 시점에 필요한 문서만 임베딩하는 '온더플라이(On-the-fly)' 방식이나 자주 접근하는 문서만 사전 임베딩하는 '핫/콜드 티어(Hot/Cold Tier)' 구조를 채택해 지연시간과 신선도 사이의 균형을 맞춘다.
에이전틱 RAG(Agentic RAG)는 복합적인 의도를 가진 쿼리를 처리하기 위해 하위 쿼리로 분해하는 메커니즘을 사용한다. 예를 들어 "CSV 읽기, 데이터 정제, 결과 플로팅"이라는 요청이 들어오면 이를 세 개의 독립적인 쿼리로 나누어 병렬 실행한 뒤 결과를 통합한다. 이 과정에서 쿼리 재작성 비용은 약 0.005달러로 상승하지만, 각 하위 쿼리가 정밀해지므로 검색 정확도가 높아진다.
임베딩 모델의 버전 변경은 인프라 운영의 핵심 리스크다. `text-embedding-ada-002`에서 `text-embedding-3`로 모델을 교체할 경우, 전체 사전 임베딩(Full Pre-embedding) 방식을 사용하는 시스템은 수백만 개의 문서를 모두 다시 임베딩하고 벡터 데이터베이스를 업데이트해야 한다. 반면 온더플라이 방식은 코드 한 줄의 모델명 변경만으로 업데이트가 완료된다.
데이터 특성에 따른 인프라 선택 기준
데이터의 갱신 주기와 규모는 기술 스택 결정의 기준점이 된다. 일일 데이터 변경률이 10%를 초과하는 고변동성 데이터나 실시간성이 중요한 뉴스, 소셜 미디어 데이터는 온더플라이 임베딩이 적합하다. 반면 일일 쿼리량이 10,000건을 초과하고 데이터 변경률이 월 5% 미만인 안정적인 코퍼스 환경에서는 50ms 미만의 지연시간을 보장하는 전체 사전 임베딩과 ANN(Approximate Nearest Neighbors) 검색이 필수적이다.
팀의 ML 전문성 수준 또한 결정 요인이다. ML 전문 인력이 없는 경우 '전체 텍스트 검색 + 쿼리 재작성' 조합만으로도 대부분의 유스케이스를 해결할 수 있다. 80/20 법칙에 따라 전체 시스템의 약 60%는 이 단계에서 최적화가 완료되며, 하이브리드 검색이나 전체 사전 임베딩은 데이터 기반의 성능 저하가 증명된 경우에만 단계적으로 도입하는 것이 효율적이다.
실무 개발자는 먼저 BM25로 베이스라인을 구축하고 2~4주간 사용자 피드백을 수집한 뒤, "존재하는 문서가 검색되지 않는다"는 불만이 있을 때만 쿼리 재작성을, "결과가 만족스럽지 않다"는 평가가 나올 때만 하이브리드 검색을 도입하는 순차적 최적화 경로를 따라야 한다.




