Get Started

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

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

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

Ability(アビリティ)ガイドのチュートリアルは、Agentria(エージェントリア)の初心者向けに、基本的かつ重要な手順を扱います。

このチュートリアルでは、Branch(ブランチ)ノードを有効化し、条件に応じて LLM でメール本文を生成するアビリティを実際に作成して実行します。


事前準備


開始にあたり、Agentria でプロジェクト(Project)を作成した後、アビリティキャンバス(Canvas)へ移動します。

キャンバスへの入り方は、🔗3ステップ コアガイド のステップ1(プロジェクト作成およびコンポーザー選択)を参照してください。


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

  1. ノード(Node)を追加する

  2. Start Node(スタートノード)で変数を宣言する

  3. ノードを接続する

  4. Branch ノードを使う

  5. LLM ノードを使う

  6. Python ノードを使う

  7. アビリティテストでワークフロー(Workflow)の実行結果を確認する


ステップ1:必要なノード



キャンバス下部の +ノード追加(Add Node) ボタンをクリックし、サイドバーのツール(Tools)カテゴリから必要なノードを選択して、ドラッグ&ドロップ(Drag and Drop)で配置します。

ノードにマウスを重ねて編集アイコンをクリックすると、オプション画面でノード名や説明を編集できます。

実運用では必要に応じてノードを追加しますが、このチュートリアルでは説明の都合上、最初にまとめて配置します。


  • Python ノード:3個

  • Branch ノード:1個

  • LLM ノード:3個

  • Gmail ノード:1個(任意)



ステップ2:入力変数の宣言



Agentria のキャンバスには、基本的に Start Node(スタートノード)End Node(エンドノード) がそれぞれ1つずつ配置されています。

  • スタートノードは全体の流れを開始します。

  • エンドノードは全体の流れを終了します。


スタートノードをダブルクリックするとノードエディタが開き、ここで型、名前、説明を設定できます。

このチュートリアルでは応募者情報に基づいて条件分岐するため、型は Object のまま、変数名は applicant に設定します。 その後キャンバスに戻ります。


入力データサンプル



応募者情報は Object 形式で、固有番号(id)、名前(name)、メール(email)、スコア(score)、部署(dept)、会社(company)、備考(note)の値を持ちます。

サンプルは以下のとおりです。


  • 合格


{

"id": 0,

"name": "A新入",

"email": "test1@genesislab.ai",

"score": 95,

"dept": "Web開発",

"company": "Genesis Lab",

"note": ""

}


  • 不合格


{

"id": 1,

"name": "B新入",

"email": "test2@genesislab.ai",

"score": 88,

"dept": "営業",

"company": "Genesis Lab",

"note": "予備"

}


  • 予備


{

"id": 2,

"name": "C新入",

"email": "test3@genesislab.ai",

"score": 76,

"dept": "事業企画",

"company": "Genesis Lab",

"note": ""

}


ステップ3:エッジでノードを接続



スタートノードで受け取った入力変数を他のノードで使うには、エッジで2つのノードを接続する必要があります。

スタートノード右側の Out-Pin を、Python ノード左側の In-Pin に接続します。

これにより、スタートノードの入力値が Python ノードへ渡されます。


次のノードを使用するには、必ずエッジを接続してデータの流れを作る必要があります。


ステップ4:Python ノード - 条件を作る



Python ノードをダブルクリックするとノードエディタが開きます。

まず、出力変数名を result に変更します。


Python ノードには、簡単なプロンプトからコードを作成できる Code Generator(コード生成器) が用意されています。

プロンプト例:

applicant 情報の score 値が 90 以上 100 以下なら「合格」、90 未満なら「不合格」を返すコードを生成してください。 ただし、note に「予備」がある場合は「予備」という結果を返す必要があります。


ステップ5:Branch ノード - 条件に応じて分岐する



Branch ノードは、条件に応じた分岐処理をサポートします。

Python ノードのコードや関数で条件分岐することもできますが、Branch ノードを使うとより直感的なワークフローを構成できます。

また、Run Test で動作ロジックを確認できるため、デバッグ(Debugging)が容易です。


Branch ノードは条件式(Condition)を作成して使用します。

必要に応じて Else 条件式も使用できます。


このチュートリアルでは、合格(pass)不合格(fail)予備(pre) の3つで条件式を設定します。

条件式のタイトルを変更して使うと便利です。

Else 条件は使用しません。


  • result == ‘合格’

  • result == ‘不合格’

  • result == ‘予備’




条件式を作成すると、条件数に応じて Branch-Pin が表示されます。

各ピンにマウスを重ねて条件式のタイトルを確認し、LLM ノードへ接続します。

分かりやすさのため、LLM ノードのタイトルと説明も修正します。


  • Pass:合格者向け

  • Fail:不合格者向け

  • Pre:予備合格者向け



ステップ6:LLM ノード - メール本文を生成する


6-1)合格者向けメール



合格者向けの LLM ノードのシステムプロンプト領域に、メール生成に関する指示事項を記載します。

出力は Object 形式の passMail として宣言します。


合格メール例:

あなたは採用担当者です。 合格者に送る合格メールを作成してください。


6-2)不合格者向けメール



不合格者向けの LLM ノードのシステムプロンプト領域に、メール生成に関する指示事項を記載します。

出力は Object 形式の failMail として宣言します。


不合格メール例:

あなたは採用担当者です。 不合格者に送る不合格メールを作成してください。


6-3)予備合格者向けメール



予備合格者向けの LLM ノードのシステムプロンプト領域に、メール生成に関する指示事項を記載します。

出力は Object 形式の preMail として宣言します。


予備合格メール例:

あなたは採用担当者です。 予備合格者(補欠)に送るメールを作成してください。


ステップ7:データのマージ



Branch ノードで分岐したデータは、1つにまとめる必要があります。



出力は Object 形式の mailContext として宣言し、コード生成器でコードを作成します。

プロンプト例:

passMail、failMail、preMail をマージするコードを書いてください。

変数内にデータがない場合は無視してください。

これらを 1 つの Object(emailContext)として出力してください。


ステップ8:メール形式へパース



ステップ7でまとめてパースまで行うこともできますが、より明確なワークフロー構成のため、新しい Python ノードでパース処理を行います。

出力変数として String 型の ToMessageSubject を追加します。

コード生成器にプロンプトを入力してコードを作成します。

例:

emailContext の値をパースして出力変数に割り当てます。

email の値を To へ、

message の値を Message へ、

subject の値を Subject へ割り当ててください。


ステップ9:Gmail ノードの追加(任意)



Gmail ノードを追加すると、実際にメールを送信できます。

🔗Gmail ノードチュートリアル を参照して、メール送信を自動化するワークフローを構成します。

このチュートリアルでは、値を出力する段階まで進めます。


ステップ10:アビリティテストでワークフロー全体を実行



キャンバス右下の テスト実行(RUN TEST) ボタンをクリックして、完成したワークフロー全体を実行できます。

入力欄でサンプルデータのいずれかを選択して入力します。

結果が正しく出れば、ワークフローは正しく構成されています。


次のステップ



🎉 おめでとうございます! Agentria を使って「条件に応じたメール生成」ワークフローを完成させました。

ここから、さまざまなメール形式を適用して結果を確認したり、ノードを追加してワークフローを拡張したりしてみてください。


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

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



  • 🔗アビリティガイド はアビリティチュートリアルで構成されています。Agentria および自動化の入門ユーザー向けのガイドです。

  • 🔗3ステップ・コアガイド は、複雑な設定や詳細な概念説明を省き、短く簡潔に学べるコアガイドです。