JSON Schema Doesn't Prevent AI Hallucinations (And That's Okay)

개요

JSON Schema는 AI 모델의 할루시네이션(환각)을 방지하지 못하지만, 이는 JSON Schema의 설계 목적과 다르며, AI 시스템 설계 시 구조적 유효성과 정보의 정확성을 구분하는 것이 중요함을 설명합니다.

주요 내용

* JSON Schema의 역할: JSON Schema는 애플리케이션이 예측 가능한 형식으로 데이터를 수신하도록 보장하며, 유효한 JSON, 필수 필드 존재 여부, 올바른 데이터 타입, 중첩 객체 구조, 배열 유효성, 열거형(Enum) 값 검증 등을 보장합니다.
* JSON Schema의 한계: JSON Schema는 추출된 값이 정확한지, 원본 문서에 해당 답변이 존재하는지, 모델이 환각을 일으키지 않았는지, 비즈니스 규칙이 준수되었는지 등 정보의 정확성이나 진실성을 보장하지 않습니다.
* 구조적 유효성(Structural Validation) vs. 의미론적 유효성(Semantic Validation): AI 응답 검증은 두 가지 독립적인 계층으로 나뉩니다. 첫 번째 계층인 구조적 유효성은 애플리케이션이 응답을 안전하게 소비할 수 있는지를 판단하며, JSON Schema가 이 부분을 효과적으로 해결합니다. 두 번째 계층인 의미론적 유효성은 정보의 신뢰성을 판단하며, 추출된 값이 올바른지, 출처를 추적할 수 있는지, 비즈니스 의사결정을 내릴 수 있는지 등을 질문합니다.
* 다양한 Structured Output 구현 방식: OpenAI, Groq, Ollama(GBNF), Anthropic 등 다양한 AI 모델 제공업체들은 Structured Output을 다르게 구현하며, 각기 다른 보장 수준을 제공합니다. OpenAI와 Groq는 서버 측 스키마 강제 적용을, Ollama는 GBNF를 통한 문법 제약을, Anthropic은 프롬프트, 파싱, 재시도를 통한 최선 노력(Best-effort) 방식을 사용합니다.
* ShapeCraft 라이브러리: ShapeCraft는 OpenAI, Groq, Ollama, Anthropic 등 다양한 모델에 대한 Structured Output을 지원하는 오픈소스 라이브러리로, 모델 제공업체별 보장 수준(native, constrained, best-effort)을 명확히 제공합니다.

시사점

AI 시스템 설계 시 JSON Schema와 같은 구조적 유효성 검증만으로는 정보의 정확성을 보장할 수 없으므로, 응답의 신뢰성을 판단하기 위한 의미론적 유효성 검증 계층을 추가적으로 구축하는 것이 향후 프로덕션 AI의 핵심 과제가 될 것입니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions