AI가 만든 답 믿어도 될까 — AI 환각 잡고 검증해서 배포하기

규칙 기반 챗봇이 못 알아듣는 질문이 분명히 생긴다. 그래서 "못 찾으면 무료 AI가 자료 보고 답하게" 거들도록 붙였다. 그런데 이 AI가 없는 사실을 천연덕스럽게 지어냈다. AI가 만든 답을 믿어도 될까, 환각을 어떻게 잡았는지 풀어쓴다.

무료 AI 모델이 학교를 1993년에 세웠다고 했다

처음 붙인 무료 모델한테 "학교 언제 세워졌어?"를 물었더니, 자료에 있지도 않은 "1993년 설립"을 자신 있게 답했다. 주소 '일연로 93'을 보고는 "정원이 93명"이라고도 했다. 진학률은 묻지도 않았는데 "100%"라고 지어냈다.

⚠️ 무료 AI 모델 네 개(라마 계열·미스트랄 등)를 갈아 끼워봤는데, 정도만 다를 뿐 다 환각이 있었다. 한국어가 깨져 나오는 모델도 있었다. 학교 홍보봇처럼 "정확한 사실"이 생명인 곳에서 환각은 치명적이다.

환각을 잡은 세 가지

모델만 바꾼다고 해결되지 않았다. 결국 통제 장치를 걸었다.

첫째, 관련 없는 질문엔 AI를 아예 부르지 않게 했다. "방구 잘껴?"처럼 학교와 전혀 안 겹치는 입력은 AI까지 가기 전에 "학교 질문을 해달라"고 막는다. 자료가 0인데 AI에게 던지면 지어내기 딱 좋기 때문이다.

둘째, AI를 부를 때도 우리 학교 자료만 근거로 쓰고, 없으면 "교무실로 문의"라고 답하라고 강하게 못 박았다. 예시까지 같이 줬다.

자료에 없는 숫자·연도·학과명은 절대 지어내지 마. 모르면 "교무실로 문의해 주세요"라고만 답해. 취업률과 진학률을 헷갈리지 마.

셋째, 그래도 AI가 답할 땐 "AI가 생성한 답이라 부정확할 수 있어요"라는 경고를 항상 붙였다. 사용자가 그대로 믿지 않게.

💡 환각을 0으로 만들 순 없다. 그래서 ① 애초에 헛질문은 AI에 안 넘기고 ② 자료 밖이면 거절하게 하고 ③ AI 답엔 경고를 붙이는 3중 안전장치를 걸었다.

모델 네 개를 갈아끼우며 배운 것

"모델만 좋은 걸로 바꾸면 되지 않나" 싶어 무료 모델을 줄줄이 시험했다. 결론은, 더 큰 모델이 무조건 정답은 아니었다. 어떤 모델은 한국어가 깨져 나왔고, 어떤 모델은 말은 매끄러운데 없는 학과 이름을 천연덕스럽게 지어냈다. 한국어가 제일 자연스러운 모델을 고르되, 환각은 결국 모델이 아니라 지시(프롬프트)로 잡아야 했다.

가장 효과 본 건 예시를 같이 주는 방법이었다. "이런 질문엔 이렇게 거절해"라는 본보기를 몇 개 박아두니, 모델이 그 틀을 따라갔다.

예) 질문: "수능 잘 보는 법" → 답변: "그건 제가 정확히 안내하기 어려워요. 학교 관련해서 궁금한 걸 물어봐 주세요 :)"
⚠️ 프롬프트를 너무 느슨하게 풀면 다시 지어내고, 너무 빡빡하게 조이면 답할 수 있는 것도 "모른다"며 거절했다. 이 균형을 맞추느라 같은 질문 세트를 몇 번이나 돌려봤다. 한 번에 완벽한 프롬프트는 없었다.

검증은 결국 "내가 이상한 걸 물어보는 것"

대단한 도구가 필요한 게 아니었다. "설립연도", "진학률 몇 퍼센트", 자료에 없는 것들을 일부러 골라 물어보고, 지어내면 통제를 더 조였다. 이 과정을 몇 바퀴 돌리니 이제는 자료에 없는 건 깔끔하게 "교무실로 문의"라고 답한다.

🔧 교훈: "AI가 답해주니 편하다"에서 멈추면 안 된다. 사실이 중요한 도구일수록 ① 규칙 기반을 1순위로 두고 ② AI는 거들게 하고 ③ 환각을 의심하며 검증해야 진짜 배포할 수 있다.
다음 편 — 6편에서는 이때 쓴 무료 AI API들을 비교한다. Cloudflare Workers AI, Gemini, Groq 중 학교 챗봇엔 뭐가 맞았고 함정은 뭐였는지.
현직 고교 교사가 전하는 통합사회·경제의 정석. 고퀄리티 수업 PPT와 HTML 시뮬레이션 교구, 생생한 여행 기록을 통해 사회를 풀어냅니다.