Get Started

フロー制御ノードの使い方(ブランチ)

フロー制御ノードの使い方(ブランチ)

フロー制御ノードの使い方(ブランチ)

Abilityガイドのチュートリアルでは、Agentriaを始めたばかりの方に向けて、最も基本でありながら重要なステップを扱います。

本チュートリアルでは、Branchノードを有効化し、条件に応じてLLMでメール本文を生成するAbilityを実際に作成して実行します。


前提条件


開始するには、Agentriaでプロジェクトを作成し、Ability Canvasへ移動します。

キャンバスへのアクセス方法は、🔗3-Step Core Guide のStep 1(Project Creation and Composer Selection)をご参照ください。


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

  1. ノードを追加する

  2. Start Nodeで変数を宣言する

  3. ノードを接続する

  4. Branchノードを使用する

  5. LLMノードを使用する

  6. Pythonノードを使用する

  7. Abilityテストでワークフローの実行結果を確認する


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



キャンバス下部の +Add Node ボタンをクリックし、サイドバーの Tools カテゴリから必要なノードを選んで、ドラッグ&ドロップでキャンバス上に配置します。

ノードにカーソルを合わせて編集アイコンをクリックすると、オプションパネルでノード名と説明を編集できます。

実際の利用では必要に応じてノードを追加しますが、本チュートリアルでは分かりやすさのため、必要なノードを最初にまとめて配置します。


  • Pythonノード:3

  • Branchノード:1

  • LLMノード:3

  • Gmailノード:1(任意)



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



Agentriaのキャンバスには、デフォルトで Start NodeEnd Node が1つずつ配置されています。


  • Start Node:ワークフロー全体を開始

  • End Node:ワークフロー全体を終了


Start Nodeをダブルクリックしてノードエディターを開き、データ型・変数名・説明を設定します。

本チュートリアルでは応募者情報に基づいて条件分岐するため、データ型は JSON、変数名は applicant に設定します。

その後、キャンバスに戻ります。


サンプル入力データ



応募者情報はJSON形式で提供され、ID、氏名、メール、スコア、部署、会社、メモの値を含みます。

例は以下のとおりです。


  • Pass


{


  • Fail


{


  • Waitlist


{


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



Start Nodeで受け取った変数を他のノードで利用するには、エッジでノード同士を接続する必要があります。

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

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

以降のノードも同様にエッジで接続し、データフローを作成してください。


ステップ4:Pythonノード — 条件の作成



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

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


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

プロンプト例:

応募者情報のscoreが90〜100なら 'Pass'、90未満なら 'Fail' を返すコードを生成してください。


ステップ5:Branchノード — 条件分岐



Branchノードは条件分岐をサポートします。

Pythonノード内のコードや関数でも条件処理は可能ですが、Branchノードを使うとより直感的なワークフローを構築できます。

また、Run Test中に実行ロジックを確認しやすく、デバッグもしやすくなります。


Branchノードは条件式(Condition Expression)で動作します。

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


本チュートリアルでは、条件を PassFailPre に設定します。

条件タイトルをリネームしておくと管理しやすくなります。

Else条件は使用しません。


  • result == 'Pass'

  • result == 'Fail'

  • result == 'Pre'



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

各ピンにカーソルを合わせて条件タイトルを確認し、LLMノードへ接続します。

あわせて、各LLMノードのタイトルと説明も更新しておくと便利です。


  • Pass:合格者向け

  • Fail:不合格者向け

  • Pre:保留(Waitlist)向け



ステップ6:LLMノード — メール本文の生成


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



合格者向けLLMノードのSystem Prompt欄に、メール本文生成の指示を書きます。

出力は passMailJSON 形式で宣言します。


合格メール例:

あなたは採用担当者です。


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



不合格者向けLLMノードのSystem Prompt欄に、メール本文生成の指示を書きます。

出力は failMailJSON 形式で宣言します。


不合格メール例:

あなたは採用担当者です。


6-3)保留(Waitlist)向けメール



保留(Waitlist)向けLLMノードのSystem Prompt欄に、メール本文生成の指示を書きます。

出力は preMailJSON 形式で宣言します。


保留メール例:

あなたは採用担当者です。


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



Branchノードで分岐したデータは、単一の出力としてマージする必要があります。



出力を mailContext として JSON 形式で宣言し、Pythonコード生成を利用してコードを作成します。

プロンプト例:

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


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



ステップ7でそのままパース処理を行うこともできますが、本チュートリアルではワークフロー構造をより分かりやすくするため、新しいPythonノードでパース処理を行います。

出力変数 ToMessageSubjectString 型で追加します。

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

例:

emailContext から値を取り出して出力変数に割り当ててください。


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



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

自動メール送信ワークフローの構築は、🔗Gmail Node Tutorial を参照してください。

本チュートリアルでは、値の出力までを扱います。


ステップ10:Abilityテストでワークフロー全体を実行



キャンバス右下の RUN TEST ボタンをクリックして、完成したワークフローを実行します。

サンプル入力データのいずれかを選択し、入力欄へ貼り付けます。

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


次のステップ



🎉 おめでとうございます! Agentriaで「条件分岐によるメール生成」ワークフローを完成させました。

メールフォーマットを変えて結果を確認したり、ノードを追加してワークフローをさらに拡張してみてください。


Agentriaは、アイデアが現実になる空間です。

あなたの想像力次第で、ワークフローは無限に拡張できます。



  • より多くのAbility例は 🔗Ability Guide をご覧ください。

  • エージェントの例は 🔗Agent Guide をご覧ください。