Skip to main content
Orux AIOruxAI
返回文章列表

Orux AI / 模型观察

Claude Sonnet 5.5 提取 JSON:博物馆清单的缺失信息为什么要留 null

用一次真实回答把三条虚构借展记录变成 JSON,核对缺失值、金额、日期,以及提示词约束与 Schema 校验的区别。

Orux AI更新于 ≈ 3 分钟阅读
Claude Sonnet 5.5 提取 JSON:博物馆清单的缺失信息为什么要留 null
文章目录

博物馆借展表格里,一项尚未批准的保险估值如果被补成 0,就会把“未知”变成错误事实。这个 Claude Sonnet 5.5 案例只解决一个具体问题:能否把三条简短记录整理成明确字段,同时保留缺失信息?我们实际运行了一次请求,使用的是虚构展品,不是真实馆藏。

原始请求与实际回答

本站已发布表单提供 messages 和 max_tokens。本次设置 max_tokens=600,发送以下英文指令:

You are preparing a museum loan inventory. Extract only facts explicitly stated below. Return one JSON object with an items array; each item must have exactly id, title, gallery, insurance_usd, and arrival_date. Use a JSON number for insurance_usd and YYYY-MM-DD for a stated date. Use null for every missing field. Do not invent a valuation, date, gallery, or item. Return JSON only, without Markdown.

A1: Brass compass. Display in Gallery A. Insured for USD 12000. Arrives on 2026-11-14.
B2: Silk route map. Display in Gallery B. Insurance valuation is still awaiting approval. Arrives on 2026-11-16.
C3: Ceramic sherd. Insured for USD 850. The arrival date and gallery have not been confirmed.
Swipe horizontally to view the full content

原文要求只提取已给事实,固定五个字段,保险金额用 JSON 数字,日期用 YYYY-MM-DD,缺失字段填 null,不补估值、日期、展厅或新展品。模型返回了可解析的 JSON:

{
  "items": [
    {
      "id": "A1",
      "title": "Brass compass",
      "gallery": "Gallery A",
      "insurance_usd": 12000,
      "arrival_date": "2026-11-14"
    },
    {
      "id": "B2",
      "title": "Silk route map",
      "gallery": "Gallery B",
      "insurance_usd": null,
      "arrival_date": "2026-11-16"
    },
    {
      "id": "C3",
      "title": "Ceramic sherd",
      "gallery": null,
      "insurance_usd": 850,
      "arrival_date": null
    }
  ]
}
Claude Sonnet 5.5 对三条虚构展品记录返回的原始 JSON
Claude Sonnet 5.5 对三条虚构展品记录返回的原始 JSON

对原始文字回答的编辑排版。Claude 生成的是 JSON 文字,不是这张图。记录日期:2026-10-28。

导入之前,先读懂缺失值

下表完整翻译原回答中的条目和值;字段键与上方原始 JSON 保持对应。

编号展品名称展厅保险金额,USD到达日期
A1黄铜罗盘A 展厅120002026-11-14
B2丝路地图B 展厅null,尚未批准2026-11-16
C3陶片null,尚未确认850null,尚未确认

左右滑动查看完整表格。

B2 的估值以及 C3 的展厅、日期都保留为 null。0 会成为一个确定的估值;未知日期也不能变成猜测的运输期限。这是对本次回答的核对,不是模型错误率结论。

这次哪些参数有实际作用

设置本次用途
messages放入原始记录、固定字段、数字与日期要求,以及不推断缺失事实的指令
max_tokens=600限制输出生成长度,不是限制 600 个字符,也不负责验证 JSON

左右滑动查看完整表格。

该响应记录了输入 278 tokens、输出 161 tokens,以 stop 结束。这只是一次调用的用量,不是延迟测试或质量基准。本次没有发送 JSON Schema 参数。要求输出 JSON 的提示词不等于受 Schema 约束的生成;原生 Schema 控制属于单独的 API 功能。

在模型之后加入确定性校验

导入前解析文字,要求 items 是三个对象的数组,检查每个对象恰好包含五个字段,拒绝重复编号,并验证金额是数字或 null、日期是有效日期或 null。随后逐项对照源记录。JSON 语法正确,也可能包含错误事实。

真实馆藏中的估值、流转日期和展厅分配仍应由相应人员批准。本例展示从给定文字提取信息,不提供估值、运输建议或公开馆藏数据的权限。

到 Claude Sonnet 5.5 加载“博物馆借展清单 · 文字回答”模板,可以查看本次输入与回答;加载模板不会自动调用模型。连接导入程序之前,先用小批脱敏记录检查异常。