Orux AI / 模型观察
Claude Sonnet 5.5 提取 JSON:博物馆清单的缺失信息为什么要留 null
用一次真实回答把三条虚构借展记录变成 JSON,核对缺失值、金额、日期,以及提示词约束与 Schema 校验的区别。

文章目录
博物馆借展表格里,一项尚未批准的保险估值如果被补成 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.原文要求只提取已给事实,固定五个字段,保险金额用 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 生成的是 JSON 文字,不是这张图。记录日期:2026-10-28。
导入之前,先读懂缺失值
下表完整翻译原回答中的条目和值;字段键与上方原始 JSON 保持对应。
| 编号 | 展品名称 | 展厅 | 保险金额,USD | 到达日期 |
|---|---|---|---|---|
| A1 | 黄铜罗盘 | A 展厅 | 12000 | 2026-11-14 |
| B2 | 丝路地图 | B 展厅 | null,尚未批准 | 2026-11-16 |
| C3 | 陶片 | null,尚未确认 | 850 | null,尚未确认 |
左右滑动查看完整表格。
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 加载“博物馆借展清单 · 文字回答”模板,可以查看本次输入与回答;加载模板不会自动调用模型。连接导入程序之前,先用小批脱敏记录检查异常。


