概要
構造化出力により以下が可能になります:- 応答フォーマットの定義 - エージェント応答のためのカスタムJSONスキーマを作成
- 一貫性の確保 - エージェントが常に同じ構造でデータを返すことを保証
- 統合の有効化 - 応答を他のシステムが容易に消費できるようにする
- パースの改善 - 複雑なテキストパースの必要性を排除
仕組み
1. JSONスキーマの作成
エージェントに従わせたい構造を定義します:- フィールド - 必須およびオプションのフィールドを指定
- データ型 - 型を定義(string、number、boolean、array、object)
- ネストされた構造 - 複雑なネストされたJSONオブジェクトを作成
- 例 - 明確さのために例の値を提供
2. エージェントに割り当て
エージェントの構造化出力スキーマを選択します:- 一般タブ - 利用可能な構造化出力から選択
- エージェント固有 - 各エージェントが異なるスキーマを使用可能
- 動的選択 - 必要に応じてスキーマを変更
3. エージェントの応答
有効にすると、エージェントは以下を行います:- JSONとしてフォーマット - 指定されたJSON構造で応答を返す
- スキーマに準拠 - すべての必須フィールドを含む
- 構造を維持 - ネストされたオブジェクトと配列を保持
- フォーマットを検証 - 応答がスキーマと一致することを確認
構造化出力の作成
ステップ1:出力タブにアクセス
- サイドバーのエージェントに移動します
- エージェントを選択または新しいものを作成します
- 編集をクリックしてエージェントビルダーを開きます
- 出力タブに移動します
ステップ2:新しいスキーマを作成
- 新規作成ボタンをクリックします
- 構造化出力に説明的なタイトルを入力します
- JSONビルダーを使用してスキーマを定義します
ステップ3:スキーマ構造を定義
ビジュアルJSONビルダーを使用してスキーマを作成します:基本構造
配列付き
複雑なネスト構造
ステップ4:スキーマを保存
- 保存をクリックして構造化出力を保存します
- スキーマがエージェントで使用可能になりました
エージェントへの割り当て
方法1:一般タブから
- 設定するエージェントを開きます
- 一般タブに移動します
- 応答フォーマットセクションを見つけます
- ドロップダウンから構造化出力を選択します
- エージェントを保存します
方法2:出力タブから
- 設定するエージェントを開きます
- 出力タブに移動します
- リストから構造化出力を選択します
- エージェントはすべての応答にこのスキーマを使用します
ユースケース
API統合
シナリオ: エージェントの応答をAPIが消費できるフォーマットで必要とする場合。 スキーマ例:データ抽出
シナリオ: 非構造化テキストから構造化データを抽出する場合。 スキーマ例:フォーマット付きレポート
シナリオ: 一貫したレポート構造を生成する場合。 スキーマ例:ワークフロー自動化
シナリオ: 自動ワークフロー処理のために応答を構造化する場合。 スキーマ例:ベストプラクティス
スキーマ設計
- 具体的に - すべてのフィールドとその型を明確に定義
- 例を使用 - スキーマに例の値を含める
- シンプルに保つ - 可能な限り過度に複雑なネスト構造は避ける
- フィールドを文書化 - 説明的なフィールド名を使用
- オプションフィールドを考慮 - 適切な場合はフィールドをオプションとしてマーク
フィールド命名
- 明確な名前を使用 -
unの代わりにuser_name - 一貫性を保つ - 命名規則に従う(snake_case、camelCase)
- 略語を避ける - 可能な限り完全な単語を使用
- 関連フィールドをグループ化 - 関連データにネストされたオブジェクトを使用
スキーマ構造
- 可能な限りフラットに - シンプルなデータにはフラット構造を優先
- 整理のためにネスト - 複雑な関連データにはネストを使用
- リストには配列 - 類似アイテムのコレクションには配列を使用
- グループにはオブジェクト - 関連フィールドをグループ化するためにオブジェクトを使用
テスト
- 実際のクエリでテスト - スキーマが実際のユーザーケースで機能することを確認
- すべてのフィールドを確認 - すべての必須フィールドが入力されていることを確認
- 型を検証 - データ型がスキーマと一致することを確認
- エッジケースを処理 - 異常または欠落したデータでテスト
構造化出力の管理
すべてのスキーマの表示
出力タブで以下ができます:- 全スキーマを一覧 - プロジェクトのすべての構造化出力を表示
- 検索 - 名前でスキーマを検索
- ソート - 作成日またはタイトルでソート
- 詳細を表示 - スキーマ構造とメタデータを表示
スキーマの編集
- リストでスキーマをクリック
- ビジュアルビルダーを使用してJSON構造を変更
- 保存をクリックしてスキーマを更新
- 変更はこのスキーマを使用しているすべてのエージェントに適用
スキーマの削除
- リストでスキーマを見つける
- 削除アイコンをクリック
- 削除を確認
- このスキーマを使用していたエージェントは通常のテキスト応答に戻ります
応答フォーマット
通常の応答(デフォルト)
構造化出力が選択されていない場合、エージェントはフリーフォームテキストを返します:構造化応答
構造化出力が選択されている場合、エージェントはJSONを返します:システムプロンプトとの統合
構造化出力がエージェントに割り当てられると:- スキーマが含まれる - JSONスキーマがシステムプロンプトに追加
- フォーマット指示 - エージェントが明示的なフォーマット指示を受け取る
- 例が提供される - スキーマがフォーマットの例として機能
- 検証 - エージェントが正確な構造に一致しようとする
高度な機能
動的フィールド値
スキーマには応答に適応するフィールドを含めることができます:条件付き構造
異なる応答タイプに異なるスキーマを使用します:配列配列応答
応複数アイテムを処理します:トラブルシューティング
エージェントがスキーマに従わない
考えられる原因:- スキーマがエージェントに割り当てられていない
- スキーマ構造が複雑すぎる
- エージェントにより明確な指示が必要
- 一般タブで構造化出力が選択されていることを確認
- スキーマ構造を簡素化
- より明示的なフィールド説明を追加
- まずシンプルなクエリでテスト
無無効なJSON応答
考えられる原因:- スキーマに構文エラーがある
- エージェントが複雑な構造で苦戦している
- 必須フィールドが不足
- JSONビルダーでスキーマ構文を検証
- JSON検証エラーを確認
- 複雑すぎる場合はスキーマを簡素化
- エージェントの応答でパースエラーを確認
フィールドの不足
考えられる原因:- フィールドが明確に定義されていない
- エージェントがフィールド要件を理解していない
- スキーマが曖昧すぎる
- 明確なフィールド説明を追加
- スキーマに例の値を提供
- 常に利用可能でない場合はフィールドをオプションにする
- 特定のクエリでテスト
例
例1:カスタマーサポート応答
スキーマ:例2:データ分析応答
スキーマ:例3:タスク管理応答
スキーマ:権限
構造化出力の作成
- プロジェクト管理者 - 構造化出力の作成、編集、削除が可能
- プロジェクトメンバー - プロジェクト権限に依存(flows.edit)
- 閲覧者 - 構造化出力の表示のみ可能(変更不可)
エージェントでの使用
- エージェントオーナー - 自分のエージェントに構造化出力を割り当て可能
- プロジェクト管理者 - プロジェクト内の任意のエージェントに割り当て可能
- プロジェクトメンバー - アクセスできるエージェントに割り当て可能
関連機能
- エージェント設定 - エージェントのパーソナリティと行動を設定
- ツール - 構造化データを返すツールを使用
- API統合 - 構造化応答を外部APIと統合
- ワークフロー - 自動ワークフローで構造化出力を使用
エージェント設定
エージェントの設定方法を学ぶ