RAG(Retrieval-Augmented Generation)
한 줄 정의
RAG(Retrieval-Augmented Generation)는 질문에 답할 때, 모델이 가진 파라미터 지식만 쓰지 않고 검색으로 근거 문서를 가져와 그 문서를 바탕으로 답을 생성하는 구조다.
왜 중요한가(실무)
실무에서 AI 사고의 주요 원인 중 하나는 “근거 없는 단정”이다. RAG는 이를 줄이는 데 도움이 된다.
- 정책/FAQ/제품 스펙처럼 최신성이 중요한 영역
- 조직 내부 문서를 기반으로 답해야 하는 영역
- “근거 문서/버전”을 남겨야 하는 영역
핵심 이론(구조)
RAG는 보통 아래 흐름으로 동작한다.
- 질문을 임베딩하거나 키워드로 변환한다
- 관련 문서를 검색한다(벡터/키워드/하이브리드)
- 상위 문서(또는 청크)를 컨텍스트에 넣는다
- 모델이 근거를 바탕으로 답을 생성한다
RAG가 실패하는 대표 이유(운영 관점)
1) 문서가 최신이 아니다
문서 버전/승인/폐기 규칙이 없으면, RAG는 오래된 근거를 가져온다.
2) 문서가 ‘검색 가능한 형태’가 아니다
PDF 이미지, 스캔본, 표만 있는 문서, 단어가 제각각인 문서 등은 검색 품질을 떨어뜨린다.
3) 청킹/리랭킹/하이브리드가 없어서 근거가 흔들린다
근거가 끊기거나, 키워드가 중요한데 벡터만 쓰면 틀릴 수 있다.
4) 프롬프트 인젝션(간접 인젝션)
검색된 문서에 “규칙을 무시하라” 같은 악성 지시가 포함될 수 있다. RAG는 보안 설계가 필요하다.
실무 체크리스트(최소)
- 근거 문서에 버전/최종수정일/승인자가 있는가
- 권한 필터(부서/등급)가 검색에 적용되는가
- 답변에 “근거 문서명/버전”을 표시하는가
- 문서 업데이트/폐기와 인덱스 갱신이 연결되어 있는가
- 공격 시나리오(간접 인젝션) 테스트를 해봤는가
더 읽기
- RAG 원전 논문: https://arxiv.org/abs/2005.11401
- OWASP Top 10 for LLM Applications(간접 인젝션 등): https://owasp.org/www-project-top-10-for-large-language-model-applications/