データ構造

ブロックを接続する際、異なるブロック出力のデータ構造を理解することが重要です。なぜなら、ソースブロックからの出力データ構造によって、宛先ブロックで利用可能な値が決まるからです。各ブロックタイプは、下流のブロックで参照できる特定の出力構造を生成します。

これらのデータ構造を理解することは、接続タグを効果的に使用し、ワークフローで正しいデータにアクセスするために不可欠です。

ブロック出力構造

ブロックタイプによって、異なる出力構造が生成されます。各ブロックタイプから期待できる出力は次のとおりです:

{
  "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: 応答全体のトークン使用統計

カスタム出力構造

一部のブロックでは、その設定に基づいてカスタム出力構造を生成することがあります:

  1. レスポンスフォーマットを持つエージェントブロック: エージェントブロックでレスポンスフォーマットを使用する場合、出力構造は標準構造ではなく、定義されたスキーマに一致します。

  2. 関数ブロック: result フィールドには、関数コードから返される任意のデータ構造が含まれます。

  3. APIブロック: data フィールドには、APIが返す任意の有効なJSON構造が含まれます。

開発中は常にブロックの実際の出力構造を確認し、接続で正しいフィールドを参照していることを確認してください。

ネストされたデータ構造

多くのブロック出力にはネストされたデータ構造が含まれています。これらにはドット表記を使用して接続タグでアクセスできます:

<blockName.path.to.nested.data>

例えば:

  • <agent1.tokens.total> - エージェントブロックから合計トークン数にアクセス
  • <api1.data.results[0].id> - APIレスポンスの最初の結果のIDにアクセス
  • <function1.result.calculations.total> - 関数ブロックの結果内のネストされたフィールドにアクセス

On this page