
RAG(Retrieval-Augmented Generation)를 이해할 때 프롬프트(Prompt)와 컨텍스트(Context)는 매우 자주 등장하는 개념입니다. 하지만 두 용어가 헷갈리는 경우가 많죠.
간단히 정리하면 다음과 같습니다.
이 관계를 가장 쉽게 설명할 수 있는 방법이 바로 “오픈북 시험” 비유입니다.
즉, LLM은 “지문(컨텍스트)”과 “문제(사용자 질문)”, 그리고 “지시사항”이 모두 적힌 시험지(프롬프트)를 받아 답을 작성하게 됩니다.
RAG 시스템은 벡터 DB에서 ‘문서 조각(텍스트 청크)’을 검색한 뒤, 이를 컨텍스트로 프롬프트에 삽입하여 LLM이 참고할 수 있도록 합니다.
사용자 질문:
“RAG가 뭐예요?”
LLM 입력:
“RAG가 뭐예요?”
LLM은 자신이 기존에 학습한 정보만 기반으로 답해야 합니다.
벡터 DB에서 관련 텍스트 조각을 가져옵니다.
예:
이 검색된 문서들이 컨텍스트(Context) 입니다.
시스템이 템플릿을 이용해 지시문 + 컨텍스트 + 질문을 조합해 최종 프롬프트를 만듭니다.
지시: "아래 컨텍스트를 참고해 질문에 답하세요."
--- 컨텍스트 ---
문서A: RAG는 Retrieval-Augmented Generation의 약자입니다.
문서B: RAG는 LLM이 외부 지식 베이스를 참조하도록 하는 기술입니다.
--- 컨텍스트 끝 ---
질문: "RAG가 뭐예요?"
LLM은 이제 “시험지 전체(프롬프트)”를 읽고, 참고 지문(컨텍스트)을 기반으로 답변을 생성할 수 있게 됩니다.
| 구분 | 프롬프트 (Prompt) | 컨텍스트 (Context) |
|---|---|---|
| 정의 | LLM이 받는 전체 입력 | 배경 정보·참고 자료 |
| 범위 | 넓음 (컨텍스트 포함) | 좁음 (프롬프트의 일부) |
| 역할 | 모델에게 “무엇을 할지” 전달 | 모델에게 “무엇을 참고할지” 전달 |
| RAG에서의 의미 | 지시 + 컨텍스트 + 질문의 총합 | 벡터 DB에서 검색된 청크 |
프롬프트는 전체 시험지, 컨텍스트는 참고 지문이라고 생각하면 두 개념이 명확하게 정리됩니다.
RAG가 어떻게 LLM의 답변 품질을 높이는지도 자연스럽게 이해되죠.