「说实话,这玩意儿挺乱的。」一位在API领域摸爬滚打十几年的老兵这么评价JSON Schema。但就是这个被吐槽了十几年的标准,现在正被Anthropic、OpenAI们悄悄捧上C位。

你可能天天在用,却从没正眼看过

打开网易新闻 查看精彩图片

JSON Schema最诡异的地方在于它的隐身能力。

你的API网关靠它做校验,微服务发布管道里有它,开发者IDE插件里藏着它。大部分人把它当成基础设施 plumbing——搞定就能去干"正经事"了。

但它的核心功能其实很纯粹:验证结构化数据。

Chris Zyp在2007年提出这个标准时,目标是给JSON文档做声明式注解——定义结构、约束条件、数据类型。十几年过去,它换过好几任维护方,攒了一堆意见和变通方案,也攒了一身复杂度。

oneOf、anyOf、allOf这些组合器,不知让多少工程师在错误的时间掉进了兔子洞。

Kin Lane是开源API基金会Naftiko的联合创始人兼首席社区官,他毫不客气:「它是最重要的规范,但也是最让人抓狂的。」

为什么"乱"还能成为基础设施

尽管被吐槽,JSON Schema已经悄然成为API生态的底座。

OpenAPI、AsyncAPI这些主流规范靠它定义和验证自身结构。新冒头的Anthropic Model Context Protocol(模型上下文协议)也在用。Google新推的A2A规范倒是选了Protobuf,算是少数派。

采用率持续增长,因为它解决的问题永远不会消失:在结构化数据上建立共享语义。

当你为一个邮政地址定义JSON Schema时,你在做一件机器和人类都能读懂的声明——当我们说"地址"时,我们到底指什么?美国的还是其他国家的?要不要特定格式的邮编?能不能有第二行?

一份设计良好的Schema能回答这些问题,把团队甚至整个组织的集体理解,编码成网关、管道、IDE可以自动执行的规则。

Lane说:「它不只是给系统用的。」

生成式AI把"验证"变成了生死问题

大语言模型的输出天生是概率性的。同一个提示词,每次返回的结构可能微妙地不同——字段顺序变了,某个值偶尔缺失,格式从驼峰命名滑到了下划线。

这对人类阅读没影响,对机器调用是灾难。

企业级应用需要把LLM输出可靠地喂给下游系统。JSON Schema在这里扮演的角色,是把飘忽不定的自然语言转化为契约绑定的结构化数据。

这不是简单的格式转换。Schema强制执行的不仅是语法正确,更是语义一致——确保"地址"在所有调用场景下都指同一个东西。

当团队规模扩大、系统复杂度上升,这种共享语义的价值会指数级放大。一个字段的歧义,可能在三个微服务交接处变成调试噩梦。

从"能用就行"到"必须管好"

生成式AI的爆发正在改变企业对JSON Schema的态度。

以前它是后台配置,现在它是产品边界。LLM应用的质量,很大程度上取决于输出结构的可靠性。而可靠性不是 prompt engineering 能单独解决的——你需要在系统层面强制约束。

JSON Schema提供了这种约束机制。它不完美,有历史包袱,学习曲线陡峭,但它是现成的、经过验证的、生态广泛支持的标准。

在快速迭代的AI产品周期里,"足够好且立即可用"往往胜过"理想但遥不可及"。

这也解释了为什么Anthropic这样的前沿实验室会选择它作为Model Context Protocol的基础——不是因为它优雅,而是因为它能解决问题,而且很多人已经会用了。

数据收束

JSON Schema的采用曲线正在陡峭化。OpenAPI 3.1版本彻底与它对齐,AsyncAPI持续扩展其覆盖场景,新兴的AI协议栈开始把它作为默认选项。

这个2007年诞生的"烂摊子",在2024-2025年的生成式AI浪潮中找到了第二增长曲线。它的故事说明了一个常被忽略的产品真理:基础设施的价值不在于设计优美,而在于解决问题的确定性和生态网络的锁定效应。

当LLM输出的不确定性成为企业级应用的最大障碍,一个能强制结构、对齐团队、把概率转化为契约的工具——哪怕它有点乱——也会成为关键基础设施。