JSON 转 OpenAI Structured Output Schema 与 Zod 转换器
将示例 JSON 编译为 strict: true 的 OpenAI Structured Outputs Schema 或 TypeScript z.object().strict() 校验器。
受限解码 Schema 编译器
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 Schema 吗?
可以。将目标规范选择器切换为 TypeScript Zod,即可输出可直接导入的 z.object({...}).strict() 代码,
并自动识别 .int() 整数约束。
严格工具 Schema 会如何影响单次请求的 LLM Token 成本?
工具定义在每次调用时都会计入输入 Token;可将编译后的 Schema 粘贴到 LLM Token 成本计算器中,测算 90%–95% 的提示词缓存节省幅度。