16. 관련 자료를 효과적으로 제공하기
- 자료를 "그냥 붙여넣기"와 "효과적으로 제공하기"의 차이를 안다
- 인용·참조·근거 표시로 검증 가능성을 높이는 법을 익힌다
- 자료와 모델 지식이 충돌할 때 무엇을 따르게 할지 지정한다
자료를 주는 것과 잘 주는 것은 다르다
13장에서 "무엇을 넣을까", 14장에서 "어디에 둘까"를 다뤘습니다. 이 장은 "어떤 형태로 줄까"입니다. 같은 자료라도 어떻게 제공하느냐에 따라, 모델이 그것을 근거로 쓰는지 아니면 무시하고 지어내는지가 갈립니다.
이것은 모델 종류와 무관하게 가장 신뢰성을 높이는 방법 중 하나입니다. 한 가이드(Microsoft/OpenAI 계열)는 "신뢰할 답을 얻는 가장 효과적인 방법 중 하나는 모델이 답을 끌어올 근거 자료(grounding data)를 주는 것"이라며, 창작이 아닌 사실 기반 작업이라면 근거 자료 제공을 강력히 권합니다.
📌 핵심: 사실이 중요한 작업에서, 모델이 추론으로 메우게 두지 말고 답의 근거가 될 자료를 직접 주세요. 답의 최종 형태에 가까운 자료일수록 오류 여지가 줍니다.
효과적 제공의 4원칙
원칙 1: 구분해서 준다
11장의 구분자를 자료 제공에 적용합니다. 자료를 태그나 명확한 경계로 감싸, 지시와 섞이지 않게 합니다.
✅ 아래 <규정>에 근거해서만 답하세요. <규정> 환불은 구매 후 14일 이내, 미개봉 상품에 한해 가능합니다. </규정> 질문: 20일 전 구매한 미개봉 상품, 환불되나요?
원칙 2: 출처를 함께 준다
자료가 여러 개면 각각에 출처 라벨을 붙이세요. 그러면 모델에게 "어느 자료에서 가져왔는지 밝혀라"라고 요구할 수 있고, 답을 검증하기 쉬워집니다.
✅ <자료1 출처="2024 환불정책">...</자료1> <자료2 출처="2025 개정 환불정책">...</자료2> 각 답변에 근거한 자료 번호를 [자료N]으로 표시해줘.
원칙 3: "근거를 표시하라"고 요구한다
답에 어느 자료의 어느 부분을 근거로 했는지 표시하게 하면, 검증 가능성이 크게 올라갑니다. 한 가이드는 "결론보다 근거를 먼저 요구하라"를 고임팩트 기법으로 꼽습니다(9장 형태 C와 연결).
✅ "각 주장 뒤에 근거가 된 자료의 문장을 인용해줘. 자료에 근거가 없는 내용은 '자료에 없음'이라고 표시해."
이 한 줄이 환각을 크게 줄입니다. 모델이 "근거를 대야 한다"는 제약 아래에서는, 근거 없는 주장을 만들어내기 어려워지기 때문입니다(4부에서 상세히).
원칙 4: 답의 형태에 가깝게 가공한다
13장의 신호 밀도와 연결됩니다. 원문을 통째로 주기보다, 작업에 맞게 정제해 주면 모델이 할 일이 줄고 정확도가 오릅니다. 표로 답을 원하면 자료도 표에 가깝게, 요약을 원하면 핵심 문단만.
자료 vs 모델 지식 — 충돌 처리
중요한 상황: 당신이 준 자료와, 모델이 내부적으로 "아는" 것이 다를 때입니다. 예를 들어 회사가 정책을 바꿨는데 모델의 일반 지식은 옛 버전일 수 있습니다.
이때 무엇을 우선할지 명시하지 않으면, 모델이 자료를 무시하고 자기 지식으로 답하거나, 둘을 어정쩡하게 섞을 수 있습니다.
✅ 우선순위 명시 "아래 자료가 너의 일반 지식과 다르더라도, 반드시 자료를 우선해서 답해. 자료에 없는 내용은 추측하지 말고 '자료에 없음'이라고 해."
⚠️ 흔한 실수·미신: "최신 자료를 줬으니 모델이 당연히 그걸 쓰겠지"라고 가정하면 안 됩니다. 명시하지 않으면 모델이 더 익숙한(=학습 때 많이 본) 옛 정보로 기울 수 있습니다. 특히 빠르게 바뀌는 사실(가격·정책·인물·버전)은 "자료 우선"을 분명히 지시하세요.
🧪 직접 검증법: 자료에 일부러 모델의 상식과 다른 사실(예: "이 회사의 환불 기간은 30일")을 넣고 물어보세요. 모델이 자료를 따르면 근거 활용이 잘 되는 것이고, 옛 상식으로 답하면 "자료 우선" 지시를 강화하거나 배치(14장)를 조정해야 합니다.
자료가 너무 많을 때 — 선별과 검색
자료가 윈도우에 다 안 들어가거나 신호가 희석될 만큼 많다면, 13장의 select 전략으로 돌아갑니다. 질문과 관련된 부분만 골라 넣는 것이죠. 사람이 수동으로 고를 수도 있고, 시스템이 자동으로 검색해 가져올 수도 있습니다.
🔧 개발자 노트: 자동 선별의 대표가 RAG(검색 증강 생성, Retrieval-Augmented Generation)입니다. 질문이 들어오면 대량의 문서에서 관련 조각을 검색해, 그것만 컨텍스트에 넣어 모델에게 주는 방식입니다. 핵심은 "전부 넣기"가 아니라 "관련된 것만 그때그때 가져오기"로, 12~14장의 모든 원칙(최소집합·신호 밀도·중간 소실 완화)이 그대로 적용됩니다. RAG의 프롬프트 관점은 5부에서 다룹니다. 자료가 자주 바뀌지 않는다면, 정적 자료를 프롬프트 앞쪽에 두어 캐싱 이점을 얻을 수도 있습니다(6부).
종합 예시
<지시> 아래 자료에만 근거해 고객 질문에 답하세요. - 자료가 일반 상식과 달라도 자료를 우선하세요. - 각 답변 끝에 근거 자료 번호를 [자료N]으로 표시하세요. - 자료에 없으면 "확인 후 안내드리겠습니다"라고 하세요. </지시> <자료1 출처="2025 환불정책 v2"> 미개봉 상품은 구매 후 14일 이내 전액 환불. </자료1> <질문> 10일 전 산 미개봉 제품, 환불 가능한가요? </질문>
구분(원칙1)·출처(원칙2)·근거 표시(원칙3)·자료 우선·없을 때 대안 경로(10장)가 한 프롬프트에 모였습니다. 이렇게 주면 모델이 지어낼 여지가 거의 없고, 답을 검증하기도 쉽습니다.
이 장에서 배운 것
- 사실 기반 작업에서는 모델이 추론으로 메우게 두지 말고 근거 자료를 직접 주는 것이 신뢰성을 높이는 핵심 방법이다.
- 효과적 제공의 4원칙: 구분해서 주기, 출처 함께 주기, 근거 표시 요구하기, 답의 형태에 가깝게 가공하기.
- "근거를 표시하라"는 요구는 근거 없는 주장을 어렵게 만들어 환각을 줄인다.
- 자료와 모델 지식이 충돌할 수 있으므로, 빠르게 바뀌는 사실은 "자료 우선"을 명시한다. 명시 없으면 옛 상식으로 기울 수 있다.
- 자료가 너무 많으면 질문과 관련된 부분만 골라 넣는다(select/RAG). 12~14장 원칙이 그대로 적용된다.
✍️ 확인 문제
- "근거가 된 자료 문장을 인용해줘"라는 요구가 왜 환각을 줄이는 데 효과적인지, 모델 동작 관점에서 설명해보세요.
- 회사가 배송 정책을 최근 바꿨는데, 모델이 자꾸 옛 정책으로 답합니다. 이 장의 어떤 원칙을 적용하면 좋을지 두 가지를 적어보세요.
- (실습) 사내 규정 3개(서로 일부 내용이 겹치고 한 개는 구버전)를 근거로 직원 질문에 답하는 프롬프트를 설계해보세요. 4원칙과 충돌 처리, 대안 경로를 모두 반영하세요.
다음 → 17. 컨텍스트 엔지니어링 실전 사고법
이전 ← 15. 대화 누적과 컨텍스트 관리 · 목차