AI 学习笔记

JSON、Schema 与工具参数

可复习 · 待写自己的解释

本章材料

原提问中的课程截图尚未导入。本页用可核对的文档和独立教学例子解释同一组概念。

重点

  1. JSON 是表示数据的文本格式。 它不是一段会自己运行的指令。
  2. Schema 规定数据结构。 字段类型、必填项和允许值都可以作为检查规则。
  3. 解析、校验和执行是不同步骤。 读得懂数据,不代表字段符合要求,更不代表内容真实或操作已完成。
  4. 工具调用把请求连接到程序。 模型生成结构化调用;运行环境执行工具,再返回结果。客户端工具由应用执行,服务端工具由服务提供方执行。
Codex 根据本页文档核实并编写,2026-10-30;没有直接发布原回答。

难点

“只输出 JSON”是一条提示,不等于已经做了校验。 Structured Outputs 是按规定结构生成数据的能力;支持的规则、严格模式和失败处理取决于所用服务。不要把“结构合规”理解成“事实正确”。

Pydantic 是 Python 的数据建模与校验工具,可以检查类型和约束;默认情况下某些类型可以转换,严格配置则更少接受隐式转换。它不会替你证明项目真的存在。

parser 把文本解析成程序中的数据;repair 尝试修复格式;retry 重新尝试。修复之后仍需检查字段和业务含义,不能靠补上一个逗号就确认信息正确。

动手看

下面是虚构的学习项目记录,不会创建真实项目:

{
  "name": "学习笔记",
  "year": 2026,
  "published": false,
  "tags": ["AI", "复习"]
}

花括号表示对象,方括号表示数组;name 是字段名,"学习笔记" 是字符串,2026 是数字,false 是布尔值。JSON 的字段名和字符串使用双引号,最后一个字段后面不加逗号。null 表示空值。

假设这里只接收两个必填字段:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "year": { "type": "integer" }
  },
  "required": ["name", "year"],
  "additionalProperties": false
}

这份规则不接受额外字段;上面含 published 和 tags 的记录需要先调整,或修改规则。只写 properties 不会自动把字段变成必填项。

从一句请求到程序结果 示意流程 · 非真实运行
  1. 用户

    记录一个名叫“学习笔记”、年份为 2026 的项目。

示意流程不会访问 API,也不会创建文件。它区分格式、规则和真实执行,不是通用 JSON 校验器。

容易混淆的几个概念

概念回答的问题
JSON数据用什么格式表达?
Schema / JSON Schema结构必须满足哪些规则?
API程序通过哪个约定的接口交互?
Tool Calling模型请求调用什么工具、传哪些参数?
PydanticPython 程序如何按模型定义检查数据?
Structured Outputs如何约束生成结果的结构?

数据写好了,不等于操作完成了。 继续看 Week 1 · Agent 与 Tool Calling,把这套术语放回完整执行流程。

去 复习 对照原问题,或 做测验。

来源

  • 原问题来自 ChatGPT「AI知识问答」(2026-10-29 归档,第 1 条消息);ChatGPT 当时的回答在「原始对话」标签,未经核校。
  • 解释、例子、流程和测验由 Codex 根据本页材料编写;文档链接于 2026-10-30 核对。教学记录为虚构数据。

On this page