~/tools / Structured Output Schema Checker
Structured Output Schema Checker — JSON Schema를 OpenAI, Anthropic, Gemini 제한과 대조해 검사
JSON Schema를 OpenAI, Anthropic, Gemini의 구조화된 출력에 관한 공식 문서상의 제한과 대조해 검사합니다. API에 스키마를 보내기 전에 어떤 키워드가 허용되지 않는지, 무시되는지, 문서에 없는지 확인할 수 있습니다. 입력한 내용은 브라우저 밖으로 나가지 않습니다.
규칙은 2026-10-23에 각 벤더의 문서와 대조해 확인했습니다.
검사하지 않는 것: 중첩 깊이, 긴 enum에 대한 제한, 그리고 벤더가 문서로 밝히지 않은 모든 것. 벤더는 이러한 규칙을 바꾸므로 최신 문서로 확인하세요.
모든 처리는 브라우저 안에서 이루어집니다. 스키마는 업로드되지 않습니다.
AI API는 모델의 응답이 JSON Schema를 따르도록 강제할 수 있지만, 벤더마다 JSON Schema의 일부만 받아들이며 그 범위도 서로 다릅니다. 한 벤더에서 잘 동작하는 스키마가 다른 벤더에서는 거부되거나, 받아들여지더라도 일부 규칙이 조용히 버려질 수 있습니다. 이 도구는 스키마를 읽어 각 벤더의 문서에 적힌 내용과 대조합니다. additionalProperties를 false로 해야 한다는 것 같은 필수 규칙, 지원되지 않는 키워드, 받아들여지지만 적용되지는 않는 키워드, 그리고 공개된 크기 제한을 확인합니다. 결과는 세 종류로 나뉘므로, 문서에 오류로 명시된 것과 문서에 단지 나와 있지 않은 키워드를 구분할 수 있습니다. 규칙은 도구 아래에 표시된 날짜에 각 벤더의 문서와 대조해 확인한 것입니다.
이럴 때 사용
- 구조화된 출력 요청으로 보내기 전에 스키마를 점검해, 400 오류가 나서야 문제를 알게 되는 일을 피하기
- 스키마에서 빼서 직접 작성한 검증 코드로 옮겨야 하는 키워드 찾기
- 같은 스키마에 대해 OpenAI, Anthropic, Gemini가 각각 무엇을 받아들이는지 비교하기
사용법
- 보낼 예정인 JSON Schema를 붙여넣거나 예시를 불러옵니다.
- 벤더별 결과를 확인합니다. 허용되지 않음은 문서에 따르면 스키마가 실패하거나 바꿔야 한다는 뜻입니다. 무시됨은 키워드가 받아들여지지만 적용되지는 않는다는 뜻입니다. 문서에 없음은 벤더의 지원 키워드 목록에 그 키워드가 없다는 뜻입니다.
- 허용되지 않음으로 표시된 것을 고치고, 나머지는 실제 요청을 보내 확인합니다.
FAQ
결과에 문제가 없으면 API가 내 스키마를 받아들인다는 뜻인가요?
아니요. 이 도구는 벤더가 문서로 밝힌 규칙만 검사합니다. API를 호출하지 않고 문서가 모든 것을 다루지도 않으므로, 스키마가 그래도 거부될 수 있습니다. 문제가 없다는 결과는 '알려진 문제가 없다'는 뜻으로 받아들이고, 실제 요청으로 시험해 보세요.
허용되지 않음, 무시됨, 문서에 없음은 각각 무슨 뜻인가요?
허용되지 않음: 문서에 그 키워드가 지원되지 않는다고 적혀 있거나, 따라야 하는 규칙이 있다는 뜻입니다. 예를 들어 additionalProperties는 false여야 합니다. 무시됨: 문서에 키워드가 받아들여지지만 적용되지는 않는다고 적혀 있어, 모델이 그 규칙을 어길 수 있다는 뜻입니다. 문서에 없음: 키워드가 벤더의 지원 키워드 목록에 없으므로 거부되거나 무시될 수 있지만, 어느 쪽인지는 문서에 나와 있지 않다는 뜻입니다.
OpenAI는 왜 모든 속성을 required에 넣으라고 하나요?
OpenAI의 strict 모드에서는 모든 속성을 required에 나열하고 additionalProperties를 false로 해야 합니다. 필드를 선택 사항으로 만들려면 문서에 따라 null과의 유니온을 사용합니다. 예를 들어 type을 ["string", "null"]로 지정합니다.
스키마에 minimum이나 maxLength 같은 것을 쓰고 있습니다. 어떻게 해야 하나요?
Anthropic은 숫자 제약과 문자열 길이 제한을 지원하지 않고, Gemini는 길이 제한을 적용하지 않습니다. 스키마에서 이를 빼고 제한 내용은 description 필드에 적은 다음, 응답을 받은 뒤 값을 직접 확인하세요. 그 검사는 JSON Schema Validator 도구로 할 수 있습니다.
이 도구는 재귀도 검사하나요?
네, Anthropic에 대해서는 검사합니다. Anthropic 문서는 재귀 스키마를 지원하지 않는 것으로 적고 있습니다. OpenAI와 Gemini는 문서에서 재귀 스키마를 다루므로 표시하지 않습니다.
검사하지 않는 것은 무엇인가요?
중첩 깊이, 긴 enum에 대한 제한, 그리고 벤더가 문서로 밝히지 않은 모든 것입니다. 또한 확인 날짜 이후에 추가된 새 모델이나 기능은 이 도구가 알지 못하므로, 중요한 경우에는 최신 문서로 확인하세요.
내 스키마가 서버로 전송되나요?
아니요. 검사는 브라우저 안에서 실행됩니다.