AI Cited a URL That Didn't Contain the Claim. I Built the Tooling to Measure How Often
개요
AI 모델이 생성하는 정보의 인용 오류는 여러 가지 형태로 나타나며, 이러한 오류의 빈도와 원인을 측정하고 해결하는 것이 신뢰할 수 있는 AI 서비스 구축에 중요하다.
주요 내용
* AI 인용 오류의 네 가지 유형:
* Class 1: Fabricated URL (잘못된 URL 생성): 모델이 존재하지 않거나 잘못된 URL을 생성하는 경우. 모델이 URL 패턴을 학습하여 실제 검색 결과와 상관없이 그럴듯한 URL을 만들어내는 것에서 발생한다.
* Class 2: Retrieve-then-misquote (검색 후 오인용): 모델이 실제 존재하는 URL의 콘텐츠를 검색했지만, 해당 URL의 내용이 생성된 주장과 일치하지 않는 경우. 이는 가장 흔한 유형으로, 모델이 여러 정보를 요약하거나 의역하는 과정에서 발생한다.
* Class 3: URL substitution (URL 대체): 모델이 실제 검색된 URL X의 내용을 바탕으로 주장을 생성했지만, 인용 시에는 더 권위 있어 보이는 다른 URL Y를 사용하는 경우. 모델이 학습 데이터에 있는 "좋은" 인용 소스를 선호하는 경향에서 비롯된다.
* Class 4: Anchor-text drift (텍스트 의미 왜곡): 인용된 URL과 내용은 정확하지만, 인용된 문장이나 텍스트의 주변 맥락이 원본의 의미를 미묘하게 변경하는 경우. 모델이 더 자연스러운 표현을 위해 의미를 압축하는 과정에서 발생한다.
* 인용 오류 측정 방법론:
* 생성된 응답에서 검색된 URL과 인용된 URL을 추출한다.
* Class 1은 인용된 URL이 검색된 URL 집합에 없는 경우로 탐지한다.
* Class 2, 3, 4는 인용된 URL의 내용을 분석하여 주장이 해당 URL에서 실제 뒷받침되는지, 또는 다른 URL에서 뒷받침되는지를 확인한다. 이를 위해 정확한 문자열 매칭, 임베딩 유사도, 자연어 추론(NLI) 모델 등을 활용할 수 있다.
* 인용 오류 완화 방안 (영향력 순):
1. Class 1 하드 블록: 응답에 검색 결과에 포함되지 않은 URL이 있으면 해당 응답을 차단하고 재시도하거나 대체 응답을 제공한다.
2. 문장 수준 인용 충실도 검사: 사용자에게 표시하기 전에 각 인용된 문장이 해당 URL의 내용과 일치하는지 검사하고, 불일치 시 출처를 표시하지 않거나 경고한다.
3. 고품질 검색 유도: 도구 설명 등을 통해 더 정확하고 관련성 높은 검색 결과를 얻도록 유도한다.
4. 시스템 프롬프트 조정: 모델이 검색 도구에서 반환된 URL만 인용하도록 명시적으로 지시한다.
5. 길이 제한: 짧고 직접적인 표현을 사용하도록 하여 텍스트 의미 왜곡을 줄인다.
6. 인용된 구절 표시: URL과 함께 실제 인용된 문구도 사용자에게 보여준다.
7. 인용 소스 다양화: 여러 소스를 인용하도록 유도하여 URL 대체 경향을 줄인다.
* 운영을 위한 인용 검증 레이어 구축:
* 모델 응답과 사용자 출력 사이에 미들웨어(middleware) 레이어를 두어 인용의 정확성을 검증한다.
* 이 레이어는 Class 1은 즉시 차단하고, Class 2-4는 비동기 NLI 모델을 통해 검증하며, 검증 결과를 사용자에게 점진적으로 표시하는 방식을 사용한다.
* 이는 응답 지연 시간을 약간 증가시키지만, 사용자의 신뢰도를 크게 향상시킨다.
* 제공업체별 관찰: Anthropic, OpenAI, Gemini 등 주요 AI 제공업체는 구조화된 인용 데이터를 제공하며, 인용 오류의 양상과 빈도에는 차이가 있다. 오픈 소스 RAG 시스템의 경우, 인용 충실도는 구축 방식에 따라 크게 달라진다.
시사점
AI 모델의 인용 오류는 여러 유형으로 존재하며, 각 유형별로 맞춤화된 측정 및 완화 전략을 적용하는 것이 신뢰할 수 있는 AI 서비스 제공의 핵심이다. 특히, 인용 충실도 검증 레이어를 구축하는 것은 법률, 의료, 언론 등 고위험 분야에서 AI 활용의 신뢰성을 확보하기 위한 필수적인 엔지니어링 투자이다.
댓글
GitHub Discussions