LLM이 자신 있게 틀리는 순간을 미리 알아보는 법
틀릴 때 말투가 달라지지 않는다는 게 문제입니다. 대신 질문의 모양을 보면 어느 정도 예측이 됩니다.
LLM을 서비스에 넣어 운영하다 보면 한 가지 사실에 익숙해집니다. 모델은 맞을 때와 틀릴 때 말투가 같습니다. 사람은 자신 없으면 "아마", "제 기억으로는" 같은 표현을 쓰는데, 모델은 틀린 답도 같은 확신으로 씁니다. 그래서 답을 보고 신뢰도를 판단할 수가 없습니다.
대신 질문의 모양을 보면 어느 정도 예측이 됩니다. 몇 가지 패턴은 거의 항상 위험합니다.
1. 정확한 숫자나 날짜를 묻는 질문
"○○ 회사의 2023년 매출은?", "이 법이 시행된 날짜는?" 같은 질문입니다. 모델은 학습 데이터에서 본 비슷한 숫자를 조합해 그럴듯한 값을 만듭니다. 그 값이 정확할 수도 있지만, 틀렸을 때도 똑같이 확신에 차 있습니다.
숫자가 필요하면 모델에게 묻지 말고 출처를 찾아야 합니다. 모델에게는 "어디서 확인할 수 있나"를 묻는 편이 낫습니다.
2. 존재 여부를 묻는 질문
"이런 기능을 하는 라이브러리가 있나?", "이 주제를 다룬 논문이 있나?" 모델은 있다고 답하는 쪽으로 기울어 있습니다. 없다고 하면 도움이 안 되는 것 같으니까요. 그래서 있을 법한 이름을 만들어 냅니다.
이 유형은 답을 받은 뒤 그 이름을 그대로 검색해 보면 바로 확인됩니다. 검색 결과가 없으면 만들어 낸 것입니다.
3. 최근 일에 대한 질문
모델에게는 학습이 끝난 시점이 있습니다. 그 이후 일은 모릅니다. 그런데 모른다고 하지 않고 그 시점까지의 정보로 답합니다. "최신 버전은?" 같은 질문에 몇 달 전 버전을 최신이라고 답하는 식입니다.
최근 정보가 필요하면 검색 기능이 있는 도구를 쓰거나, 답변에 나온 시점을 확인해야 합니다.
4. 두 가지가 섞인 질문
"A와 B의 차이는?" 같은 질문에서 A와 B가 실제로는 비슷한 것이거나, 하나가 다른 하나의 일부인 경우입니다. 모델은 차이를 물었으니 차이를 만들어 냅니다. 실제로는 없는 차이를요.
이건 판별이 어렵습니다. 질문 자체에 잘못된 전제가 들어 있기 때문입니다. 답이 너무 깔끔하게 대칭적이면 의심해 볼 만합니다.
5. "왜"를 묻는 질문
"왜 이 코드가 느린가?", "왜 이 정책이 만들어졌나?" 모델은 그럴듯한 이유를 만드는 데 능합니다. 여러 가능한 이유 중 하나를 골라 확신 있게 씁니다. 그 이유가 맞을 수도 있지만, 실제 원인은 다른 것일 수 있습니다.
이 유형은 답을 가설로 받는 게 맞습니다. 모델이 말한 이유를 확인해 보고, 아니면 다음 가설로 넘어갑니다.
반대로, 믿어도 되는 것
전부 의심하면 도구를 쓸 이유가 없습니다. 비교적 안전한 것들도 있습니다.
- 주어진 텍스트 안에서 답하는 일 — 요약, 추출, 분류. 근거가 입력에 있으니 확인이 쉽습니다
- 형식 변환 — 문장을 표로, 표를 문장으로. 맞았는지 눈으로 바로 압니다
- 일반적으로 알려진 지식 — 교과서에 나올 법한 내용. 틀릴 확률이 낮습니다
- 초안 — 어차피 고칠 것이니 틀려도 괜찮습니다
이 사이트의 도구들이 전부 첫 번째와 두 번째 유형인 이유가 이것입니다. 자소서 첨삭, 요약, 말투 변환은 모두 입력한 텍스트 안에서 답합니다. 모델이 바깥 세상의 사실을 가져와야 하는 일이 아닙니다. 그래서 틀려도 확인이 쉽고, 틀리는 방식도 예측이 됩니다.
정리
| 질문 유형 | 위험도 | 대응 |
|---|---|---|
| 정확한 숫자·날짜 | 높음 | 출처를 직접 확인 |
| 존재 여부 | 높음 | 이름을 그대로 검색 |
| 최근 일 | 높음 | 시점 확인, 검색 도구 사용 |
| 두 가지 비교 | 중간 | 전제가 맞는지 확인 |
| 원인 설명 | 중간 | 가설로 받고 검증 |
| 입력 안에서 답하기 | 낮음 | 입력과 대조 |
| 형식 변환 | 낮음 | 눈으로 확인 |
질문을 던지기 전에 어느 줄에 해당하는지 한 번 보면, 답을 받고 나서 얼마나 확인해야 할지 미리 정해집니다.