AI가 사실이 아닌 정보를 확신 있게 생성하는 현상. 모델이 "모른다"고 하지 않고 그럴듯하게 지어내는 구조적 한계에서 비롯된다.
LLM에게 모르는 걸 물으면 "모릅니다"가 아니라 그럴듯한 답을 만들어 낸다. 존재하지 않는 논문을 인용하고, 없는 API를 코드에 쓰고, 틀린 사실을 자신 있게 말한다. 모델이 다음 토큰을 확률적으로 예측하는 방식으로 텍스트를 생성하기 때문에, 사실 여부를 실시간으로 검증하지 못하는 구조적 한계다.
개발할 때 가장 흔히 마주치는 환각은 존재하지 않는 라이브러리나 함수를 쓰는 것이다. AI가 생성한 코드가 타입 에러 없이 깔끔해 보이는데, 실제로 돌리면 "module not found"가 뜬다.
대응 방법은 여러 겹으로 쌓는다. RAG로 실제 문서를 참조하게 하고, 시스템 프롬프트에 "확실하지 않으면 모른다고 해"를 넣고, 가드레일로 출력을 검증하고, 중요한 정보는 사람이 최종 확인한다. 완전히 없앨 수는 없지만 발생 확률을 크게 줄일 수 있다.