Claude Code
Part 1 · 대화 시작하기Chapter 1 · LLM 기초

AI가 거짓말을 하는 이유 | LLM 기초

LLM의 생성 원리를 바탕으로 Hallucination과 Knowledge Cutoff를 설명하고, 모델의 답만으로 사실을 확정할 수 없는 경우를 구별합니다

마지막 업데이트: 2026. 9. 16.

Overview

AI가 존재하지 않는 라이브러리의 사용법을 그럴듯하게 설명하거나, 이미 바뀐 API를 최신인 것처럼 알려줄 때가 있습니다. 이는 버그가 아니라 LLM이 작동하는 방식 자체에서 생기는 현상입니다.

LLM은 "정답을 찾는 기계"가 아니라 "그럴듯한 다음 단어를 예측하는 확률 시스템"입니다. 이 작동 방식을 알면 모델의 답만으로는 맞는지 알기 어려운 경우를 구별할 수 있습니다.

학습 목표

  • LLM이 "정답을 찾는 기계"가 아니라 다음 토큰을 예측하는 확률 시스템임을 설명할 수 있습니다.
  • Hallucination과 Knowledge Cutoff를 바탕으로 모델 자체의 답이 왜 틀릴 수 있는지 설명할 수 있습니다.
  • 라이브러리 존재 여부나 최신 정보처럼 모델의 답만으로는 맞는지 알기 어려운 경우를 구별할 수 있습니다.

LLM이란: 다음 단어를 예측하는 시스템

LLM은 대량의 텍스트를 학습해, 지금 문맥에서 다음에 어떤 단어가 자연스러운지 확률로 예측합니다. "맞는 답"을 찾는 것이 아니라, 그 확률을 바탕으로 다음 단어를 하나씩 이어갑니다.

다음 단어 후보 (예시)입력 텍스트“나는 오늘 점심에”LLM확률 예측 시스템“밥을”35%“파스타를”25%“국수를”20%...20%선택
“정답”이 아니라 “그럴듯한 다음 단어”를 하나씩 이어가는 과정

단어? 토큰?

실제로 LLM은 "단어"가 아니라 토큰(token) 단위로 텍스트를 처리합니다. 토큰은 단어보다 작을 수도 있고, 짧은 단어는 그 자체가 하나의 토큰이 되기도 합니다. 이 레슨에서는 편의상 "단어"로 설명합니다.

Hallucination: 자신만만하게 틀리는 이유

Hallucination(할루시네이션)은 사실이 아닌 내용을 사실처럼 말하는 현상입니다. 틀린 답도 그럴듯하고 단정적인 어조로 나올 수 있어 말투만으로는 정확한지 판단하기 어렵습니다.

예를 들어 npm에 없는 가상의 패키지 이름으로 사용법을 물어봅시다.

"react-smooth-virtual-grid라는 라이브러리 사용법 알려줘"

LLM은 익숙한 라이브러리 이름과 문서 패턴을 이어 다음과 같은 답을 만들 수 있습니다.

  • npm install react-smooth-virtual-grid 설치 명령어
  • import { VirtualGrid } from 'react-smooth-virtual-grid' import 문
  • props와 사용 예제까지 제시

검색 결과나 패키지 저장소를 확인한 결과가 Context에 없다면, 이 답은 외부 근거로 패키지의 존재를 확인한 결과가 아닙니다.

LLM은 다음 문장이 얼마나 자연스러운지는 예측하지만, 그 내용이 실제로 존재하거나 사실인지 자동으로 확인하지는 않습니다. 그래서 자연스럽지만 틀린 답이 만들어질 수 있습니다.

모델이 확신하지 못할 때 모른다고 답하도록 훈련하는 방법이나, 웹 검색으로 외부 자료를 Context에 넣는 방법으로 이런 오류를 줄일 수 있습니다. 하지만 모든 질문에서 정확성을 보장하지는 않습니다.

Knowledge Cutoff: AI가 어제 일을 모르는 이유

2024년 12월에 출판된 백과사전은 2025년 1월에 일어난 일을 담지 못합니다. Knowledge Cutoff(학습 기준일)도 같은 원리입니다. 모델이 학습으로 얻은 지식에는 기준일이 있으며, 최신 자료를 받지 않으면 그 이후 사건은 알 수 없습니다.

모델이 배운 범위새 정보가 필요한 범위React 18 출시새 라이브러리 v2 출시학습한 시기기준일그 이후Knowledge Cutoff
Cutoff 이후의 정보에는 최신 자료가 필요합니다

Cutoff 이후의 일을 물으면 모델은 과거 패턴으로 추측해 틀릴 수 있습니다. 이런 답은 모델의 기존 지식만으로는 맞는지 알기 어렵습니다.

사실 판단에는 모델 밖의 근거가 필요합니다

모델의 답이 그럴듯해도 실제 정보와 맞는지는 답만 보고 알 수 없습니다. 특히 다음 내용을 확인하려면 실제 자료나 실행 결과가 필요합니다.

  • 라이브러리·API의 존재 여부: 라이브러리는 패키지 저장소에서, API는 공식 문서에서 확인할 수 있습니다.
  • 버전·문법의 최신성: 현재 공식 문서와 릴리스 기록에서 확인할 수 있습니다.
  • 코드가 실제로 동작하는지: 현재 환경에서 실행하고 관련 테스트로 확인할 수 있습니다.

핵심 포인트 정리

  1. LLM은 정답이 아니라 다음 단어를 예측합니다: 문맥에 이어질 단어의 확률을 예측해 하나씩 이어갑니다.
  2. 자연스러운 말투는 정확성의 증거가 아닙니다: Hallucination이 일어나면 틀린 내용도 그럴듯하고 단정적인 어조로 나올 수 있습니다.
  3. 모델이 학습한 지식은 특정 시점에서 멈춥니다: Knowledge Cutoff 이후의 일은 과거 패턴으로 추측해 틀릴 수 있습니다.
  4. 답이 정확한지는 근거로 판단합니다: 라이브러리 존재 여부, 최신 정보와 코드 동작은 자료나 실행 결과로 확인합니다.

FAQ

이어서 배울 내용

모델의 답만으로 맞는지 알기 어려울 때는 근거를 따로 확인해야 합니다. 다음 레슨에서는 확인한 근거를 바탕으로 답하는 방법을 알아봅니다.

On this page