AI는 왜 거짓말을 하는가
AI는 모르는 것을 지어낸다. 그리고 그게 맞다고 확신한다. 할루시네이션이 왜 생기는지, 프롬프트로 얼마나 막을 수 있는지 이해한다.
산업보건지도사 시험을 앞두고 AI에게 기출문제를 풀게 했다.
답이 틀렸다. 그건 괜찮았다. 문제는 틀린 답에 대한 설명이 너무 완벽했다는 것이다. 관련 법령을 인용하고, 보기를 하나씩 분석하고, 왜 이 답이 정답인지 논리적으로 풀어냈다. 자신 있게, 막힘없이.
의심이 들어 정답을 직접 알려줬다. AI는 물러서지 않았다. 자신이 고른 보기가 맞고, 내가 알려준 정답이 오히려 오답이라고 설명했다. 마지막에는 문제지와 정답지를 파일로 함께 올렸다. 여전히 틀렸다.
이건 버그가 아니었다.
거짓말이 아니라 확신이다
AI가 틀린 답을 내놓는 건 받아들일 수 있다. 모든 시스템이 가끔 틀린다.
받아들이기 어려운 건 따로 있다. AI가 자신이 틀렸다는 것을 모른다는 것이다.
거짓말은 진실을 알면서 숨기는 것이다. 할루시네이션은 다르다. 모델은 그 답이 틀렸다는 신호를 스스로 충분히 갖지 못할 수 있다. 틀렸다는 감각 자체가 없다. 그래서 틀린 정보가 틀린 것처럼 보이지 않는다. 논리가 있고, 근거가 있고, 어조가 안정적이다.
이게 할루시네이션을 다른 오류들과 구분하는 지점이다.
왜 모르면서 말하는가
LLM은 사람처럼 텍스트를 이해하는 구조가 아니다. 주어진 컨텍스트에서 다음에 올 가장 그럴듯한 토큰을 예측하는 기계에 가깝다. "그럴듯함"의 기준은 사실 여부가 아니라, 학습 데이터에서 비슷한 패턴 다음에 무엇이 왔는가다.
"소음성 난청의 산재 기준은?"이라는 질문에, 모델은 그 질문 다음에 올 가장 자연스러운 텍스트를 생성한다. 학습 데이터에 오래된 기준이 더 많이 포함되어 있다면, 최신 기준 대신 오래된 기준을 자신 있게 출력한다. 틀렸다는 것을 알 방법이 없다.
정답을 알려줘도 고집하는 것도 같은 맥락이다. 모델에는 두 가지 지식이 있다. 학습 과정에서 수억 개의 파라미터에 새겨진 것들, 그리고 지금 대화에서 사용자가 제공한 것들. 두 정보가 충돌할 때 항상 컨텍스트가 이기는 게 아니다. 모델이 강하게 학습한 정보일수록 사용자의 말보다 학습된 기억이 더 강하게 작동하는 경향이 있다.
파일을 두 개 올렸을 때 실패한 건 또 다른 이유다. 컨텍스트가 길어질수록 중간에 들어간 정보가 처리 과정에서 희미해진다. "이 문제지의 이 문제에 저 정답지의 이 답이 대응된다"는 교차 참조를 정확하게 수행하는 건 겉으로 보이는 것보다 복잡한 작업이다.
프롬프트로 줄일 수 있는 것
완전히 막을 수는 없다. 하지만 유의미하게 줄이는 방법은 있다.
가장 단순한 건 불확실성을 명시하도록 강제하는 것이다.
규칙:
- 확실하지 않은 내용은 "확실하지 않습니다"라고 표시하라
- 정보가 없으면 "모릅니다"라고 답하라
- 추측이 포함되면 "추측입니다"라고 밝혀라
일반적인 지식 질문에서는 효과가 있다. 다만 모델이 강하게 믿는 잘못된 정보에는 한계가 있다. 모델 입장에서 불확실하지 않기 때문이다. 앞의 시험 사례에서 "모르면 모른다고 해"라는 지시가 소용없었던 이유도 이것이다.
컨텍스트에 문서를 직접 넣고 그 범위 안에서만 답하게 하는 방법도 있다.
아래 제공된 문서의 내용만을 기반으로 답하라.
문서에 없는 내용은 "문서에 해당 내용이 없습니다"라고 답하라.
RAG 시스템이 이 원리를 구조화한 것이다. 모델이 사실을 만들어낼 필요가 없도록 필요한 정보를 직접 주입한다. 할루시네이션의 근본 원인인 "정보 부재"를 해결하는 방향이다.
출처 요청에는 함정이 있다. "출처도 같이 알려줘"라고 하면 모델은 출처를 생성한다. 그 출처가 실제로 존재하는지는 확인하지 않는다. 논문 제목, 저자명, DOI까지 그럴듯하게 만들어낼 수 있다. 출처가 중요한 정보라면 AI에게 묻는 대신 직접 원본을 찾는 편이 낫다.
프롬프트로 막을 수 없는 것
솔직하게 말하면, 프롬프트가 닿지 않는 영역이 있다.
학습 데이터에서 반복적으로 등장한 잘못된 정보는 교정하기 어렵다. 개정 전 법령, 오래된 기준, 과거의 상식이 새로운 정보보다 훨씬 많이 학습돼 있을 때 특히 그렇다. 최신 정보를 알려줘도 오래된 기억이 더 강하게 작동한다.
학습 컷오프 이후의 정보도 마찬가지다. 모델이 모르는 것을 물으면 모른다고 말하는 대신, 있을 법한 것을 만들어내는 경향이 있다.
전문화된 도메인도 취약하다. 특정 분야의 최신 법령, 희귀 질환의 치료 기준, 특수 산업의 수치들은 학습 데이터 자체가 적다. 데이터가 부족할수록 모델은 더 많이 채워 넣으려 한다.
AI를 믿는다는 것
할루시네이션을 경험하고 나면 두 방향으로 반응하게 된다. "AI는 못 믿겠다"거나, 아니면 언제 어떻게 신뢰할 수 있는지를 파악하게 되거나.
두 번째가 더 유효하다.
코드는 실행해서 확인할 수 있다. 글의 구조는 논리적으로 검토할 수 있다. 번역은 원문과 대조할 수 있다. 결과를 검증할 수 있는 작업에서 AI는 충분히 유용하다. 검증할 수 없는 사실 정보를 그대로 가져다 쓰는 것은 다른 이야기다.
할루시네이션은 모델의 결함이 아니다. 다음 토큰을 예측하는 시스템이 모르면 침묵하는 것보다 그럴듯한 것을 생성하는 방향으로 작동하기 때문에 생기는 현상이다. 이 구조를 이해하면, AI를 어디에 어떻게 써야 하는지가 조금 더 선명해진다.