Get Started
Ability(アビリティ)ガイドのチュートリアルは、Agentria(エージェントリア)の初心者向けに、基本的かつ重要な手順を扱います。
このチュートリアルでは、Branch(ブランチ)ノードを有効化し、条件に応じて LLM でメール本文を生成するアビリティを実際に作成して実行します。
事前準備
開始にあたり、Agentria でプロジェクト(Project)を作成した後、アビリティキャンバス(Canvas)へ移動します。
キャンバスへの入り方は、🔗3ステップ コアガイド のステップ1(プロジェクト作成およびコンポーザー選択)を参照してください。
このチュートリアルを完了すると、次の操作ができるようになります。
ノード(Node)を追加する
Start Node(スタートノード)で変数を宣言する
ノードを接続する
Branch ノードを使う
LLM ノードを使う
Python ノードを使う
アビリティテストでワークフロー(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 型の To、Message、Subject を追加します。
コード生成器にプロンプトを入力してコードを作成します。
例:
emailContext の値をパースして出力変数に割り当てます。
email の値を To へ、
message の値を Message へ、
subject の値を Subject へ割り当ててください。
ステップ9:Gmail ノードの追加(任意)

Gmail ノードを追加すると、実際にメールを送信できます。
🔗Gmail ノードチュートリアル を参照して、メール送信を自動化するワークフローを構成します。
このチュートリアルでは、値を出力する段階まで進めます。
ステップ10:アビリティテストでワークフロー全体を実行

キャンバス右下の テスト実行(RUN TEST) ボタンをクリックして、完成したワークフロー全体を実行できます。
入力欄でサンプルデータのいずれかを選択して入力します。
結果が正しく出れば、ワークフローは正しく構成されています。
次のステップ

🎉 おめでとうございます! Agentria を使って「条件に応じたメール生成」ワークフローを完成させました。
ここから、さまざまなメール形式を適用して結果を確認したり、ノードを追加してワークフローを拡張したりしてみてください。
Agentria は、アイデアを現実に変える可能性の空間です。
あなたのアイデア次第で、ワークフローは無限に広がります。
🔗アビリティガイド はアビリティチュートリアルで構成されています。Agentria および自動化の入門ユーザー向けのガイドです。
🔗3ステップ・コアガイド は、複雑な設定や詳細な概念説明を省き、短く簡潔に学べるコアガイドです。