Structured Output(構造化出力)
Structured Output(構造化出力)を初心者向けに超訳。LLMの「自由な文章」を JSON などの決まったフォーマットにそろえる仕組みを、OpenAI・Anthropic・Google の公式ドキュメントに沿ってやさしく解説します。
ざっくり言うと
プログラムから AI を呼び出すときに欠かせない機能で、OpenAI・Anthropic・Google の各社 API でそれぞれ用意されています。
イメージ
正確には
Structured Output は、API 利用時に 「答えはこの形(スキーマ)に従ってください」と LLM に指示できる機能 のことです。各社で名前や仕様が少しずつ違いますが、「JSON Schema などの形式定義を渡して、その通りの構造にそろえる」 という基本コンセプトは共通しています。
| 提供元 | 機能名 | 概要 |
|---|---|---|
| OpenAI | Structured Outputs | API に JSON Schema を渡すと、対応モデル・対応条件の範囲で、モデルの応答を指定したスキーマに厳密に従わせる機能。2024年8月に公式ブログ「Introducing Structured Outputs in the API」で発表されました |
| Anthropic(Claude) | JSON mode 相当 / Tool use 経由 | 公式ドキュメント「Increase output consistency」で、JSON 形式の出力を安定して得るための方法(プロンプト指示・Tool use の活用など)が案内されています |
| Google(Gemini) | Structured output / responseSchema | Gemini API に responseSchema(JSON Schema のサブセット)を指定すると、構造化された JSON を返してくれます。公式ドキュメント「Generate structured output with the Gemini API」で仕様が公開されています |
なぜ Structured Output が必要なのか
LLM の答えをそのままプログラムに流し込もうとすると、地味につらい問題が起きます。
- 書式がブレる: 同じ質問でも、回答の書き方が毎回少しずつ違う(JSON のつもりが文章だったり、余計な説明が付いたり)
- キーの名前が揺れる: 「assignee」だったり「担当者」だったり「person」だったり、呼び方が不安定
- 必須項目が抜ける: 「期限」を出してほしいのに、たまに省略される
Structured Output を使うと、スキーマで決めた形に返答をそろえやすくなり、対応条件では厳密な制約もかけられるため、後段のプログラムが読み取りやすくなります。OpenAI の公式発表では、Structured Outputs を使うと スキーマへの一致率が(従来の単なる JSON モードと比べて)大幅に向上する と報告されています。
Function Calling との関係
ほぼ同じ場面で使われる仲間として Function Calling(Tool Use) があります。違いをざっくり整理すると:
- Function Calling: 「AIに外部の道具(関数・API)を呼ばせる」ための仕組み。引数を構造化して渡す
- Structured Output: 「AIの返事そのものを構造化する」ための仕組み。出力フォーマットを縛る
実際には 「Function Calling の引数」も内部的に構造化出力で表現される ことが多く、両者は地続きの機能です。OpenAI のドキュメントでも、Function Calling と Structured Outputs は同じ「決まった形に従わせる」グループとして扱われています。
身近な使われ方
使う前に決めること
Structured Output は便利ですが、先に「どんな箱を用意するか」を決めておかないと力を発揮しません。
たとえば問い合わせメールを分類するなら、少なくとも次のような項目を決めます。
category: 返品、予約、質問、苦情などpriority: 高、中、低などsummary: 人間が読む短い要約needs_reply: 返信が必要かどうか
確認のコツは、AI の返答そのものより「後続のプログラムが迷わず読めるか」を見ることです。
- 必要なキーが毎回入っているか
- 値の種類が決めた型に合っているか
- 空欄にしてよい項目と、必ず埋める項目が分かれているか
- 想定外の文章が混ざっても処理が止まらないか
この確認をしておくと、AI の出力を表計算、CRM、予約管理、社内ツールなどに渡すときの事故を減らせます。
注意点
やってみよう
Structured Output は派手な機能ではありませんが、「AIを業務システムに組み込むときの接着剤」 として、多くの本格的な AI 活用の裏側で動いている重要なピースです。「AIの答えを、機械が読みやすい形に揃える仕組み」と押さえておけば大丈夫です。
参考ソース
UPDATES
新着用語をLINEでお届け
新しい用語記事やAIの最新ニュース、仕事に役立つヒントをお届けします!
リンク先は、運営元の Nanoha AI Labo 公式LINEです。
