본문으로 건너뛰기

환각(Hallucination)과 이를 줄이는 방법

중급
What you'll learn
  • 모델이 왜 자신감 넘치고 잘 짜인 거짓 답을 꾸며내는지 이해하기
  • 가장 회의적이어야 할 5가지 고위험 영역 알아보기
  • 환각을 크게 줄이는 6부 도구 모음 적용하기
  • 근거를 대고, 빠져나갈 여지를 주고, 인용을 강제하는 복붙 반환각 프롬프트 하나 사용하기
  • 검증 노력을 틀릴 때의 비용에 맞추는 사고방식 채택하기

환각은 모델이 거짓을 완전한 자신감으로 진술하는 것입니다. 거짓말도 아니고 고장난 것도 아닙니다 — LLM이 작동하는 방식의 이면입니다: 모델은 그럴듯한 텍스트를 생성하고, 그럴듯함이 항상 참인 것은 아닙니다(LLM이란 무엇인가? 참고). 이것을 완전히 프롬프트로 없앨 수는 없지만, 크게 줄이고 나머지는 잡아낼 수 있습니다.

왜 일어나는가

모델은 그럴듯한 이어짐을 예측합니다. 무언가를 "알지" 못할 때, 가장 그럴듯해 보이는 이어짐은 종종 자신감 넘치고 잘 짜인 — 그리고 틀린 — 답입니다. 여지를 만들어 주지 않는 한 내장된 "확신이 없다" 신호는 없습니다.

Pro tip
  • 대부분의 환각을 고치는 법은 불확실성을 위한 여지를 의도적으로 만드는 것입니다 — 모델에게 모른다고 말할 허락을 주세요.

고위험 영역

출력이 다음을 포함할 때 가장 회의적이 되세요:

  • 인용, 따옴, 참고문헌 — 조작된 논문, 가짜 URL, 잘못 귀속된 인용.
  • 특정 숫자, 날짜, 통계 — 그럴듯하지만 지어낸 수치.
  • 틈새이거나 아주 최근의 사실 — 모델이 안정적으로 학습한 범위를 넘어선 것.
  • API와 라이브러리 세부 — 존재하지 않는 메서드나 파라미터.
  • 사람 및 법률/의료 세부 — 판돈이 크고, 미묘하게 틀리기 쉬움.

감축 도구 모음

이것들을 쌓으세요 — 각각이 도움이 됩니다:

Guided walkthrough1 of 6
  1. 출처 텍스트를 붙여넣고 "위 텍스트에서만 답해; 거기에 없으면 없다고 말해"라고 하세요. 이것이 RAG(/docs/foundations/rag)의 핵심 아이디어입니다.

복붙 반환각 프롬프트

위 도구 모음의 대부분이 하나의 재사용 가능한 래퍼로 압축됩니다. 표시된 곳에 출처를 붙여넣고 질문하세요 — 답에 근거를 대고, 모델에게 빠져나갈 여지를 주고, 한 번에 인용을 강제합니다:

반환각 래퍼

You answer ONLY from the SOURCE below.
Rules:
- If the answer is not in the SOURCE, reply exactly: "Not stated in the source."
- After every claim, quote the exact sentence from the SOURCE that supports it.
- Do not add outside knowledge, estimates, or assumptions.

SOURCE:
"""
[paste the document, transcript, or data here]
"""

QUESTION: [your question]

왜 작동하는가: "Not stated in the source" 탈출구는 추측 압박을 없애고, 문장을 인용하라는 규칙은 뒷받침 없는 주장을 숨길 수 없게 만듭니다. 정말로 모델 자신의 지식을 원할 때는 SOURCE 블록을 빼세요 — 하지만 그러면 검증은 다시 당신 몫입니다.

실제로 당신을 지키는 사고방식

Watch out
  • 어떤 프롬프트도 출력을 100% 신뢰할 수 있게 만들지 못합니다. 결과가 중요한 것 — 리포트의 숫자, 인용, 실행할 명령, 의료/법률/금융 세부 — 은 신뢰할 수 있는 출처에 대조해 확인하세요. AI를 최종 권위가 아니라 빠른 초안으로 다루세요. 이것이 책임 있는 사용(/docs/security/responsible-use)의 핵심입니다.

간단한 규칙: 틀릴 때의 비용이 검증의 양을 정한다. 브레인스토밍? 자유롭게 믿으세요. 통계를 발표? 매번 검증하세요.

Key takeaways
  • 환각은 완전히 프롬프트로 없앨 수 있는 버그가 아니라, 그럴듯함 기반 생성의 부산물입니다.
  • 인용, 숫자/날짜, 틈새이거나 최근의 사실, API 세부, 사람/법률/의료 세부에 가장 회의적이 되세요.
  • 도구 모음을 쌓으세요: 출처에 근거 대기, 빠져나갈 여지 주기, 인용 요구, temperature 낮추기, 도구 쓰기, 교차 확인.
  • 하나의 래퍼 프롬프트가 근거 대기 + 여지 주기 + 인용 강제를 한 번에 합니다.
  • 검증 노력을 틀릴 때의 비용에 맞추세요 — 값쌀 때는 자유롭게 믿고, 중요할 때는 모든 주장을 검증하세요.

스스로 점검하기

0/5
  1. 모델은 왜 환각을 일으키나요?
  2. 다음 중 가장 회의적이어야 할 고위험 영역은?
  3. "확신이 없으면 '모르겠습니다'라고 말해" 같은 명시적 여지를 주는 것의 가장 직접적인 효과는?
  4. 답이 얼마나 검증이 필요한지를 정하는 규칙은?
  5. 반환각 래퍼 프롬프트에서, 뒷받침 없는 주장을 숨길 수 없게 만드는 것은?

다음