Skip to content

Evidence for AI operations

No English page yet. Showing the Japanese source.

Back to the entrance

Structured Output/Schema Validation

用語・参照用語・参照公式仕様のみ公式仕様のみ現行現行として扱う

記事状態: 公開 · 最終確認: 2026-10-05

要点

Structured OutputやJSON Schemaは、LLM出力を機械処理しやすい構造へ制約し、parse/schema failureを減らすための境界です。schema適合を、内容の真偽、業務妥当性、認可、最新状態、副作用の安全性と同一視しません。

現在の判断

Structured OutputやJSON Schemaは、LLM出力を機械処理しやすい構造へ制約し、parse/schema failureを減らすための境界です。schema適合を、内容の真偽、業務妥当性、認可、最新状態、副作用の安全性と同一視しません。

どこまで当てはまるか

Structured Output/Schema Validation

詳しく理解する

FIVE GATES

side effectへ到達する前に、少なくとも次を分離します。

  • syntax/parse: JSONとして読めるか。
  • provider schema conformance: providerのstructured-output modeが対応subsetに従っているか。
  • independent schema validation: application側validatorで期待dialect/schemaに適合するか。
  • semantic validation: ID、単位、時刻、金額、相互関係、business invariantが正しいか。
  • execution gate: identity/authorization、最新version、precondition、idempotency、必要なhuman confirmationを満たすか。

前段PASSを後段PASSの代用にしません。

SCHEMA DIALECT AND PROVIDER SUBSET

「JSON Schema対応」という表記だけでDraft 2020-12全機能が同一に使えるとは仮定しません。

OpenAI strict structured outputはJSON Schemaのsubsetを使用します。公式documentation自身が、標準meta-schemaにはstrict mode未対応featureがあることを示しています。

Gemini structured outputsもJSON Schemaのsubsetであり、大規模・深いschemaは拒否され得ます。provider/model/API surfaceごとにsupported keywordとcomplexity limitをfixtureで確認します。

schemaにはdialect/version、provider/model/API revision、schema hashを付け、consumer側validator versionも監査証跡へ残します。

FORMAT IS NOT BUSINESS SEMANTICS

JSON Schema Draft 2020-12ではformatのassertion behaviorはvocabulary/implementationに依存します。email/date-time等がschema validatorを通っても、メールボックス実在、業務時間、timezone policy、組織上の許可までは証明しません。

domain validationをschema validationから分離します。

SCHEMA VALID BUT WRONG

constrained decodingでschema validityが高くても、値そのものが誤っている場合があります。

例: - 存在する型のcustomer_idだが別顧客 - enum内のactionだが意図と違う - integerの金額だが通貨・桁が違う - ISO date-timeだがtimezone/business cutoffが違う - required fieldを満たすため未知値を生成 - tool argumentsはvalidだが対象versionが古い

運用metricはschema-valid率だけでなくsemantic accuracy、executable accuracy、unsafe-accept rateを分離します。

SIDE EFFECTING TOOLS

tool argumentがschema-validでも、そのまま実行しません。

実行直前にprincipal、authorization、resource version、business invariant、duplicate/idempotency key、confirmation requirementを再検証します。LLMが生成した「authorized=true」「confirmed=true」のようなfieldを権限証明に使いません。

SCHEMA EVOLUTION

schema変更はversioned contractとして扱います。field名を維持したまま意味・単位・nullable semanticsを変えないようにし、producer/consumerの互換fixtureを持ちます。

provider側structured-output subsetやAPI surface変更時も同じschemaで再試験します。

OPERATING CHECK

各provider/model/versionで、malformed JSON、missing/extra field、wrong type/enum、unsupported keyword、deep nesting、refusal、truncation、schema-valid semantic error、stale ID、wrong unit/timezone/currency、unauthorized tool call、duplicate execution、schema-version mismatchを試験します。

parse validity、schema validity、semantic accuracy、executable accuracy、unsafe acceptance、refusal/errorを別metricとして記録します。

実装・運用

本項は2026-10-05時点のJSON Schema Draft 2020-12、OpenAI/Gemini公式structured-output documentation、および2026年の独立structured-output evaluationsに基づくdesk researchです。production schemaやlive provider callは未検査です。

