Orux AI / モデルノート
Claude Sonnet 5.5でJSON抽出:博物館台帳の不明値をnullのまま残す
架空の貸出資料三件を一度の実応答で整理。欠損値、金額、日付と、指示とSchema制約の違いを確認します。

目次
未承認の保険評価額をゼロで埋めると、博物館の貸出台帳は誤解を招きます。この Claude Sonnet 5.5 の例では、三つの短いメモを整理し、不明な情報を不明のまま残せるかを調べました。実際に一回呼び出しましたが、資料は架空であり実在の所蔵品ではありません。
原文の依頼と実際の回答
公開済みの Orux フォームには 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.指示は、記載された事実だけを使い、五つの固定キー、数値の保険額、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。
取り込み前に欠損値を読む
次の表は元の回答の各項目と値を日本語で示しています。
| ID | 名称 | 展示室 | 保険額 USD | 到着日 |
|---|---|---|---|---|
| A1 | 真鍮の羅針盤 | 展示室A | 12000 | 2026-11-14 |
| B2 | シルクロード地図 | 展示室B | null・未承認 | 2026-11-16 |
| C3 | 陶片 | null・未確定 | 850 | null・未確定 |
横にスワイプすると表全体を確認できます。
B2の評価額とC3の展示室・日付は null のままです。ゼロは評価額を断定し、不明日付の推測は誤った搬入期限になり得ます。これは今回の回答の確認であり、一般的な誤り率ではありません。
この実行でのパラメータの役割
| 設定 | 役割 |
|---|---|
messages | 元のメモ、固定キー、型、欠損値を推測しない指示を渡す |
max_tokens=600 | 出力生成量を制限する。600文字制限でもJSON検証でもない |
横にスワイプすると表全体を確認できます。
応答の記録は入力278 tokens、出力161 tokens、終了理由 stop です。一回の使用量であり速度や品質のベンチマークではありません。JSON Schema は送っていません。JSONを求めるプロンプトと、APIのSchema制約は別です。
モデルの後に機械的な検証を置く
テキストを解析し、items が三つのオブジェクトの配列か、キーが五つだけか、IDが重複しないかを確認します。金額は数値かnull、日付は有効な日付かnullとし、非null値を元の行に照合します。JSONの構文が正しくても事実が正しいとは限りません。
実在資料の評価、移動日、展示室は承認対象の情報です。本例は抽出の実例であり、査定、輸送助言、資料情報を公開する許可ではありません。
Claude Sonnet 5.5 の「Museum loan inventory · text response」テンプレートに元の入力と回答を保存しました。読み込みだけではモデルを実行しません。取り込み処理につなぐ前に少量の匿名化データで例外を確認してください。


