JSON Schema
JSON Schema是一种用于描述和验证JSON数据结构的声明式规范语言,基于JSON格式本身编写。它通过定义数据类型、属性约束、必填字段、枚举值等规则,对JSON数据进行结构校验与文档化,广泛应用于API设计、配置文件验证、表单校验及自动化代码生成等场景,是互操作性与数据一致性保障的重要工具。
核心事实
时间轴 (近 90 天)
脚本生成步骤通过JSON Schema强制模型输出三个必需字段:40到60词的带情感标签配音脚本、16:9封面图提示词、8秒视频片段的运动描述。
JSON Schema 常见草案版本包括 Draft-07、2019-09 和 2020-12,不同版本在关键字支持上存在差异。
OpenAPI 3.0的Schema Object基于JSON Schema的一个子集,并做了调整(如nullable关键字、不支持某些组合关键字)。
OpenAI对oneOf、anyOf等复杂组合限制较多,且要求所有字段必须为required(可通过nullable模拟可选)。
在追踪的167个模型中,有97个能够强制执行JSON Schema。
结构化输出指模型直接生成符合预定义 schema(如 JSON Schema 或 Pydantic 模型)的响应,而非自由文本。
Claude Agent SDK 引入结构化输出,使代理按预定义 schema(如 JSON Schema)返回字段固定的数据,便于下游程序直接反序列化使用。
对于低风险文本转 JSON 分诊并带 schema 校验的负载,可以使用免费模型加免费服务器,但应保留人工复核队列。
structured output是一种约束解码机制,允许请求附带JSON Schema,在解码阶段屏蔽不符合schema的token,从而理论上使格式解析成功率接近1,但无法保证字段值的语义正确性。
JSON解析有效(如 json.loads 通过)不等同于符合给定 JSON Schema 契约;解析只检查 RFC 8259 语法,而契约符合性检查必需键、类型、枚举、模式匹配、无多余字段等语义约束。
还有 40 条时间轴事件
全部知识事实 (20)
Function Calling(Tool Use)是大模型调用外部工具的标准化机制,开发者预先声明工具名称、描述和参数Schema,模型自主判断何时调用
90%已验证MCP中每个工具都有严格的JSON Schema描述,包括名称、功能说明和参数规范
90%已验证Function Calling的核心机制是开发者以JSON Schema格式描述外部函数签名,模型输出符合schema规范的结构化JSON调用指令
80%已验证Function Calling机制中,开发者将工具的名称、功能描述、参数Schema(通常为JSON Schema格式)注入到模型的请求中,模型输出结构化的JSON而非自然语言来调用工具
80%已验证Agent通过工具调用(Tool Calling)机制,允许模型以结构化JSON格式输出调用意图,由外部程序执行真实操作后将结果反馈给模型
80%已验证JSON Schema是一种用于描述和验证JSON数据结构的规范,可定义字段必要性、数据类型和取值范围
80%已验证在JSON Schema中设置additionalProperties: false可拒绝任何未在Schema中显式声明的额外字段,杜绝模型发明额外字段的可能性
80%已验证结构化输出通过JSON Schema或函数调用机制在解码阶段对token生成施加约束,与在提示词中要求输出JSON格式有本质区别
80%已验证为工具定义类型化JSON Schema能减少模型调用时的格式错误和幻觉式参数填充,提高调用成功率
75%已验证工具调用的基本原理是模型识别需要外部能力的场景,输出结构化的函数调用请求(通常为JSON格式),由外部系统执行后返回结果给模型继续推理
75%已验证JSON Schema是一种基于JSON格式的声明式规范,起源于2009年的社区草案,由IETF在RFC 8927及后续草案中推进标准化工作
75%已验证JSON Schema最新版本为Draft 2020-12,由json-schema.org维护
75%已验证JSON Schema由IETF维护,当前版本为Draft 2020-12
70%已验证Swagger已更名为OpenAPI Specification,是一套用于描述RESTful API的标准化规范,以JSON或YAML格式定义API信息,目前业界广泛使用OpenAPI 3.0/3.1版本
70%已验证工具对 AI 而言本质上是一份用 JSON Schema 描述的菜单,描述越清晰模型选择工具的准确率越高
65%已验证工具调用机制中,开发者在调用 LLM API 时附带一份 JSON Schema 格式的工具描述清单,模型以结构化 JSON 格式输出调用参数
65%已验证JSON Mode仅保证输出是合法JSON但不约束字段结构;Structured Outputs通过在解码阶段应用有限状态机(FSM)约束token采样路径,从语法层面强制输出符合预定义JSON Schema
65%已验证JSON Schema是IETF标准,支持minimum/maximum、enum、pattern、$ref等约束表达
65%已验证每个工具的 JSON Schema 描述少则数十 token 多则数百 token,当工具数量超过 30-50 个时,工具定义本身可能消耗数千 token 上下文
65%已验证工具调用的 schema 本质上是一份 JSON Schema 规范,描述工具名称、参数名称、类型约束和必填字段
65%