database·Google Drive·Calendar에 흩어진 비공개 교육 운영 정보를 자연어로 조회하는 server를 사례로, RAG가 정말 필요한 조건과 production 구현 절차를 단계별로 설명한다. MCP 접근의 한계에서 출발해 요구사항 정의부터 indexing·retrieval·generation·평가까지 선택 기준을 제시한다.
핵심 포인트- 교육 data가 여러 system에 나뉘어 사용자가 관계를 직접 해석하던 문제를 자연어 통합 검색으로 풀되, 지원 client 의존·local 실행의 격리 network 접근 불가·반복 tool call로 커지는 context window 때문에 MCP 대신 내부 network의 독립 RAG server로 전환
- 비공개·상시 갱신·근거 기반 정확성 요건을 점검해 단순 prompt보다 RAG가 맞는지 먼저 판단하고, 검색 5분→30초·방문 3회→1회 같은 측정 가능한 목표를 세운 뒤 최고 기능보다 team의 Java 경험·배포·logging을 우선해 LangChain 대신 Spring AI 선택
- 고정 크기·parent-child chunking에 출처·시간 metadata를 붙여 1,024차원 embedding으로 Redis vector store에 적재하고, context relevance·faithfulness·answer relevance 세 축을 평가 LLM과 human·ground-truth로 반복 측정하며 작은 변경에도 전체 평가를 재수행
왜 읽나RAG 도입 여부부터 framework·chunking·embedding·평가까지 production 관점의 판단 기준이 필요한 백엔드 엔지니어에게 결정 체크리스트가 담긴 실전 가이드.