RAG(Retrieval-Augmented Generation) 란 무엇일까?

2025. 7. 15. 15:34·IT 관련 정리

개요

RAG는 Retrieval-Augmented Generation의 약자로, 검색 기반 정보 검색과 생성형 AI를 결합한 기술이다. 간단히 말하면, 필요한 정보를 외부에서 검색해서 그것을 기반으로 답변을 생성하는 방식이다.

"필요한 정보를 외부에서 검색하고, 그 결과를 기반으로 LLM이 응답을 생성하는 구조"

RAG의 구조

RAG는 크게 두 단계로 구성된다.

1. Retrieval (검색 단계)

  • 사용자가 질문을 입력하면,
  • 사전에 구축된 벡터 DB 또는 문서 저장소에서 관련 문서(컨텍스트)를 검색한다.

예: "알베르 카뮈의 대표작은?" → 관련 책 정보를 DB에서 찾아옴

2. Generation (생성 단계)

  • 검색된 문서를 바탕으로,
  • LLM(GPT, Claude 등)이 최종 답변을 자연어로 생성한다.

도입 배경

GPT 같은 LLM은 학습된 데이터에만 기반하여 답변하기 때문에 다음과 같은 한계가 있다.
  • 최신 정보, 내부 문서, 사내 지식에 대응하지 못함
  • 예: "2024년 회사 지출내역을 알려줘" → 알 수 없음

이러한 한계를 보완하기 위해 RAG를 도입하면, 사내 문서, PDF, DB 등에서 컨텍스트를 동적으로 검색하고 이를 기반으로 보다 정확한 최신 답변을 생성할 수 있게 된다.

구성 요소 요약

단계 역할 사용 기술 예시
데이터 수집 텍스트 문서, PDF, 위키 등 수집 크롤러, API, 수동 업로드
임베딩 텍스트를 벡터로 변환 OpenAI Embedding, HuggingFace 등
벡터 저장소 유사도 기반 검색 FAISS, Weaviate, Pinecone, Qdrant
검색 사용자 질문과 유사한 문서 검색 Cosine Similarity 등
생성 검색된 문서 기반으로 답변 생성 GPT-4, Claude 등

예시 흐름

  1. 사용자가 질문: "우리 회사의 작년 수출액은?"
  2. → Vector DB에서 관련 문서 검색 (예: 작년 IR 보고서)
  3. → 질문 + 관련 문서를 LLM에게 전달
  4. → LLM이 문서를 참고하여 정확한 답변 생성

장점

  • 최신 정보 반영 가능
  • 사내 문서 기반의 정밀한 응답 생성
  • 정답률 및 신뢰도 향상

관련 용어 정리

용어 설명
RAG Retrieval-Augmented Generation. 검색된 정보를 기반으로 AI가 답변을 생성하는 방식
LLM Large Language Model. GPT, Claude 등 대규모 언어 모델
벡터 DB 문서를 숫자 벡터로 저장하여 유사한 내용을 빠르게 검색하는 데이터베이스
임베딩 문장이나 단어를 AI가 이해할 수 있는 숫자 벡터로 변환하는 과정
컨텍스트 AI가 답변할 때 참고하는 문서나 정보
FAISS, Weaviate, Pinecone, Qdrant 벡터 DB 구축에 사용되는 솔루션
GPT, Claude 대표적인 생성형 언어 모델
IR 보고서 기업의 실적과 전략이 담긴 Investor Relations 문서

마무리

RAG는 사내 문서나 최신 데이터를 활용해 LLM 기반 시스템의 정확도를 극대화할 수 있는 대표적인 구조다. 검색과 생성의 조합은 단순 질의응답을 넘어, 실제 업무 자동화 및 지식 검색 시스템 구축에 핵심이 된다.

'IT 관련 정리' 카테고리의 다른 글

AI‑Native 개발자란?  (1) 2025.07.16
RAG의 핵심 기술: 임베딩과 벡터 DB란?  (1) 2025.07.15
지금 당장 ‘바이브 코딩’으로 구현할 수 없는 것들  (3) 2025.07.14
MCP‑B: 브라우저 기반 AI 에이전트  (2) 2025.07.14
LLM 컨텍스트 문제 해결 전략 6가지  (2) 2025.07.10
'IT 관련 정리' 카테고리의 다른 글
  • AI‑Native 개발자란?
  • RAG의 핵심 기술: 임베딩과 벡터 DB란?
  • 지금 당장 ‘바이브 코딩’으로 구현할 수 없는 것들
  • MCP‑B: 브라우저 기반 AI 에이전트
moo-n
moo-n
개발관련 기록 블로그
  • moo-n
    moo-n 님의 블로그
    moo-n
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • Cursor AI 교육관련 (4)
      • Cursor AI 사용하기(JAVA) (3)
      • Cursor AI 사용하기(C#) (1)
      • MCP 사용하기 (2)
      • IT 관련 정리 (15)
      • 사이드 프로젝트 (15)
      • 장애대응 매뉴얼 (3)
      • 업무관련 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    포트포워딩
    SVN
    벡터db
    notion
    Agent
    vb6.0
    conTeXt
    에이전트
    notion mcp
    Chunk
    nextjs
    C#
    LLM
    Chunking
    청킹
    claude code
    Cursor
    ClaudeCode
    Rag
    oracleClient
    AI
    방화벽
    mcp
    바이브코딩
    Claude
    임베딩
    OCR
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
moo-n
RAG(Retrieval-Augmented Generation) 란 무엇일까?
상단으로

티스토리툴바