LLM JSON 출력 검증기

JSON Schema와 LLM 응답을 붙여 넣으면 모든 검증 오류를 JSON 경로와 줄 번호로 보여 줍니다. 코드펜스, 후행 쉼표, 작은따옴표·둥근 따옴표, 주석, 파이썬 True/None을 먼저 고칩니다. 검증은 브라우저에서 Ajv 8.20.0(draft-07, 2019-09, 2020-12)으로 합니다.

    모든 처리는 브라우저 안에서 합니다. 저장하거나 전송하지 않습니다.

    문제가 해결됐나요?
    Google 선호 출처로 추가

    사용 방법

    1. 왼쪽에 JSON Schema를 붙여 넣습니다. name과 schema로 감싼 OpenAI response_format 객체는 알아서 풀어 씁니다.
    2. 오른쪽에 모델 출력을 받은 그대로 붙여 넣습니다. 코드펜스나 앞뒤 설명 문장이 붙어 있어도 됩니다.
    3. 결과를 확인합니다. 오류마다 줄·칸(누르면 그 위치로 이동), JSON 경로, 내용이 나옵니다. 먼저 정리해야 했다면 고친 항목이 표시되고 정리된 JSON을 복사할 수 있습니다.

    계산 방법

    출력을 먼저 그대로 해석합니다. 실패하면 모델이 자주 내는 문제를 지우고 다시 시도합니다: Markdown 코드펜스, JSON 앞뒤 문장, BOM, 둥근 따옴표, 작은따옴표 문자열, // 와 /* */ 주석, 후행 쉼표, 파이썬 True·False·None. 문자열 안의 글자는 바꾸지 않습니다.

    스키마 검사는 널리 쓰이는 JSON Schema 검증기 Ajv 8.20.0으로 하며, 무언가를 붙여 넣을 때만 불러옵니다. $schema 필드가 2020-12나 2019-09를 가리키면 그 초안을, 아니면 draft-07을 씁니다. 첫 오류만이 아니라 모든 오류를 보고합니다.

    format 키워드(email, date-time 등)는 검사하지 않고, 원격 $ref 링크는 가져오지 않습니다.

    붙여 넣은 내용은 저장하지도, 어디로 보내지도, 주소에 남기지도 않습니다.

    LLM이 자주 틀리는 것

    문제예자동 수정
    코드펜스```json { ... } ```예
    JSON 앞뒤 문장Sure! Here it is: { ... }예
    후행 쉼표{"a": 1,}예
    작은따옴표·둥근 따옴표{'a': 'b'}예
    필수 필드 누락{"title": "x"}아니요, 보고
    잘못된 타입"rating": "5"아니요, 보고
    추가 필드additionalProperties false 인데 "author": "x"아니요, 보고

    처음부터 올바른 출력을 받으려면

    • 가능하면 제공사의 구조화 출력 모드를 쓰세요. OpenAI strict json_schema와 Anthropic structured outputs는 모델 출력을 스키마에 묶습니다.
    • strict 모드는 모든 속성을 required에 넣고 additionalProperties를 false로 두어야 합니다. 스키마가 이 규칙을 따르는지 확인하세요.
    • strict 모드 없이 모델 출력을 파싱한다면 여기 같은 정리 단계를 두고, 데이터를 믿기 전에 검증하세요.

    자주 묻는 질문

    멀쩡해 보이는 JSON이 왜 해석되지 않나요?

    흔한 원인은 마지막 항목 뒤 쉼표, JSON을 감싼 코드펜스, 채팅 창에서 들어온 둥근 따옴표입니다. 이 도구가 고치고 무엇을 바꿨는지 알려 줍니다.

    어떤 JSON Schema 초안을 지원하나요?

    기본은 draft-07이고, $schema 필드에 적혀 있으면 2019-09와 2020-12도 씁니다.

    내 데이터가 업로드되나요?

    아닙니다. 해석과 검증은 브라우저 안에서 하며, 글은 저장되지도 URL에 들어가지도 않습니다.

    OpenAI response_format 객체를 그대로 붙여 넣어도 되나요?

    네. name과 schema가 있는 객체나 json_schema.schema가 있는 객체는 풀어서 안쪽 스키마를 씁니다.