メインコンテンツへスキップ
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
変数アグリゲーターノードは、異なる実行パスからの変数を単一の統一された出力に結合します。複数のブランチが類似の出力を生成する場合、このノードは一つの一貫した変数参照を作成することで、下流での重複処理の必要性を排除します。

分岐の問題

条件付きワークフローでは、並列実行パスが作成され、一度に一つのブランチのみが実行されます。集約なしでは、各可能なブランチ結果に対して重複した下流ノードが必要となり、複雑でメンテナンスが困難なワークフローが生成されます。 変数アグリゲーターはマージポイントとして機能し、ブランチ出力を単一の変数に収集することで、実際にどのブランチが実行されたかに関係なく、下流ノードが一貫して参照できるようにします。

分類ワークフローの例

ユーザー入力が分類され、各カテゴリが異なる知識検索を必要とする場合、変数アグリゲーターが結果を結合します: 集約なし - 重複したLLMノードを必要とする複雑なワークフロー:
変数集約なしの問題分類

変数集約なしの複雑なワークフロー

集約あり - 単一の下流処理による簡素化されたワークフロー:
問題分類後のマルチブランチ集約

変数集約を使用した簡素化されたワークフロー

集約されたワークフローでは、各分類ブランチに対してLLMノードを複製する代わりに一つのLLMノードを使用し、同じ機能を維持しながら複雑さを大幅に削減します。

条件処理の例

同様の利点は、類似の出力を生成するIf-Elseブランチにも適用されます:
条件分岐後のマルチブランチ集約

条件分岐後の変数集約

設定

変数選択

結合したい異なるワークフローブランチからの変数を接続します。接続された各変数は、集約された出力への潜在的な入力となります。

型制約

同一型ルール - すべての集約された変数は同じデータ型である必要があります。最初の変数(例:文字列)を接続すると、ノードは他のブランチから同じ型の変数のみを受け入れます。 サポートされる型:
  • 文字列 - 異なる処理力
  • 数値 - 数値計算、スコア、または測定値
  • オブジェクト - 類似のスキーマを持つ構造化データオブジェクト
  • 配列 - リスト、コレクション、または複数の結果

出力動作

変数アグリゲーターは、実際に実行されたブランチからの値を出力します。条件付きワークフローでは一つのブランチのみが実行されるため、実行中は一つの入力変数のみが値を持ちます。

高度な機能

複数集約グループ

高度なワークフロー(v0.6.10+)では、複数の変数グループを同時に集約できます。各グループは独自の型制約を維持し、同一ノード内で異なるデータ型を並行して集約することができます。 これは、ブランチが複数の関連する出力を生成し、それらを個別に結合する必要がある場合に便利です - たとえば、異なる処理パスからのテキスト要約と数値スコアの両方を集約する場合です。

一般的な使用例

マルチカテゴリ処理 - 異なるコンテンツタイプには専用の処理が必要ですが、共通の下流ロジックに供給される類似の出力を生成します。 条件付きデータソース - 異なる条件が異なる知識検索やAPI呼び出しをトリガーしますが、すべての結果には同じ最終処理が必要です。 ブランチ結果の統合 - 複雑な分岐ロジックがさまざまな出力を生成しますが、最終的には統一された処理が必要です。 エラー処理 - メイン処理とフォールバックブランチが異なるが互換性のある結果を生成し、下流ノードが一貫して処理できます。

ベストプラクティス

データ型の計画 - 変数アグリゲーターに接続する前に、すべてのブランチが互換性のあるデータ型を生成することを確認します。 一貫した出力構造 - オブジェクトや配列を集約する際は、予測可能な下流処理のためにすべてのブランチで一貫した構造を維持します。 説明的な名前を使用 - 集約された変数には、複数の可能なソースからの結果を含むことを明確に示す名前を付けます。 すべてのブランチをテスト - 各可能な実行パスが、集約時に正しく動作する有効な出力を生成することを確認します。