열두 편을 한 장으로 접는다. 먼저 한국어로 서비스할 때만 적용되는 조건을 모으고, 그다음 "우리는 무엇부터 하나"를 결정 트리로 정리한다.
한국어 RAG의 다섯 가지 조건
- 임베딩 기본값을 의심하되, 갈아타는 이득은 제한적이다. 고려대 KURE 리더보드 기준 한국어 8종 평균 nDCG@10은 KURE-v1 0.695 > BGE-m3 0.687 > multilingual-e5-large 0.664 > OpenAI text-embedding-3-large 0.617. OpenAI를 쓰고 있다면 5~8점을 그냥 버리는 셈이지만, 오픈 모델끼리는 격차가 0.3% 수준이라 상위권 안에서 바꿔 타는 건 의미가 없다. 예산은 파싱과 리랭커로(②·③편).
- BM25는 형태소 분석기가 곧 품질이다. 조사 때문에 정확 매칭이 깨지므로 Nori(mecab-ko-dic)나 Kiwi가 필수고, 상품코드·티켓번호·모델명은 형태소 분석에서 빼고 keyword 필드로 색인해야 한다(②편).
- 토큰 효율이 나빠 한도가 먼저 터진다. 컬리 사례에서 사내 문서의 약 85%가 임베딩 모델의 512토큰 한도를 넘겨 앞부분만 색인되고 있었다. 모델을 고를 때 컨텍스트 길이도 기준에 넣어야 한다.
- 파싱에 0단계가 하나 더 있다. Mistral OCR·Docling·Marker·LlamaParse 어디도 HWP/HWPX를 네이티브로 받지 않는다. 공공·금융 문서라면 전용 파서가 파이프라인의 시작점이다(⑧편).
- 생략이 대명사보다 어렵다. "환불돼요?"에는 치환할 앵커조차 없어서, 영어권 재작성 프롬프트를 번역만 하면 원문을 그대로 뱉는다. "생략된 주어·목적어를 복원하라"를 명시해야 한다(⑩편).
그리고 평가 자원의 공백
이 시리즈를 쓰며 반복해 확인한 사실이 있다. 한국어에는 참고할 벤치마크가 거의 없다. 가장 널리 쓰이는 한국어 RAG 리더보드(300문항·5도메인)는 단일 턴이고, 한국어판 MTRAG도 ViDoRe 한국어 스플릿도 없으며, 한국어 text-to-Cypher 자원도, 국내 벤더의 권한 인식 RAG 공개 설계도, 프롬프트 캐시 히트율을 공개한 국내 사례도 찾지 못했다. 결론은 하나다 — 사내 평가셋을 만드는 것 외에 방법이 없다. 300문항·5도메인이면 시작할 수 있고, 근거의 8~33%가 이미지라는 국내 문서 특성상 근거 유형별(문단/표/이미지) 정확도를 나눠 보는 것이 특히 중요하다(⑨편).
결정 트리 — 무엇부터 할 것인가
- 지식베이스가 20만 토큰(약 500쪽) 미만인가? → RAG를 짓지 말고 전문을 넣고 캐싱하라. 지연은 절반, 비용은 최대 90% 절감(⑦편).
- 숫자·집계를 묻는가? → 벡터가 아니라 text-to-SQL. 단 BIRD 최고 81.95% vs 인간 92.96%이니 초안 생성기로 설계(⑥편).
- 그 외 전부 → 하이브리드 검색 + 순서 재정렬부터. mAP 23.99 → 47.14를 지연 +0.14초에 얻는다. 여기서 멈춰도 되는 서비스가 많다(②·④편).
- 여전히 못 찾는다면 → 파싱 품질 점검 → 메타데이터 prefix → 리랭커. 리랭커는 지연으로 고른다(0.02초짜리와 82초짜리가 정확도는 4점 차이). 그다음에야 Contextual Retrieval(③편).
- 질의가 모호하거나 시간·조건이 붙는가? → step-back(TimeQA +27.2). 파인튜닝 리트리버가 있으면 HyDE는 오히려 손해(④편).
- 멀티홉·전역 요약이 핵심인가? → 멀티홉이면 HippoRAG 2, 전역 요약이면 FastGraphRAG + 동적 커뮤니티 선택, 문서가 계속 늘면 LightRAG. MS GraphRAG는 증분 갱신에서 무너진다(⑥편).
- 대화형인가? → 질의 재작성이 필수(첫 턴 Recall 0.89 → 이후 0.47). 요약하지 말고 append-only + 캐시 친화적 블록 순서로(⑩편).
- 사내 문서인가? → 권한 설계가 먼저다. 파생 청크의 권한 = 기여 원본의 교집합, 공집합이면 만들지 않는다(⑪편).
- 운영에 들어가는가? → 삭제·재임베딩·신선도를 예산에 넣는다. 컨텍스추얼 재색인은 평문의 145배이고, 커넥터는 기본적으로 삭제를 전파하지 않는다(⑫편).
- 언제나 → 검색과 생성을 따로 재고, judge는 binary + critique으로, 골든셋은 30개에서 시작한다(⑨편).
비용 순서로 다시 정리하면
| 계층 | 질의당 추가 | 먼저 해야 할 순서 |
|---|---|---|
| 순서 재정렬·하이브리드 | 0원 / +0.14초 | 1 |
| 파싱·메타데이터·청킹(일회성) | 0원 | 2 |
| 리랭커 | 약 3원 | 3 |
| 질의 변환·크리틱 | 5~10원 | 4 |
| 그래프·에이전트 | 150원~1만 원 | 5 |
이 표가 이 시리즈의 요약이다. 대부분의 팀이 5번부터 검토하고 1·2번을 건너뛴다.
마지막으로
열세 편을 관통하는 사실이 하나 있다. 어떤 변형이 맞는지는 논문이 아니라 측정이 답한다. RAG 실패 7가지 지점 논문의 문장을 다시 인용하면 — "RAG 시스템의 검증은 운영 중에만 실질적으로 가능하고, 견고함은 설계되는 것이 아니라 진화한다." 벤더 숫자와 독립 재현의 간격(Contextual Retrieval −67% vs +0.014), 마케팅과 학술 평가의 방향 차이(GraphRAG), 코드가 공개되지 않은 채 인용되는 절감률(LazyGraphRAG)을 이 시리즈에서 반복해 봤다. 남의 숫자로 결정하지 말고, 우리 로그로 재고 우리 문서로 골든셋을 만들자. 그게 이 시리즈에서 가장 값싼 조언이다.
— RAG 종류 총정리 시리즈 ⑬ (완결) / 관련 시리즈: RAG 실전(구축 실무), LLM 서빙 캐싱(비용), 에이전트 설계, 사용자 의도 분석과 LLM 라우팅