よくある失敗・反証

  • refusal、safety stop、max-token truncation、timeout、tool/runtime errorをschema-valid success objectへ変換しません。

    retry対象はfailure classで限定し、schemaを通すためにbusiness meaningを変更しません。retry後も同一idempotency/precondition boundaryを維持します。

  • unsupported keyword/dialect、schema complexity rejection、refusal、truncation、timeout、schema-valid semantic error、stale ID/version、unit/timezone/currency error、fabricated required value、numeric precision mismatch、format semantics mismatch、regex portability、provider subset drift、unauthorized tool call、duplicate execution、precondition failure、schema evolution mismatch、validator bypass、validation-log leakageを想定します。

  • schema-validをsemantic-validやexecution-safeへ昇格させず、five-gate modelとprovider subsetを監査可能な形で固定します。organization固有schemaが必要な場合はexact contractに対するfixtureを追加します。

実務での使い方

  • 本項は2026-10-05時点のJSON Schema Draft 2020-12、OpenAI/Gemini公式structured-output documentation、および2026年の独立structured-output evaluationsに基づくdesk researchです。production schemaやlive provider callは未検査です。

まだ確認できていないこと

  • EA-240-UNKNOWN-01

    対象provider/model/API revision、organization schema、Anthropic current subset、streaming/refusal contract、validator implementation/version、schema registry、business invariants、authorization、idempotency、numeric precision、logging/retentionは未確認です。

根拠資料

更新履歴

  1. EA-240-FIRST-20261005: canonical audit/publication binding

出典ID・検証情報・機械可読データ

根拠の種類と情報の鮮度は、ラベルとアイコンで確認できます。

記事ID
EA-240
最終確認日
2026-10-05
提供元・モデル・プラン・利用環境
—
対象地域
—
元資料の全文と収録照合記録
PUBLIC_CLAIM

Structured OutputやJSON Schemaは、LLM出力を機械処理しやすい構造へ制約し、parse/schema failureを減らすための境界です。schema適合を、内容の真偽、業務妥当性、認可、最新状態、副作用の安全性と同一視しません。

FIVE_GATES

side effectへ到達する前に、少なくとも次を分離します。

  • syntax/parse: JSONとして読めるか。
  • provider schema conformance: providerのstructured-output modeが対応subsetに従っているか。
  • independent schema validation: application側validatorで期待dialect/schemaに適合するか。
  • semantic validation: ID、単位、時刻、金額、相互関係、business invariantが正しいか。
  • execution gate: identity/authorization、最新version、precondition、idempotency、必要なhuman confirmationを満たすか。

前段PASSを後段PASSの代用にしません。

SCHEMA_DIALECT_AND_PROVIDER_SUBSET

「JSON Schema対応」という表記だけでDraft 2020-12全機能が同一に使えるとは仮定しません。

OpenAI strict structured outputはJSON Schemaのsubsetを使用します。公式documentation自身が、標準meta-schemaにはstrict mode未対応featureがあることを示しています。

Gemini structured outputsもJSON Schemaのsubsetであり、大規模・深いschemaは拒否され得ます。provider/model/API surfaceごとにsupported keywordとcomplexity limitをfixtureで確認します。

schemaにはdialect/version、provider/model/API revision、schema hashを付け、consumer側validator versionも監査証跡へ残します。

FORMAT_IS_NOT_BUSINESS_SEMANTICS

JSON Schema Draft 2020-12ではformatのassertion behaviorはvocabulary/implementationに依存します。email/date-time等がschema validatorを通っても、メールボックス実在、業務時間、timezone policy、組織上の許可までは証明しません。

domain validationをschema validationから分離します。

SCHEMA_VALID_BUT_WRONG

constrained decodingでschema validityが高くても、値そのものが誤っている場合があります。

例: - 存在する型のcustomer_idだが別顧客 - enum内のactionだが意図と違う - integerの金額だが通貨・桁が違う - ISO date-timeだがtimezone/business cutoffが違う - required fieldを満たすため未知値を生成 - tool argumentsはvalidだが対象versionが古い

運用metricはschema-valid率だけでなくsemantic accuracy、executable accuracy、unsafe-accept rateを分離します。

REFUSAL_AND_FAILURE_STATES

