Get Started

フロー制御ノードの使い方 (Merge)

フロー制御ノードの使い方 (Merge)

フロー制御ノードの使い方 (Merge)

ノードの使い方 — マージ(Merge)ノード

このチュートリアルでは、Agentriaのマージ(Merge)ノードの使い方を説明します。マージノードは、複数の経路で処理されたデータがすべて到着するまで待機してからワークフローを続行します。選択した変数は配列([])形式にまとめられ、次のノードへ渡されます。

このチュートリアルでは、2つの文字列abをそれぞれPythonノードで処理した後、マージノードで1つの配列にまとめる「データマージ」ワークフローを完成させます。Pythonノードの設定ステップでは、AIコード生成(Code Generator)を活用する方法も併せて説明します。

事前準備

Agentriaキャンバスへの進入方法については、🔗3ステップコアガイドをご参照ください。

このチュートリアルを完了すると、以下のことができるようになります。

  1. マージノードで複数の経路の変数を配列形式にまとめられます。

  2. AIコード生成を活用してPythonノードで目的のコードを生成できます。

  3. エンドノードでマージされた配列のインデックス別に個別の出力変数を宣言できます。

ワークフロー概要




このチュートリアルの中心はマージノードです。

スタートノードから2つの経路に分岐したフローが、PythonノードAとPythonノードBでそれぞれ処理されます。マージノードは両経路の処理がすべて完了するまで待機した後、結果を1つの配列にまとめてエンドノードへ渡します。

ステップ1:アビリティの作成

Agentriaキャンバスで新しいアビリティ(Ability)を作成します。

ステップ2:ワークフローの配置と接続

キャンバスに以下のノードを追加し、画像のように配置します。


  • Python(パイソン)ノード 2個:+ノード追加(Add Node)コードカテゴリから追加します。

  • マージ(Merge)ノード 1個:+ノード追加(Add Node)フロー制御カテゴリから追加します。


配置が完了したら、以下の順序でエッジ(Edge)を接続します。

  1. スタートノード(Start Node)のアウトピン(Out-Pin)→ PythonノードAのインピン(In-Pin)

  2. スタートノードのアウトピン → PythonノードBのインピン

  3. PythonノードAのアウトピン → マージノードのインピン

  4. PythonノードBのアウトピン → マージノードのインピン

  5. マージノードのアウトピン → エンドノード(End Node)のインピン

スタートノードのアウトピンは複数のノードに同時に接続できます。マージノードのインピンには、2つのPythonノードのアウトピンがそれぞれ接続されます。

ステップ3:スタートノードの設定

スタートノードをダブルクリック(Double Click)してノードエディター(Node Editor)を開きます。

インプット領域(Input Section)に以下の変数を追加します。

変数名

a

String(文字列)

b

String(文字列)

ステップ4:PythonノードA — AIコード生成への進入

PythonノードAをダブルクリックしてノードエディターを開きます。

インプット領域にa(String)変数を追加し、スタートノードのa変数をドラッグ&ドロップ(Drag and Drop)で接続します。

編集エリア(Edit Section)上部のアイコンをクリックすると、AIコード生成を使用できます。コードを直接入力するか、AIコード生成で自動生成することができます。

ステップ5:PythonノードA — コードの生成と適用

AIコード生成の入力欄に目的の動作をプロンプトとして入力し、生成(Generate)をクリックします。

このチュートリアルでは、小文字の文字列の先頭文字を大文字に変換するコードを生成します。

result = a.capitalize()
result = a.capitalize()
result = a.capitalize()

コードが生成されたら、適用ボタンをクリックしてノードに適用します。

アウトプット領域(Output Section)に出力変数が自動で追加されます。追加されていない場合は、result(String)変数を手動で追加します。

ステップ6:PythonノードB — コードの生成と適用

PythonノードBをダブルクリックしてノードエディターを開きます。

インプット領域にb(String)変数を追加し、スタートノードのb変数をドラッグ&ドロップで接続します。

ステップ4〜5と同じ方法でコードを作成します。今回はb変数を使用します。

result = b.capitalize()
result = b.capitalize()
result = b.capitalize()

適用ボタンをクリックしてノードに適用し、アウトプット領域にresult(String)変数があることを確認します。

ステップ7:マージノードの設定

マージノードをダブルクリックしてノードエディターを開きます。

項目追加ボタンをクリックして行を2つ追加します。各行に以下のようにドラッグ&ドロップで変数を接続します。

接続する変数

1行目

PythonノードAのアウトプットresult

2行目

PythonノードBのアウトプットresult

設定が完了すると、2つのresult値が配列([])形式にまとめられ、merged変数として出力されます。

ステップ8:エンドノードの設定

エンドノードをダブルクリックしてノードエディターを開きます。

アウトプット領域に以下の変数を追加します。

変数名

result

Array(配列)[]

マージノードのmerged変数をドラッグ&ドロップでresultにバインドします。

ステップ9:アビリティテストの実行

キャンバス右下のテスト実行ボタンをクリックします。テスト実行テスト実行の順に進めると、インプット入力画面が表示されます。

aの入力欄にhellobの入力欄にworldを入力し、実行をクリックします。

PythonノードAとBがそれぞれ処理を完了すると、マージノードが2つの結果をまとめます。

経路

入力値

処理

出力値

PythonノードA

hello

capitalize

Hello

PythonノードB

world

capitalize

World

マージノード

マージ

["Hello", "World"]

最終結果としてresult: ["Hello", "World"]が返されることを確認します。

ステップ10:実行結果の確認

テスト実行画面の実行モニターで、各ノードの実行結果をステップごとに確認できます。

ステップ11:配列インデックス別出力の宣言

ランテストを一度実行すると、エンドノードエディターでmerged変数の配列値が確認できるようになります。

配列の各インデックスを個別の出力変数として宣言し、インデックスごとに値を取り出せます。

変数名

result[0]

Hello

result[1]

World

ステップ12:最終結果の確認

最終結果では、マージされた配列とともに各経路の出力値をインデックスごとに確認できます。

次のステップ

🎉 おめでとうございます! Agentriaを使って「データマージ」ワークフローを完成させました。

Pythonノードをさらに追加して並列経路を増やしたり、マージされた配列をAIモデルノードや別のPythonノードに接続することで、より高度なバッチ処理ワークフローを構成できます。

Agentriaは、アイデアを現実に変える可能性の空間です。

あなたのアイデア次第で、ワークフローは無限に広がります。