RAG 입문, PDF 전체를 넣다가 관련 조각만 찾아 인용으로 바꿉니다 | DAKER 커뮤니티
초보자가 가장 먼저 막히는 장면은 이렇습니다. 사내 휴가 규정 PDF를 채팅창에 통째로 올리고 「연차 발생 기준 알려줘」라고 묻습니다. 모델은 자신 있게 답하지만, 조항 번호가 없거나 문서에 없는 규칙을 섞어 말합니다. 매번 전문을 넣으니 토큰과 비용도 커집니다. 답은 있어 보이는데, 근거를 집어 보여줄 수 없습니다.
이 글은 DAKER 학습 자료 LLM·RAG 초급 ① — 프롬프트만으로 vs RAG가 필요한 순간을 따라, 그 막힘을 「관련 조각만 검색하고 인용한다」로 바꾸는 한 장면을 코믹으로 정리합니다. RAG를 만능 버튼으로 쓰지 않고, 붙일 타이밍을 먼저 고르는 것이 목표입니다.
막힘: 전문을 넣고도 근거가 없습니다
순수 프롬프트는 요약·번역·코드 초안·브레인스토밍처럼 문서 없이도 답이 가능한 일에 강합니다. 모델이 이미 학습한 일반 지식과 추론을 쓰는 구간입니다. 반대로 사내 규정, 어제 배포된 API, 고객 계약처럼 모델이 본 적 없는 사실을 물으면 그럴듯한 추측이 나옵니다.
초보자가 흔히 쓰는 「이 PDF 전부 읽고 답해줘」는 세 가지를 한꺼번에 키웁니다.
- 토큰과 비용이 요청마다 커집니다.
- 긴 문서 안의 노이즈가 답을 흔듭니다.
- 답이 어느 문장에서 왔는지 확인하기 어렵습니다.
학습 자료의 비교표도 같은 기준입니다. 일반 개념 설명과 창의적 초안은 프롬프트만으로 충분하고, 사내 위키 조항·최신 릴리즈 노트·정책 인용은 RAG 쪽입니다. 「문서 ID가 질문에 있다」「정책 조항을 인용해야 한다」면 RAG가 강하고, 「정답 소스가 없다」「숫자 계산이 핵심이다」면 프롬프트나 도구 호출이 맞습니다.
전환: 세 신호로 RAG가 필요한지 가릅니다
자료가 말하는 RAG가 빛나는 순간은 세 가지입니다.
- 지식 컷오프 — 학습 이후 사건·버전
- 사설 코퍼스 — 사내 문서·티켓·계약
- 근거 제시 — 인용·감사가 필요한 답
휴가 규정의 연차 발생 기준은 사설 코퍼스와 근거 제시가 동시에 걸립니다. 그래서 「모델이 아는 일반 휴가 상식」이 아니라 「우리 문서의 조항」이 필요합니다. 오답 비용이 큰 질문일수록 이 판별이 먼저입니다. RAG 도입 전에 오답 비용을 한 줄로 적어 두면 우선순위가 선명해집니다.
프롬프트 계약도 같이 바꿉니다. 「우리 회사 휴가 규정 알려줘」 대신 역할·목표·제약·성공·실패 시 행동을 적습니다.
- 역할: 사내 FAQ 도우미
- 목표: 휴가 규정의 연차 발생 기준만 답한다
- 제약: 제공된 문서 밖 사실 추측 금지
- 성공: 조항 번호와 한 줄 인용 포함
- 실패 시: 「문서에 없음」이라고 말한다
완성: 관련 조각만 넣고 인용합니다
전환 후의 흐름은 짧습니다. 질문을 받고, 코퍼스에서 관련 조각만 고르고, 그 조각만 프롬프트에 붙인 뒤, 조항 번호나 한 줄 인용을 포함해 답합니다. 문서에 없으면 「문서에 없음」이라고 말합니다.
docs = retrieve(query, k=5, corpus='hr_policy') answer = llm(prompt=build(query, docs), cite=True)
핵심은 검색으로 관련 조각만 고르는 일입니다. 전문을 매번 넣는 습관에서 벗어나면, 비용과 노이즈가 줄고 검수도 쉬워집니다. 답이 어느 조각에서 왔는지 한 줄로 적을 수 있어야 전환이 끝난 것입니다.
오늘 바로 해볼 체크
- 질문이 모델 지식만으로 검증 가능한가
- 사내·최신·개인화 데이터가 필요한가
- 오답이 업무 리스크인가
- 답이 어느 조각에서 왔는지 한 줄로 적을 수 있는가
계산·논리 퍼즐·스타일 변환처럼 검색해도 답이 안 나오는 질문에는 RAG를 붙이지 않습니다. 지연만 늘어납니다. RAG는 만능이 아니라 외부 근거를 붙이는 도구입니다.
다음 장에서는 청킹·임베딩·유사도 검색 그림을 이어서 보시면 됩니다. 같은 트랙의 이어지는 자료는 LLM·RAG 초급 ② — 청킹·임베딩·유사도 검색 그림입니다.
원문 학습 자료: https://daker.ai/public/learning/materials/llm-rag-intro-prompt-vs-rag-decision