接続データ構造
ブロックを接続する際、異なるブロック出力のデータ構造を理解することが重要です。なぜなら、ソースブロックからの出力データ構造によって、宛先ブロックで利用可能な値が決まるからです。各ブロックタイプは、下流のブロックで参照できる特定の出力構造を生成します。
これらのデータ構造を理解することは、接続タグを効果的に使用し、ワークフローで正しいデータにアクセスするために不可欠です。
ブロック出力構造
ブロックタイプによって、異なる出力構造が生成されます。各ブロックタイプから期待できる出力は次のとおりです:
{
"content": "The generated text response",
"model": "gpt-4o",
"tokens": {
"prompt": 120,
"completion": 85,
"total": 205
},
"toolCalls": [...],
"cost": [...],
"usage": [...]
}
エージェントブロックの出力フィールド
- content: エージェントによって生成されたメインテキスト応答
- model: 使用されたAIモデル(例:「gpt-4o」、「claude-3-opus」)
- tokens: トークン使用統計
- prompt: プロンプトのトークン数
- completion: 完了のトークン数
- total: 使用された合計トークン数
- toolCalls: エージェントによって行われたツールコールの配列(存在する場合)
- cost: 各ツールコールのコストオブジェクトの配列(存在する場合)
- usage: 応答全体のトークン使用統計
{
"data": "Response data",
"status": 200,
"headers": {
"content-type": "application/json",
"cache-control": "no-cache"
}
}
APIブロックの出力フィールド
- data: APIからのレスポンスデータ(任意の型)
- status: レスポンスのHTTPステータスコード
- headers: APIから返されたHTTPヘッダー
{
"result": "Function return value",
"stdout": "Console output",
}
関数ブロックの出力フィールド
- result: 関数の戻り値(任意の型)
- stdout: 関数実行中にキャプチャされたコンソール出力
{
"content": "Evaluation summary",
"model": "gpt-5",
"tokens": {
"prompt": 120,
"completion": 85,
"total": 205
},
"metric1": 8.5,
"metric2": 7.2,
"metric3": 9.0
}
評価ブロックの出力フィールド
- content: 評価の要約
- model: 評価に使用されたAIモデル
- tokens: トークン使用統計
- [metricName]: 評価者で定義された各メトリックのスコア(動的フィールド)
{
"content": "Original content passed through",
"conditionResult": true,
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Follow-up Agent"
},
"selectedConditionId": "condition-1"
}
条件ブロックの出力フィールド
- content: そのまま渡される元のコンテンツ
- conditionResult: 条件評価の真偽値結果
- selectedPath: 選択されたパスに関する情報
- blockId: 選択されたパスの次のブロックのID
- blockType: 次のブロックのタイプ
- blockTitle: 次のブロックのタイトル
- selectedConditionId: 選択された条件のID
{
"content": "Routing decision",
"model": "gpt-4o",
"tokens": {
"prompt": 120,
"completion": 85,
"total": 205
},
"selectedPath": {
"blockId": "2acd9007-27e8-4510-a487-73d3b825e7c1",
"blockType": "agent",
"blockTitle": "Customer Service Agent"
}
}
ルーターブロックの出力フィールド
- content: ルーティング決定テキスト
- model: ルーティングに使用されたAIモデル
- tokens: トークン使用統計
- selectedPath: 選択されたパスに関する情報
- blockId: 選択された宛先ブロックのID
- blockType: 選択されたブロックのタイプ
- blockTitle: 選択されたブロックのタイトル
カスタム出力構造
一部のブロックでは、その設定に基づいてカスタム出力構造を生成することがあります:
-
レスポンスフォーマットを持つエージェントブロック: エージェントブロックでレスポンスフォーマットを使用する場合、出力構造は標準構造ではなく、定義されたスキーマに一致します。
-
関数ブロック:
result
フィールドには、関数コードから返される任意のデータ構造が含まれます。 -
APIブロック:
data
フィールドには、APIが返す任意の有効なJSON構造が含まれます。
開発中は常にブロックの実際の出力構造を確認し、接続で正しいフィールドを参照していることを確認してください。
ネストされたデータ構造
多くのブロック出力にはネストされたデータ構造が含まれています。これらにはドット表記を使用して接続タグでアクセスできます:
<blockName.path.to.nested.data>
例えば:
<agent1.tokens.total>
- エージェントブロックから合計トークン数にアクセス<api1.data.results[0].id>
- APIレスポンスの最初の結果のIDにアクセス<function1.result.calculations.total>
- 関数ブロックの結果内のネストされたフィールドにアクセス