refusal、safety stop、max-token truncation、timeout、tool/runtime errorをschema-valid success objectへ変換しません。

retry対象はfailure classで限定し、schemaを通すためにbusiness meaningを変更しません。retry後も同一idempotency/precondition boundaryを維持します。

SIDE_EFFECTING_TOOLS

tool argumentがschema-validでも、そのまま実行しません。

実行直前にprincipal、authorization、resource version、business invariant、duplicate/idempotency key、confirmation requirementを再検証します。LLMが生成した「authorized=true」「confirmed=true」のようなfieldを権限証明に使いません。

SCHEMA_EVOLUTION

schema変更はversioned contractとして扱います。field名を維持したまま意味・単位・nullable semanticsを変えないようにし、producer/consumerの互換fixtureを持ちます。

provider側structured-output subsetやAPI surface変更時も同じschemaで再試験します。

OPERATING_CHECK

各provider/model/versionで、malformed JSON、missing/extra field、wrong type/enum、unsupported keyword、deep nesting、refusal、truncation、schema-valid semantic error、stale ID、wrong unit/timezone/currency、unauthorized tool call、duplicate execution、schema-version mismatchを試験します。

parse validity、schema validity、semantic accuracy、executable accuracy、unsafe acceptance、refusal/errorを別metricとして記録します。

FAILURE_ENVELOPE

unsupported keyword/dialect、schema complexity rejection、refusal、truncation、timeout、schema-valid semantic error、stale ID/version、unit/timezone/currency error、fabricated required value、numeric precision mismatch、format semantics mismatch、regex portability、provider subset drift、unauthorized tool call、duplicate execution、precondition failure、schema evolution mismatch、validator bypass、validation-log leakageを想定します。

IMPLEMENTATION_STATE

本項は2026-10-05時点のJSON Schema Draft 2020-12、OpenAI/Gemini公式structured-output documentation、および2026年の独立structured-output evaluationsに基づくdesk researchです。production schemaやlive provider callは未検査です。

SAFE_WORDING

Structured Output/JSON Schemaは構造適合を強化しますが、正しい答え、安全なtransaction、認可済み操作を保証しません。providerごとのschema subset/dialect/versionを固定し、application側でsemantic validation、authorization、precondition、idempotencyを別gateとして実施してください。

OPEN_UNKNOWN

対象provider/model/API revision、organization schema、Anthropic current subset、streaming/refusal contract、validator implementation/version、schema registry、business invariants、authorization、idempotency、numeric precision、logging/retentionは未確認です。

STOP_CONDITION

