welclaiAI·TREND·DIGEST
튜토리얼

환각 줄이기: 실전 체크리스트

모델은 과제가 부추기면 사실을 지어냅니다. 환각을 완전히 없앨 수 있다고 가장하지 않으면서, 실제로 환각을 줄이는 수단들을 담은 체크리스트입니다.

tutorials2026-05-03 10:46 KST·편집장·7

환각이란 사실이 아닌 것을 자신 있게 진술하는 것입니다. 언어 모델이 환각을 만들어내는 이유는, 그럴듯한 연장을 생성하도록 만들어졌고, 모델의 관점에서는 그럴듯하게 들리는 거짓도 완벽하게 좋은 연장이기 때문입니다. 이 경향을 프롬프트만으로 완전히 없앨 수는 없습니다. 하지만 모델이 지어낼 이유는 줄이고 불확실성을 인정할 이유는 늘리도록 과제 자체를 재구성할 수는 있습니다. 이것은 실제로 변화를 만들어내는 수단들의 체크리스트입니다.

모델에게 기억을 떠올리게 하지 말고 사실을 건네라

환각을 가장 크게 줄이는 단 하나의 방법은 모델의 기억에 아예 의존하지 않는 것입니다. 모델에게 학습 과정에서 우연히 흡수한 것으로 답하라고 요구하면, 그것은 떠올리기를 요구하는 것이고, 떠올리기는 바로 지어내기가 사는 곳입니다. 대신 관련 원본 자료를 프롬프트에 제공하고 그것으로 답하라고 하면, 과제가 "이것을 기억하라"에서 "이것을 읽고 보고하라"로 바뀝니다. 읽기는 떠올리기보다 훨씬 더 믿을 만합니다.

이것이 검색 증강(retrieval-augmented) 구성의 핵심 아이디어지만, 이득을 보기 위해 인프라가 필요한 것은 아닙니다. 일회성 질문을 위해 관련 문서를 프롬프트에 붙여넣는 것만으로도 지어내기가 극적으로 줄어듭니다. 이제 답이 흐릿한 기억에서 재구성되는 것이 아니라 모델 앞에 놓여 있기 때문입니다. 가져올 수 있는 어딘가에 사실이 존재한다면, 그것을 가져와 맥락에 넣으세요.

모델에게 "모르겠습니다"라고 말해도 된다고 알려라

모델이 지어내는 이유 중 하나는 그러지 말라고 일러둔 것이 없기 때문입니다. 가진 정보로 답할 수 없는 질문에 맞닥뜨리면, 기본 동작은 자신감 있는 추측을 내놓는 것입니다. 추측이 침묵보다 더 개연성 있는 연장이기 때문입니다. 해결책은 답하지 않는 선택지를 명시적으로 허가하는 것입니다. "제공된 맥락에 답이 없으면, 추측하지 말고 명시되어 있지 않다고 말하라."

이 지시 하나는 그 단순함이 시사하는 것보다 더 크게 동작을 바꿉니다. 모델에게 승인된 탈출구를 주어, 더 이상 지어내기가 안전한 선택이 아니게 만들기 때문입니다. 지시를 당신의 상황에 맞게 구체화하세요. "문서에 없음", "정보 부족", "범위 밖"처럼 말입니다. 그래야 모델이 어떤 종류의 비답변을 내야 하는지 압니다. 이것이 없으면, 진짜 답을 구할 수 없을 때마다 당신은 암묵적으로 추측을 요구하고 있는 셈입니다.

답을 원본에 한정하라

원본 자료를 제공하는 것은 도움이 됩니다. 답을 거기에 한정하는 것은 더 도움이 됩니다. "여기 문서가 있으니 질문에 답하라"와 "이 문서의 정보만 사용해 질문에 답하라. 외부 지식을 더하지 말라"는 다릅니다. 두 번째 표현은 모델에게 문서가 단순한 힌트가 아니라 경계임을 알려줍니다. 모델이 말하고 싶지만 원본이 뒷받침하지 않는 것은, 지시에 따라 금지됩니다.

여기에 더해, 주장을 원본에 근거 짓도록, 즉 각 진술이 문서의 어느 부분에서 나왔는지 가리키도록 요청하세요. 주장을 출처에 귀속시키는 행위는 모델로 하여금 그 주장이 실제로 존재하는지 확인하게 만들고, 귀속시킬 수 없는 진술이야말로 지어냈을 가능성이 가장 높은 것들입니다. 근거 짓기(grounding)는 품질 향상이자 탐지 메커니즘입니다.

