JSON Schema
JSON Schema是一种用于描述和验证JSON数据结构的声明式规范语言,基于JSON格式本身编写。它通过定义数据类型、属性约束、必填字段、枚举值等规则,对JSON数据进行结构校验与文档化,广泛应用于API设计、配置文件验证、表单校验及自动化代码生成等场景,是互操作性与数据一致性保障的重要工具。
核心事实
时间轴 (近 90 天)
在 A2UI 中,Agent 发来的每条组件消息在到达 UI 前都会对照 Catalog schema 校验;不符合契约的内容(如未知组件名、类型不匹配的属性)会在进入 UI 树之前被拦截,并向 Agent 发送错误信息以触发自纠正循环。
AI SDK 的结构化输出需要把 schema 转换成模型可理解的 JSON Schema 描述,再对模型返回值做运行时校验,适配器承担这层翻译与校验的桥梁作用。
相比 JSON Schema 或 YAML 配置,Markdown 允许在描述中嵌入自然语言解释、反例和示例代码,更适合表达“何时触发、如何执行、避免什么”这类模糊规则。
对于高频工具,建议预编译Schema校验器以减少运行时开销。
在vLLM的解析层增加对JSON Schema的严格校验,可以捕获工具调用参数的格式错误。
Tool Calling机制中,AI模型生成JSON Schema来描述需要调用的函数名与参数,从而避免幻觉执行。
工具接口应使用JSON schema并设置 additionalProperties: false,同时登记风险、超时、重试、幂等性和审批要求。
Agent Card的skills字段多为自然语言描述加少量示例,缺少类似JSON Schema对参数类型、必填项、取值范围的形式化约束,这是把A2A智能体包装成MCP工具时的主要障碍。
项目通过JSON Schema强制大模型输出结构化数据,包含script、image_prompt和video_prompt三个字段,并设置additionalProperties: false。
Bedrock 的结构化输出通过 JSON Schema 输出格式与严格工具使用(strict tool use)两条路径实现。
还有 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 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%已验证JSON schema 在 MCP 中用于描述工具输入参数,宿主可以据此自动生成调用表单、校验参数或提前拒绝不合法参数,但不约束工具是否该被调用或调用是否被授权。
65%已验证约束解码只能保证输出的语法结构合法(形状),无法保证输出内容的语义正确性。
65%已验证工具对 AI 而言本质上是一份用 JSON Schema 描述的菜单,描述越清晰模型选择工具的准确率越高
65%已验证模式强制校验通常通过JSON Schema验证、类型系统或专用工具调用拦截层实现,在函数调用参数执行前插入与模型推理解耦的确定性验证步骤
65%已验证description 的质量直接影响工具调用的准确率,描述模糊或有歧义可能导致模型错误触发工具或在该调用时放弃调用
65%