피드로 돌아가기
Why I Built RAG From Scratch Before Using LangChain
Dev.toDev.to
AI/ML

Framework 추상화 제거를 통한 RAG 핵심 파이프라인 설계 및 Retrieval 품질의 결정적 영향력 검증

Why I Built RAG From Scratch Before Using LangChain

Sumayea Rahman2026년 6월 7일7beginner

Context

LangChain 등 고수준 Framework의 추상화로 인해 내부 동작 원리와 디버깅 포인트가 은폐되는 문제 발생. Retrieval 실패 시 원인 파악이 어려운 한계를 극복하기 위해 기초 컴포넌트 중심의 Bare-metal RAG 구현 시도.

Technical Solution

  • Sentence-based Chunking을 통한 데이터 분할로 Retrieval Precision과 Context 보존 사이의 Trade-off 분석
  • Gemini Embeddings API를 활용하여 텍스트 데이터를 고차원 Vector로 변환함으로써 Semantic Search 기반 마련
  • Cosine Similarity를 직접 구현하여 Vector Database 없이 쿼리와 문서 간의 수학적 유사도 계산 로직 검증
  • Retrieval-then-Generation 구조 설계를 통해 LLM의 외부 지식 참조 및 Grounding 메커니즘 구현
  • Single-result Retrieval 방식을 적용하여 가장 유사도가 높은 단일 Chunk를 Context로 주입하는 단순화된 파이프라인 구축

- RAG 성능 최적화 시 Prompt Engineering보다 Retrieval 단계의 데이터 품질과 Chunking 전략을 우선 검토할 것 - 추상화 도구 도입 전 Cosine Similarity와 Embedding의 동작 원리를 파악하여 디버깅을 위한 Mental Model을 구축할 것 - Production 환경 전환 시 Single-result에서 Top-K Retrieval 및 Hybrid Search로의 확장 가능성을 고려하여 설계할 것

원문 읽기