JSON Schema 与结构化输出

从示例生成草稿 Schema、用 AJV 校验实例,并复制 OpenAI / Anthropic 片段。

仅为草稿,上线前务必人工审核。

JSON Schema 生成、校验与 LLM 结构化输出指南

JSON Schema 是 API 契约、OpenAPI 文档、网关校验和大模型结构化输出的共同基础。用真实示例生成草稿,再补充业务约束,通常比从空白文件手写更可靠。

FormaX 会根据示例值推断 type、required、object 和 array 结构,并用 AJV 校验实例。你仍然需要补充 enum、format、minimum、pattern 等业务规则。

从示例到可用 Schema

  1. 复制一份真实成功响应,删除不应公开的敏感字段。
  2. 生成草稿 Schema 后检查 required 字段是否符合业务预期。
  3. 为 ID、邮箱、日期、金额等字段补充 format、pattern 或范围限制。
  4. 使用校验面板测试缺字段、类型错误和边界值,再同步到 OpenAPI 或 LLM 配置。

适合作为示例的 JSON

{"id":1001,"email":"user@example.com","plan":"pro","active":true}

推断不会替你决定业务规则

  • 单个示例只能说明当前值的类型,不能证明字段全部可能取值。
  • 数组为空时无法推断 item 类型,最好提供至少一个代表性元素。
  • LLM 结构化输出场景下,应尽量添加 description,减少模型误填字段。

FAQ

生成的 Schema 可以直接上线吗?

建议作为草稿使用。上线前需要人工补充枚举、格式、范围和向后兼容要求。

为什么要用 AJV 再校验?

AJV 能模拟真实运行时的通过/失败结果,提前发现文档和实际 payload 不一致的问题。