어려운 질문에는 답보다 추론을 먼저 요청하라

여러 사실이나 단계를 연결해야 하는 질문에서, 즉답을 요구하면 모델은 무언가를 풀어내기도 전에 결론을 내버리게 됩니다. 그리고 성급한 확정은 지어내기의 비옥한 토양입니다. 모델에게 질문을 먼저 추론으로 풀어낸 다음 결론을 진술하라고 요청하면, 조각들이 사실은 답을 뒷받침하지 않는다는 것을 알아챌 여지가 생깁니다.

이점은 두 가지입니다. 추론은 종종 더 나은 답을 낳습니다. 모델이 진행 도중에 자신의 빈틈을 잡아낼 수 있기 때문입니다. 그리고 추론은 검사할 수 있습니다. 단계를 읽어보면, 뒷받침되지 않는 비약이 헐벗은 결론에서는 보이지 않던 방식으로 드러납니다. 단순 조회에는 이것을 생략하세요. 부담을 감수할 가치가 없습니다. 종합이 필요한 일이라면, 이것은 지어내기를 줄이는 동시에 드러내 줍니다.

요청마다 위험 부담을 낮춰라

길고 산만한 과제는 짧고 범위가 좁은 과제보다 환각을 더 부릅니다. 한 번에 여러 하위 질문을 곡예하듯 다루는 모델은 뒷받침되는 경로에서 벗어날 기회가 더 많기 때문입니다. 복잡한 요청을, 각각 명확한 입력과 올바른 답이 무엇인지에 대한 명확한 개념을 갖춘 더 작고 잘 정의된 조각으로 쪼개면, 각 단계마다 모델을 더 짧은 목줄에 묶어둘 수 있습니다.

작은 과제는 검증하기도 더 쉽습니다. 요청이 하나의 초점 있는 주장을 내면, 그 주장을 원본과 대조해 확인할 수 있습니다. 수십 개의 주장을 엮은 열 문단짜리 에세이를 내면 검증은 비현실적이 되고 오류가 빠져나갑니다. 범위를 좁히는 것은 한편으로 지어내기를 줄이는 일이고, 다른 한편으로 남은 지어내기를 잡아낼 수 있게 만드는 일입니다.

출력을 신뢰하지 말고 검증하라

어떤 프롬프팅도 모델의 출력을 기본적으로 신뢰할 만하게 만들지 못하므로, 체크리스트의 마지막 항목은 검증입니다. 중요한 무엇이든, 답은 발행할 사실이 아니라 검토할 초안입니다. 검토는 사람의 검토일 수도 있지만 자동화될 수도 있습니다. 인용된 출처가 실제로 주장된 정보를 담고 있는지, 숫자가 맞아떨어지는지, 참조된 항목이 존재하는지 확인하는 식입니다.

검증이 가능하도록 시스템을 설계하세요. 출처를 가리키는 출력은 그 출처와 대조해 확인할 수 있습니다. 사실이 어디서 왔는지 진술하는 출력은 추적할 수 있습니다. 자신감 있고 출처 없는 산문은 구조적으로 검증 불가능하며, 검증 불가능한 곳이 바로 들키지 않은 환각이 사는 곳입니다. 목표는 결코 틀리지 않는 모델이 아닙니다. 발생하는 오류가 누군가에게 닿기 전에 잡아낼 수 있는 종류이도록 만드는 파이프라인입니다.

정리

환각은 모델을 꾸짖어서가 아니라 과제를 바꿔서 줄입니다. 모델이 떠올리지 않고 읽도록 사실을 건네세요. 모른다고 말해도 된다고 허가하세요. 답을 원본에 한정하고 주장을 근거 짓도록 요청하세요. 어려운 질문에는 결론 전에 추론하게 하고, 검증할 수 있을 만큼 요청의 범위를 좁히며, 중요한 모든 출력을 신뢰할 사실이 아니라 검토할 초안으로 다루세요. 이 중 어느 것도 환각을 없애지는 못합니다. 무엇도 그러지 못합니다. 하지만 이것들이 함께라면, 자신 있게 지어내던 시스템을 대체로 자신의 한계를 인정하고 나머지는 검토하도록 드러내는 시스템으로 바꿔줍니다.

#hallucinations#reliability#grounding#evaluation