schema-validをsemantic-validやexecution-safeへ昇格させず、five-gate modelとprovider subsetを監査可能な形で固定します。organization固有schemaが必要な場合はexact contractに対するfixtureを追加します。

  • EA-240-CURRENT-APPROVAL研究資料研究資料根拠の出所: AUDITED_CANONICAL_RESEARCH_PACKET

    現行本文の監査・revision対応

    裏付ける内容
    現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。
    確認日
    —
    出典・実験ID
    CANDIDATE-EA240-FIRST-20261005-C1
    検証箇所
    1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ · EA_REVISION_LEDGER!A43:U43 · EA-240-FIRST-20261005
    適用範囲
    —
    出典・来歴
    CURRENT_CANONICAL_APPROVAL_READBACK
    限界
    監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。
  • EA-240-CURRENT-BODY-READBACK実装資料実装資料根拠の出所: IMPLEMENTATION_READBACK

    現行本文の収録照合

    裏付ける内容
    公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。
    確認日
    2026-10-12
    出典・実験ID
    BODY-SHA256:1148f544c3f41ccc5c760337976e97962af6a567cfc47d5a1faad400c4f2f772
    検証箇所
    content/staging/EA-240.md · 1148f544c3f41ccc5c760337976e97962af6a567cfc47d5a1faad400c4f2f772 · EA-240-FIRST-20261005
    適用範囲
    —
    出典・来歴
    CURRENT_APPROVED_BODY_HASH_MATCH
    限界
    本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。
  • EVD-EA-240-URL-B1ED6CF92876研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E1 — JSON Schema, “Specification / Draft 2020-12”, JSON Schema project, published 2022-06-16, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-B1ED6CF92876
    検証箇所
    EVIDENCE_TABLE · E1 · Canonical URL: https://json-schema.org/specification
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-2551F1B1287D研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E2 — JSON Schema Validation: A Vocabulary for Structural Validation of JSON, Draft 2020-12, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-2551F1B1287D
    検証箇所
    EVIDENCE_TABLE · E2 · Canonical URL: https://json-schema.org/draft/2020-12/json-schema-validation
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-F82212725495研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E3 — OpenAI API Reference, “Create a model response”, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-F82212725495
    検証箇所
    EVIDENCE_TABLE · E3 · Canonical URL: https://developers.openai.com/api/reference/resources/responses/methods/create
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-735D86ECC127研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E4 — OpenAI Developers, “Prompt generation — Schemas”, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-735D86ECC127
    検証箇所
    EVIDENCE_TABLE · E4 · Canonical URL: https://developers.openai.com/api/docs/guides/prompt-generation
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-265A674D3F00研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E5 — OpenAI, “Introducing Structured Outputs in the API”, 2024-08-06, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-265A674D3F00
    検証箇所
    EVIDENCE_TABLE · E5 · Canonical URL: https://openai.com/index/introducing-structured-outputs-in-the-api/
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-2E35BD33C49F研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E6 — Google AI for Developers, “Structured outputs — Gemini API”, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-2E35BD33C49F
    検証箇所
    EVIDENCE_TABLE · E6 · Canonical URL: https://ai.google.dev/gemini-api/docs/structured-output
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-BDC7E2AF9D9F研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E7 — Google AI for Developers, “Generating content — Gemini API”, accessed 2026-10-05.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-BDC7E2AF9D9F
    検証箇所
    EVIDENCE_TABLE · E7 · Canonical URL: https://ai.google.dev/api/generate-content
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-B01515BB8172研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E8 — Ray, “The Constraint Tax: Measuring Validity-Correctness Tradeoffs in Structured Outputs for Small Language Models”, arXiv:2605.26128, 2026-05-20.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-B01515BB8172
    検証箇所
    EVIDENCE_TABLE · E8 · Canonical URL: https://arxiv.org/abs/2605.26128
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-64D451728A26研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E9 — Chavan, “Constrained Decoding Eliminates Structural Failures in Small LLMs but Reveals a Scale-Dependent Semantic Gap”, arXiv:2609.23742, 2026-09-20.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-64D451728A26
    検証箇所
    EVIDENCE_TABLE · E9 · Canonical URL: https://arxiv.org/abs/2609.23742
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
  • EVD-EA-240-URL-C0671C3A4240研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCE

    E10 — Li, “When JSON Is Not Enough: Semantic Reliability of Schema-Constrained LLM Ordering Agents”, arXiv:2607.18261, 2026-05-16.

    裏付ける内容
    —
    確認日
    —
    出典・実験ID
    SRC-EA-240-URL-C0671C3A4240
    検証箇所
    EVIDENCE_TABLE · E10 · Canonical URL: https://arxiv.org/abs/2607.18261
    適用範囲
    EVIDENCE_TABLE
    出典・来歴
    SOURCE_PACKET_REFERENCE_PROJECTED
    限界
    元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
出典ID
CANDIDATE-EA240-FIRST-20261005-C1, BODY-SHA256:1148f544c3f41ccc5c760337976e97962af6a567cfc47d5a1faad400c4f2f772, SRC-EA-240-URL-B1ED6CF92876, SRC-EA-240-URL-2551F1B1287D, SRC-EA-240-URL-F82212725495, SRC-EA-240-URL-735D86ECC127, SRC-EA-240-URL-265A674D3F00, SRC-EA-240-URL-2E35BD33C49F, SRC-EA-240-URL-BDC7E2AF9D9F, SRC-EA-240-URL-B01515BB8172, SRC-EA-240-URL-64D451728A26, SRC-EA-240-URL-C0671C3A4240
追跡中のUNKNOWN ID
EA-240-UNKNOWN-01
再確認のきっかけ
canonical revision/publication state change · body artifact hash change · source currentness change · new contradiction or implementation readback

機械検査: 通過 — Automated validation does not guarantee accuracy or authorize execution.

    同じ記事IDの機械可読データです。