본문으로 바로가기
TaeyoungKim.dev

LLM이 첨부 자료에 없는 사실을 말할 때: 근거 우선순위와 보류 응답 설계

AI작성 약 3분 읽기TaeyoungKim
LinkedInX

자료를 첨부해 뉴스 브리핑을 부탁했는데 AI가 ‘장애는 없었다’고 답했다. 그런데 원문에는 장애 이야기가 한 줄도 없다. 문장이 자연스럽다는 이유로 사실이 되는 것은 아니다. 자료에 없는 말과 자료가 부정한 말은 다르게 다뤄야 한다.

첨부 자료에 없는 사실을 어떻게 구분할까?

다음은 설명을 위한 가상 기사 메모다.

text
새 버전은 화요일부터 순차 배포한다.
전체 적용이 끝나는 날짜는 아직 안내하지 않았다.

‘언제 배포를 시작하나요?’에는 ‘화요일’이라고 답할 수 있다. ‘이미 모두 적용됐나요?’에는 완료 날짜가 없으므로 ‘이 메모만으로는 확인할 수 없다’고 답해야 한다. ‘장애가 없었나요?’에도 같은 답이다. 메모가 장애를 언급하지 않았다는 사실은 장애가 없었다는 증거가 아니다.

질문자료에서 찾은 내용답변
배포 시작 시점은?화요일부터화요일부터 시작
전체 적용은 끝났나?완료 날짜 미안내확인 불가
장애는 없었나?언급 없음확인 불가

그림의 ‘확인된 답’과 ‘보류할 답’도 이 한 메모의 두 갈래다. 보류는 실패가 아니라 근거의 범위를 지키는 결과다.

프롬프트에는 어떤 경계를 넣어야 할까?

‘정확하게 답해’보다 입력 범위와 보류 조건을 구체적으로 적는 편이 낫다. 예를 들어 아래처럼 요청할 수 있다.

text
아래 메모에 적힌 내용만 사용해 질문에 답해 주세요.
답마다 근거가 되는 문장을 함께 적어 주세요.
근거가 없으면 추측하지 말고 '이 메모만으로 확인할 수 없음'이라고 답해 주세요.
질문: 전체 적용은 끝났나요?
메모: 새 버전은 화요일부터 순차 배포한다. 전체 적용이 끝나는 날짜는 아직 안내하지 않았다.

모델이 근거 문장을 써 줬다고 검증이 끝나는 것도 아니다. 근거로 든 문장이 실제 입력에 있는지, 그 문장이 답변의 강도를 뒷받침하는지 확인해야 한다. ‘순차 배포 시작’은 ‘배포 완료’를 뜻하지 않는다.

테스트할 때는 정답보다 어떤 실패를 먼저 볼까?

위의 세 질문을 테스트 묶음으로 삼을 수 있다. 특히 마지막 두 질문에 모델이 단정적인 답을 내면 보류 규칙이 작동하지 않은 것이다. 입력에서 완료 날짜를 일부러 빼거나, 반대로 ‘전체 적용 완료’ 문장을 추가해 답이 어떻게 달라지는지 비교해 보자. 결과가 계속 같다면 모델이 문서보다 익숙한 문장을 우선했을 가능성이 있다.

실제 서비스에서는 답변과 근거 문장의 연결을 저장하되, 원문 전체를 로그에 무심코 남기지 않는다. 첨부 자료에 개인정보가 있을 수 있기 때문이다. 외부 검색을 쓰는 기능이라면 ‘첨부 자료만으로 답하기’와 ‘검색으로 보완하기’를 별도 모드로 표시해야 출처가 뒤섞이지 않는다. 중요한 결론은 사람이 원문을 확인하고 승인하는 경계도 필요하다.

핵심 요약

자료에 없는 정보는 ‘없다’가 아니라 ‘확인할 수 없다’고 답한다. 같은 입력으로 확인 가능·완료 미확인·언급 없음 질문을 나란히 테스트하고, 근거 문장이 답의 강도를 지탱하는지 대조하자. 외부 검색과 실제 승인 단계는 첨부 자료 답변과 분리한다.

작성자

TaeyoungKim

기초 개념을 구현과 검증, 실제 운영 판단까지 연결해 기록합니다.

#AI#LLM#Grounding#Hallucination

함께 읽으면 좋은 글