JSON→OpenAI Structured Outputスキーマ & Zodコンバーター
サンプルJSONを strict: true 対応のOpenAI Structured OutputsスキーマまたはTypeScriptの z.object().strict() バリデーターへコンパイルします。
制約付きデコーディング・スキーマコンパイラ
有効なJSON — OpenAI strict:true準拠(additionalProperties: false 適用済み)
制約付きデコーディングの不変条件
additionalProperties: false: ネストされたすべてのobjectノードに対して再帰的に強制されます。- 完全な
required配列: ルートをobjectとし、宣言されたすべてのプロパティキーがrequiredに列挙されます。
よくある質問
OpenAI Structured Outputsが標準的なJSON Schemaを拒否するのはなぜですか?
response_format や関数ツール呼び出しで strict: true を有効にすると、制約付きデコーディングの仕様により、すべての object ノードで additionalProperties: false を設定し、全プロパティキーを required に含める必要があります。
.strict()付きのTypeScript Zodスキーマを生成できますか?
はい。出力フォーマットのセレクターを TypeScript Zod に切り替えると、自動 .int() 判定を含むそのままインポート可能な z.object({...}).strict() コードを出力できます。
厳密なツールスキーマは1リクエストあたりのLLMトークンコストにどう影響しますか?
ツール定義は毎回の呼び出しで入力トークンに加算されます。コンパイルしたスキーマをLLMトークンコスト計算ツールに貼り付けることで、90%〜95%のプロンプトキャッシュ削減効果を試算できます。