RAG 입문: PDF 전문 대신 관련 조각만 찾아 인용하는 이유 | DAKER 커뮤니티
처음 RAG를 접할 때 가장 자주 부딪히는 장면이 있습니다. 사내 휴가 규정 PDF를 통째로 넣고 연차 발생 기준을 물었는데, 답은 그럴듯해 보여도 정작 어느 조항에서 왔는지 확인하기 어려운 경우입니다. 문서에 없는 내용을 섞어 말하면 더 곤란해집니다.
이 글은 DAKER 학습 자료 LLM·RAG 초급 ① — 프롬프트만으로 vs RAG가 필요한 순간을 바탕으로, 왜 PDF 전문을 매번 넣는 방식에서 벗어나야 하는지, 그리고 어떻게 관련 조각만 찾아 인용하는 흐름으로 바꿀 수 있는지를 간단히 정리합니다.
전문을 넣어도 근거가 남지 않는 이유
순수 프롬프트는 요약, 번역, 코드 초안, 브레인스토밍처럼 문서 없이도 답할 수 있는 작업에 잘 맞습니다. 이때 모델은 이미 학습한 일반 지식과 추론을 활용합니다. 반면 사내 규정, 어제 배포된 API, 고객 계약처럼 모델이 본 적 없는 사실을 물으면 그럴듯한 추측이 섞이기 쉽습니다.
초보자가 자주 쓰는 이 PDF 전부 읽고 답해줘 방식은 몇 가지 문제를 함께 키웁니다. 요청마다 토큰과 비용이 커지고, 긴 문서 안의 노이즈가 답을 흔들며, 답이 어느 문장에서 왔는지 확인하기 어려워집니다.
RAG의 핵심은 문서 전체를 매번 넣는 것이 아니라, 관련 조각만 찾아 답의 근거로 쓰는 데 있습니다.
학습 자료의 비교 기준도 같습니다. 일반 개념 설명과 창의적 초안은 프롬프트만으로 충분하지만, 사내 위키 조항, 최신 릴리즈 노트, 정책 인용처럼 특정 문서에 근거해야 하는 질문은 RAG 쪽이 더 잘 맞습니다. 문서 ID가 질문에 들어 있거나 정책 조항을 인용해야 한다면 RAG가 강하고, 정답 소스가 없거나 숫자 계산이 핵심이라면 프롬프트나 도구 호출이 더 적절합니다.
RAG가 필요한 순간을 가르는 세 가지 신호
자료에서 제시하는 기준은 분명합니다. RAG가 특히 유용한 순간은 지식 컷오프, 사설 코퍼스, 근거 제시가 걸린 경우입니다.
휴가 규정의 연차 발생 기준은 이 가운데 사설 코퍼스와 근거 제시에 동시에 해당합니다. 그래서 모델이 아는 일반적인 휴가 상식이 아니라, 우리 문서에 적힌 조항을 찾아 답해야 합니다. 오답 비용이 큰 질문일수록 이 판단을 먼저 해두는 것이 좋습니다.
우리 문서의 조항이 필요한 질문이라면, 일반 상식보다 검색과 인용이 먼저입니다.
이때 프롬프트의 계약도 함께 바뀝니다. 단순히 우리 회사 휴가 규정 알려줘라고 묻기보다, 역할과 목표, 제약, 성공 조건, 실패 시 행동을 분명히 적는 편이 낫습니다. 예를 들어 사내 FAQ 도우미라는 역할 아래, 휴가 규정의 연차 발생 기준만 답하고, 제공된 문서 밖 사실은 추측하지 않으며, 조항 번호와 한 줄 인용을 포함하고, 문서에 없으면 문서에 없음이라고 답하도록 정리하는 방식입니다.
관련 조각만 넣고 답을 인용으로 바꾸는 흐름
전환 뒤의 흐름은 생각보다 단순합니다. 질문을 받으면 코퍼스에서 관련 조각만 찾고, 그 조각만 프롬프트에 붙인 다음, 조항 번호나 한 줄 인용을 포함해 답합니다. 문서에 근거가 없으면 문서에 없음이라고 답하면 됩니다.
docs = retrieve(query, k=5, corpus='hr_policy')
answer = llm(prompt=build(query, docs), cite=True)
핵심은 검색 단계에서 관련 조각만 고르는 일입니다. 전문을 매번 넣는 습관에서 벗어나면 비용과 노이즈를 줄일 수 있고, 검수도 쉬워집니다. 답이 어느 조각에서 왔는지 한 줄로 적을 수 있어야 이 전환이 제대로 된 것입니다.
답변의 품질은 모델이 얼마나 길게 읽었는지보다, 얼마나 맞는 조각을 가져왔는지에 더 크게 좌우됩니다.
RAG를 붙이기 전에 확인할 점
모든 질문에 RAG를 붙일 필요는 없습니다. 계산, 논리 퍼즐, 스타일 변환처럼 검색해도 답이 나오지 않는 질문에는 RAG가 오히려 지연만 늘릴 수 있습니다. RAG는 만능이 아니라 외부 근거를 붙이는 도구라는 점을 먼저 기억해 둘 만합니다.
질문이 모델 지식만으로 검증 가능한지, 사내·최신·개인화 데이터가 필요한지, 오답이 업무 리스크인지, 그리고 답이 어느 조각에서 왔는지 한 줄로 적을 수 있는지를 살펴보면 판단이 쉬워집니다.
다음에 이어서 보면 좋은 자료
이 글 다음에는 청킹, 임베딩, 유사도 검색이 어떻게 이어지는지 살펴보면 흐름이 더 선명해집니다. 같은 트랙의 다음 자료는 LLM·RAG 초급 ② — 청킹·임베딩·유사도 검색 그림입니다.
참고 자료
https://daker.ai/public/learning/materials/llm-rag-intro-prompt-vs-rag-decision
업무에서 다루는 질문 가운데, 프롬프트만으로 충분했던 경우와 RAG가 꼭 필요했던 경우는 어떻게 나뉘었는지 궁금합니다.