JSON Schema
JSON Schema是一种用于描述和验证JSON数据结构的声明式规范语言,基于JSON格式本身编写。它通过定义数据类型、属性约束、必填字段、枚举值等规则,对JSON数据进行结构校验与文档化,广泛应用于API设计、配置文件验证、表单校验及自动化代码生成等场景,是互操作性与数据一致性保障的重要工具。
核心事实
时间轴 (近 90 天)
确定性检查(如正则匹配、JSON Schema校验、关键词黑名单)执行开销在微秒到毫秒级别,且对同一输入永远给出同一结果,应在每个请求上内联执行。
在 AI 文档审查中,类型安全可通过 JSON Schema、Pydantic、Zod 等模式定义工具约束大模型输出结构,例如强制合同金额为数值类型、生效日期符合 ISO 8601 格式
JSON schema 在 MCP 中用于描述工具输入参数,宿主可以据此自动生成调用表单、校验参数或提前拒绝不合法参数,但不约束工具是否该被调用或调用是否被授权。
源自任何提供商的schema遵从性只保证形状,不保证语义正确,例如抵销行的符号错误可通过严格JSON-schema校验。
APIMock-AI 的 ContractTester 会对真实或 Mock 服务发起请求,然后用 JSON Schema 验证请求体和响应体是否符合契约。
在 OpenAI Function Calling 规范中,一个中等复杂度的工具(如带 5-8 个参数、含嵌套对象)其 JSON Schema 通常消耗 150-400 个 Token。
应对LLM不确定性的工程实践包括使用结构化输出(如JSON Schema约束)、设置置信度阈值低于阈值转人工、构建独立验证层
当模型输出不符合预期 schema 时,工作流应将该条记录路由到人工复核队列,而不是用默认值静默兜底
Ollama在本地运行开源模型时支持结构化输出模式,底层通过语法约束解码强制token采样符合指定Schema
通过在系统提示词中定义JSON Schema,可要求Gemini将抽取结果严格按照预定字段格式返回,使下游节点直接读取字段值无需额外解析
还有 40 条时间轴事件
全部知识事实 (20)
MCP中每个工具都有严格的JSON Schema描述,包括名称、功能说明和参数规范
90%已验证Function Calling机制中,开发者将工具的名称、功能描述、参数Schema(通常为JSON Schema格式)注入到模型的请求中,模型输出结构化的JSON而非自然语言来调用工具
80%已验证JSON Schema是一种用于描述和验证JSON数据结构的规范,可定义字段必要性、数据类型和取值范围
80%已验证结构化输出通过JSON Schema或函数调用机制在解码阶段对token生成施加约束,与在提示词中要求输出JSON格式有本质区别
80%已验证为工具定义类型化JSON Schema能减少模型调用时的格式错误和幻觉式参数填充,提高调用成功率
75%已验证JSON Schema是一种基于JSON格式的声明式规范,起源于2009年的社区草案,由IETF在RFC 8927及后续草案中推进标准化工作
75%已验证在JSON Schema中设置additionalProperties: false可拒绝任何未在Schema中显式声明的额外字段,杜绝模型发明额外字段的可能性
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%已验证工具调用机制中,开发者在调用 LLM API 时附带一份 JSON Schema 格式的工具描述清单,模型以结构化 JSON 格式输出调用参数
65%已验证JSON Mode仅保证输出是合法JSON但不约束字段结构;Structured Outputs通过在解码阶段应用有限状态机(FSM)约束token采样路径,从语法层面强制输出符合预定义JSON Schema
65%已验证工具调用的 schema 本质上是一份 JSON Schema 规范,描述工具名称、参数名称、类型约束和必填字段
65%已验证MCP规定了工具描述的标准格式,包括工具名称、参数schema、返回值格式
65%已验证以GPT-4o为例,每个工具的JSON Schema描述平均占用200-500个Token,当系统集成50个工具时,仅工具描述部分就会消耗1万至2.5万Token
65%待验证Hermes模型从微调阶段就大量使用结构化输出训练数据,使模型天然倾向于生成格式正确的JSON
80%待验证当前版本的ChatGPT支持通过JSON Schema或函数调用(Function Calling)约束模型输出特定格式的数据结构
80%待验证Function Call通过JSON Schema定义工具,能让大模型以接近100%的准确率生成合法的工具调用请求
70%待验证Outlines 通过 Pydantic 模型到 JSON Schema 再到 FSM 的编译链路,实现开发者只需定义 Pydantic 类即可获得生成约束
60%待验证确定性检查(如正则匹配、JSON Schema校验、关键词黑名单)执行开销在微秒到毫秒级别,且对同一输入永远给出同一结果,应在每个请求上内联执行。
50%