実装

JSONモード

ジェイソンモード

一文定義

LLMが必ずJSON形式で出力することを保証するAPI機能。OpenAI・Anthropic・Gemini等が提供し、パース失敗を防ぎシステム連携を安定させる。

詳細解説

JSONモード(JSON Mode)とは、LLM APIがレスポンスを必ず有効なJSON形式で返すことを保証する機能です。OpenAIは2023年11月にJSON Modeを、2024年8月にはより厳密な「Structured Outputs」機能(JSON Schemaに完全準拠)をGPT-4oに追加し、信頼性の高いJSON生成をAPI機能として提供しています。

JSONモードとStructured Outputsの違いとして、(1)JSON Mode:有効なJSONであることは保証するが、スキーマの構造(フィールド名・型)は保証しない、(2)Structured Outputs:事前に定義したJSON Schemaに完全準拠した出力を数学的に保証する(制約付きデコーディングを使用)。より厳密だがサポートされるスキーマに制約あり。

使用上の注意として、JSON Modeを有効にするだけでは適切なJSON出力は得られません。プロンプトに「JSON形式で回答し、以下のスキーマに従ってください:{...}」と明示的に指示する必要があります。また、JSON Modeはストリーミングと組み合わせる場合、完全なJSONが得られるまで途中の文字列はパース不可能な点に注意が必要です。

AnthropicのClaudeでは専用のJSON Modeが独立した機能ではなく、Tool Useを通じた構造化出力が推奨されています。GeminiはresponseSchema設定でJSON Schemaに準拠した出力を強制できます。

実装パターンとして、instructor・Outlines等のライブラリを使うとOpenAI/Anthropic/Gemini等の複数APIをラップして一貫したインターフェースで構造化出力を得られ、バリデーション失敗時の自動リトライも実装できます。

参考情報・出典

最終更新: 2026-02-26← 用語集一覧へ

AIスキルだけでなく、自分と未来を再設計する

生成AI活用力を体系的に習得し、自己理解・キャリアデザインを深め、志を同じくする仲間と共に学ぶ場がここにあります。

AIリブートアカデミーを見る