← 프리뷰 목록으로

프로덕션 RAG: 500만 개 문서 처리하며 배운 것들

게시일: 2025년 11월 23일 | 원문 작성일: 2025년 10월 20일 | 저자: Abdellatif Abdelfattah | 원문 보기

핵심 요약

지난 8개월간 RAG 최전선에서 싸우며 발견한 진실: 데모와 프로덕션 사이의 차이는 항상 똑같은 것들 때문이에요.

  • 쿼리 생성리랭킹이 가장 큰 효과가 있어요
  • 청킹 전략은 시간이 제일 많이 걸리지만 필수입니다
  • 메타데이터를 LLM에 넘기는 것만으로도 엄청난 개선이 있어요
  • 모든 질문이 RAG로 해결되는 건 아니에요 - 쿼리 라우팅이 필요합니다

저는 지난 8개월을 RAG에 파묻혀 보냈어요. 실제로 작동한 것과 시간 낭비였던 것을 공유하고 싶네요. Usul AI (900만 페이지)와 이름을 밝힐 수 없는 법률 AI 엔터프라이즈 (400만 페이지)를 위한 RAG를 만들었습니다.

Langchain + Llamaindex

유튜브 튜토리얼부터 시작했어요. 처음엔 Langchain → Llamaindex 순으로요. 며칠 만에 작동하는 프로토타입을 만들었고 잘 되고 있다고 생각했죠. 데이터 일부(100개 문서)로 테스트를 돌렸고 결과가 훌륭해 보였어요. 다음 며칠은 프로덕션 데이터셋에 파이프라인을 돌리는 데 보냈고, 일주일 만에 모든 게 작동했어요 — 놀라웠죠.

그런데 아니었어요. 결과가 형편없었지만 실제 사용자들만 그걸 체감했죠. 다음 몇 달간 시스템의 각 부분을 하나씩 다시 작성하면서 성능을 원하는 수준으로 끌어올렸어요. 여기 ROI 순으로 정리한 우리가 한 일들이 있어요.

실제로 효과가 있었던 것들

1

쿼리 생성 (Query Generation)

모든 맥락이 사용자의 마지막 쿼리에만 담기는 건 아니에요. LLM이 스레드를 리뷰하고 여러 개의 시맨틱 + 키워드 쿼리를 생성하도록 했어요. 이 쿼리들을 모두 병렬로 처리하고 리랭커로 전달했죠. 덕분에 더 넓은 범위를 다룰 수 있었고 하이브리드 검색으로 계산한 점수에 의존하지 않아도 됐어요.

2

리랭킹 (Reranking)

추가할 5줄 코드 중 가장 큰 효과를 내요. 청크 순위가 엄청나게 많이 바뀌었어요. 예상보다 훨씬 더요. 리랭킹은 청크를 충분히 주기만 하면 나쁜 셋업도 많이 보완할 수 있어요. 이상적인 리랭커 셋업은 50개 청크 입력 → 15개 출력이었습니다.

3

청킹 전략 (Chunking Strategy)

이건 엄청난 노력이 필요해요. 대부분의 시간을 여기에 쓸 거예요. 두 엔터프라이즈 모두를 위한 커스텀 플로우를 만들었어요. 데이터를 이해하고, 청크를 리뷰하고, a) 청크가 단어나 문장 중간에서 잘리지 않는지 b) 각 청크가 논리적 단위이고 독립적으로 정보를 담고 있는지 확인해야 해요.

4

메타데이터를 LLM에 전달

처음엔 청크 텍스트만 LLM에 전달했어요. 실험을 돌려봤더니 관련 메타데이터(제목, 저자 등)도 함께 주입하면 맥락과 답변이 엄청나게 개선되더라고요.

5

쿼리 라우팅 (Query Routing)

많은 사용자가 RAG로 답할 수 없는 질문을 해요 (예: 기사를 요약해줘, 이거 누가 썼어). RAG 전체 셋업 대신 API 호출 + LLM으로 이런 질문들을 감지하고 답하는 작은 라우터를 만들었어요.

우리의 기술 스택

벡터 데이터베이스: Azure → Pinecone → Turbopuffer (저렴하고 키워드 검색을 네이티브로 지원)
문서 추출: 커스텀
청킹: Unstructured.io가 기본, 엔터프라이즈는 커스텀 (Chonkie가 좋다는 얘기를 들었어요)
임베딩: text-embedding-3-large, 다른 건 테스트 안 해봤어요
리랭커: None → Cohere 3.5 → Zerank (덜 알려졌지만 실제로 좋아요)
LLM: GPT 4.1 → GPT 5 → GPT 4.1, Azure 크레딧으로 커버

오픈소스로 공개

배운 것들을 모두 오픈소스 프로젝트에 담았어요: agentset-ai/agentset MIT 라이선스로요. 궁금한 게 있으면 연락 주세요.

저자 소개: Abdellatif Abdelfattah는 Usul AI와 법률 AI 엔터프라이즈를 위한 RAG 시스템을 구축한 엔지니어입니다.

참고: 이 글은 실전 RAG 시스템 구축 경험을 담은 개인 블로그 포스트를 번역한 것입니다.

원문: Production RAG: what I learned from processing 5M+ documents - Abdellatif Abdelfattah (2025년 10월 20일)

생성: Claude (Anthropic)

총괄: (디노이저denoiser)