LLM에게 출처가 진짜인지 묻는 것을 멈춰야 하는 이유
요약
LLM이 생성하는 가짜 참고문헌(환각)의 위험성과 이를 검증하는 올바른 방법을 설명합니다. 모델에게 진위 여부를 묻는 대신 외부 메타데이터 API를 활용한 기술적 검증 프로세스를 제안합니다.
핵심 포인트
- LLM은 확률적 생성 모델이므로 출처의 진위 여부를 스스로 판단할 수 없음
- 모델에게 출처 확인을 요청하면 자기 평가 편향으로 인해 잘못된 답변을 얻음
- Crossref나 arXiv 같은 외부 API를 통한 존재성 검증이 필수적임
- 검증은 존재성, 신뢰성, 충실도의 세 가지 필터를 거쳐야 함
당신은 AI에게 참고문헌을 요청합니다. AI는 제목, 저자, 저널, 연도, 그리고 잘 구성된 DOI를 건네줍니다. 모든 것이 그럴듯하고 깔끔합니다. 하지만 두 개 중 하나는 존재하지 않습니다. "대략적인" 것이 아니라, 아예 존재하지 않는 것입니다. DOI는 아무것도 찾아내지 못하고, 그 논문은 작성된 적조차 없습니다.
반사적으로 모델에게 다시 묻게 됩니다: "이 출처가 진짜인지 확실합니까?" 모델은 그렇다고 답합니다. 언제나 말이죠. 당신은 방금 위조범에게 그가 만든 위조품의 진위 여부를 물은 셈입니다.
환각 (Hallucination)은 구조적으로 그럴듯하게 설계되어 있다
LLM은 출판물 데이터베이스를 저장하고 있지 않습니다. 대신 확률적으로 높은 단어 시퀀스를 생성합니다. LLM에게 인용 (Citation)이란 하나의 형태입니다: 성, 이름 이니셜, 두 명의 추가 저자, 대문자로 시작하는 저널명, 최근 연도, 그리고 10자리의 DOI 숫자와 같은 형태 말입니다. LLM은 그 형태를 완벽하게 만들어내는데, 왜냐하면 그것이 바로 LLM이 잘하는 일이기 때문입니다. 내용이 사실일 필요는 없습니다. 그저 그럴듯해 보이기만 하면 됩니다.
이것이 환각된 참고문헌이 매우 치명적인 이유입니다. 오류처럼 보이지 않기 때문입니다. 잘못된 계산은 눈에 확 띄지만, 지어낸 인용은 클릭하기 전까지는 실제 인용처럼 보입니다.
범인에게 묻지 마라
황금률은 한 문장으로 요약됩니다: 인용을 환각해낸 모델에게 그 인용이 진짜인지 절대 묻지 마십시오. 두 가지 이유가 복합적으로 작용합니다. 첫째, 모델은 해당 정보를 가지고 있지 않습니다. 모델은 레지스트리에 접근할 수 없으며, 오직 그럴듯한 무언가를 다시 생성할 수 있을 뿐입니다. 둘째, 설령 모델이 의구심을 갖더라도, 자기 평가 편향 (Self-evaluation bias)으로 인해 이미 생성한 내용을 확인하려는 경향이 있습니다. 결국 가치 없는 "예"라는 답변을 얻게 될 뿐입니다.
검증은 다른 곳에서 이루어져야 합니다. 모델이 통제할 수도, 지어낼 수도 없는 출처, 즉 메타데이터 API (Metadata API)로부터 이루어져야 합니다.
세 가지 필터: 존재성, 신뢰성, 충실도
기술 보고서 (Technical dossiers)를 작성하는 저의 파이프라인에서는, 어떤 참고문헌도 다음 세 가지 필터를 순서대로 통과하기 전에는 문서에 포함되지 않습니다.
존재성 (Existence). DOI가 실제로 연결되어야 합니다. 이는 이진적 (Binary)이며 비용이 들지 않습니다. Crossref는 전체 데이터베이스를 공개하고 있습니다:
curl -s "https://api.crossref.org/works/10.1145/3290605.3300233" \
| jq '.message.title[0], .message.author[0].family, .message["published"]'
만약 API가 제목과 저자를 반환한다면, 해당 논문은 실제로 존재합니다. 만약 404 오류를 반환한다면, 그 참조는 존재하지 않는 것입니다. 끝입니다. 프리프린트 (Preprint)의 경우에도 arXiv API (export.arxiv.org/api/query)나 프랑스 연구용 HAL을 사용하여 동일한 로직을 적용할 수 있습니다. 이 단계만으로도 환각 (Hallucination)의 대부분을 제거할 수 있는데, 왜냐하면 지어낸 DOI는 절대로 조회되지 않기 때문입니다.
신뢰성 (Credibility). 존재한다는 것만으로는 충분하지 않습니다. 비용만 지불하면 무엇이든 게재하는 약탈적 학술지 (Predatory journal)는 가치 없는 논문에 대해서도 유효한 DOI를 부여합니다. 이 필터는 학술지나 컨퍼런스가 유령 기관이 아니라 실제로 존재하고 인정받는 곳인지 확인합니다. DOI는 출처가 존재한다는 것을 증명할 뿐, 그 출처가 가치가 있다는 것을 증명하지는 않습니다.
충실도 (Fidelity). 가장 까다로운 필터이며, API가 대신 해줄 수 없는 단계입니다. 출처가 존재하고 신뢰할 만하더라도, 그 출처가 실제로 당신이 주장하는 바를 말하고 있습니까? 당신은 논문을 직접 읽고, 무엇이 측정된 사실인지와 무엇이 단순히 주장된 것인지를 구분해야 하며, 초록 (Abstract)의 범위를 넘어서서 추론해서는 안 됩니다. 주장을 뒷받침하지 않는 논문에 실제 인용을 갖다 붙이는 것도 여전히 거짓 증거입니다.
모든 RAG에 적용되는 동일한 원칙
이 파이프라인 (Pipeline)은 학술 자료에만 국한된 것이 아닙니다. 에이전트 (Agent)가 출처, 티켓, CVE 번호, 문서 페이지, 커밋 (Commit) 등을 인용하는 순간, 동일한 규율이 적용됩니다. 즉, 참조는 모델의 기억이 아니라 권위 있는 시스템을 통해 확인되어야 합니다. "JIRA-1242 티켓에 따르면"이라고 말하는 에이전트는 반드시 JIRA-1242를 조회했어야 합니다. 그렇지 않다면 DOI를 말할 때만큼이나 자신 있게 그 번호를 지어냈을 수도 있습니다.
RAG에서 가장 흔한 아키텍처 (Architecture) 실수는 생성 계층 (Generation layer)이 스스로를 검증할 수 있다고 믿는 것입니다. 그럴 수 없습니다. 검증은 외부의 진실과 연결된 별도의 단계여야 하며, 출력이 사용자에게 도달하기 전에 실행되어야 합니다.
결론
모델의 환각 (hallucination) 비율을 낮추는 것에 대해 많은 논의가 이루어지고 있습니다. 하지만 그것은 잘못된 싸움입니다. 그럴듯한 텍스트 생성기 (plausible-text generator)는 항상 어느 정도 환각을 일으키기 마련이며, 그것이 본질입니다. 진짜 해결책은 모델을 더 정직하게 만드는 것이 아니라, 모델의 말을 그대로 믿는 것을 그만두는 것입니다. 외부 레지스트리 (external registry)를 통해 확인할 수 없는 인용은 인용이 아닙니다. 그것은 실험실 가운을 입은 추측일 뿐입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기