Structured Outputs
構造化出力が機械可読なAIデータを提供する仕組みを解説します。Ultralytics Platform上のUltralytics YOLO26を使用したスキーマ適用とビジョンタスクについて紹介します。
構造化出力とは、人工知能において、モデルの応答が通常はJSON Schemaなどの事前定義されたデータ形式に厳密に従うよう強制する方法論です。従来の大規模言語モデル(LLMs)では、テキスト生成は確率的なトークン予測に依存しているため、構造化されていない自由形式のテキストになることがよくあります。構造化出力を利用することで、開発者はAIシステムが機械可読で予測可能なデータを返すことを保証でき、脆弱なパーススクリプトや複雑なエラー処理が不要になります。
構造化出力とJSONモードの比較#
初期の生成AIでは基本的な「JSONモード」が提供されていましたが、これは出力が有効なJSONであることを保証するだけで、要求された特定のキーやデータ型が含まれていることまでは保証しませんでした。構造化出力は、制約付きデコーディングと呼ばれる手法によってこの問題を解決します。生成中、推論エンジンは各ステップでモデルの語彙をフィルタリングし、開発者が指定したスキーマに違反するトークンをマスクします。これにより、スキーマへの準拠率を100%にできます。
関数呼び出し(ツール使用)の概念は、この方法論と密接に関連しています。関数呼び出しによってモデルは外部ツールを実行するタイミングを判断できますが、幻覚を起こさずにツールの必須パラメーターを正確に設定するには、全面的に構造化出力に依存します。
業界での採用とフレームワーク#
2024年から2025年にかけて、主要なAIプロバイダーはエンタープライズシステムの信頼性を高めるため、構造化出力をネイティブ機能として提供しました。たとえば、OpenAI Structured Outputs APIでは、PythonのPydanticやJavaScriptのZodを使用して、厳密なスキーマを定義できます。同様に、AnthropicのClaude構造化出力とGoogle Geminiの構造化出力ツールでは、複雑なプロンプトに対する厳格なスキーマ適用がサポートされるようになりました。
オープンソースのエコシステムでも、PyTorchで構築されたカスタムモデル向けに、vLLMやOutlinesなどのフレームワークを活用して制約付きデコーディング手法を提供しています。
実世界での利用例#
構造化出力を実装すると、曖昧なAI応答が実用的な予測モデリングデータに変わります。主なユースケースは次のとおりです。
- データ抽出パイプライン:企業は構造化出力を使用して、生の非構造化ドキュメントから特定のエンティティ(候補者名、請求書の合計金額、日付など)を抽出し、手動でデータを入力することなくSQLデータベースに直接取り込みます。
- 自律型AIエージェント:エージェント型ワークフローは、複雑なソフトウェアを操作するために構造化データを利用します。エージェントはユーザークエリを分析し、外部APIをトリガーする厳密なJSONペイロードを出力して、Databricks Model Servingなどのシステムを通じて安全に処理を拡張できます。
コンピュータビジョンにおける構造化出力#
自然言語処理で盛んに議論されている一方、構造化出力はコンピュータビジョンの基盤となる動作原理です。ビジョンモデルは自由形式のテキストを出力せず、座標、クラス、信頼度スコアを表す高度に整理されたテンソルをネイティブに生成します。たとえば、Ultralytics YOLO26などの最先端モデルは画像を評価し、厳密にフォーマットされた空間データを返すため、低レイテンシのエッジ環境でのシームレスなモデルデプロイに適しています。
次のスニペットは、ultralyticsパッケージを使用して、構造化された物体検出結果を簡単に抽出する方法を示しています。
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference to generate structured visual data
results = model("image.jpg")
# The model strictly outputs structured bounding box objects
for box in results[0].boxes:
print(f"Class ID: {box.cls}, Confidence: {box.conf}, Coordinates: {box.xyxy}")確率的なAIロジックと決定論的なソフトウェア要件の間のギャップを埋めることで、構造化出力は、Ultralytics Platformをはじめとする環境で、スケーラブルかつ本番環境に対応したシステムを構築するための重要なコンポーネントとなります。









