Get Started
ノードの使い方 - Pythonノード
このチュートリアルでは、AgentriaのPythonノードの使い方を説明します。Pythonノードは、コードを直接記述してデータを加工できるだけでなく、**ファンクションピン(Function-Pin)**を使って他のノードを関数のように呼び出すことができます。これにより、Pythonコード内から任意のタイミングでAIノードを呼び出し、その結果を再びPythonのロジックで処理する柔軟なワークフローを構築できます。
このチュートリアルでは、顧客レビューのテキストを入力として受け取り、PythonノードがLLMノードを関数として呼び出してセンチメントを分類し、カスタマイズされた返信の下書きを生成するワークフローを完成させます。
事前準備
Agentriaのキャンバスへのアクセス方法は、🔗3ステップコアガイドをご参照ください。
このチュートリアルを完了すると、以下のことができるようになります。
PythonノードのファンクションピンFunctionPinを理解し、LLMノードに接続できます。
Pythonコードで
await function()構文を使ってLLMノードを関数として呼び出せます。LLMノードのシステムプロンプトと入力変数を設定できます。
デバッグログでPythonコードのエラーを確認できます。
ワークフロー概要

全体の流れ:スタートノード → Pythonノード → エンドノード
このチュートリアルのポイントは、PythonノードのファンクションピンFunctionPinです。
Pythonノード下部の青い**ファンクションピン(Function-Pin)**をLLMノードのインピン(In-Pin)にドラッグ&ドロップ(Drag and Drop)で接続すると、LLMノードがファンクションノードに変換されます。ファンクションノードはメインのワークフローフローに含まれず、Pythonコード内のawait {%functionName%}()構文で呼び出されたときだけ実行されます。これにより、AIの呼び出しタイミングと渡す引数をPythonのロジックで直接制御できます。
ステップ1:アビリティの作成

Agentriaのキャンバスで新しいアビリティ(Ability)を作成します。
+ノード追加(Add Node)をクリックし、PythonノードとLLMノードをキャンバスに追加します。Pythonノードの名前をProcessing、LLMノードの名前をReview Analyzerに変更します。
Processingノード下部の青いファンクションピンをドラッグし、Review Analyzerノードのインピンに接続します。「ファンクションノードに変換しますか?」というモーダルが表示されたら、確認をクリックします。
ファンクションピンはPythonノード下部の青いピンです。通常の接続に使う白いアウトピン(Out-Pin)と混同しないようにご注意ください。
ステップ2:入力変数の宣言

スタートノード(Start Node)をダブルクリックして、ノードエディター(Node Editor)を開きます。
以下の入力変数を宣言します。
項目 | 値 |
|---|---|
データ型 | String(文字列) |
名前 |
|
説明 | 顧客レビューテキスト |
宣言が完了したら、キャンバスに戻ります。
ステップ3:Pythonノードの設定

Processingノードをダブルクリックして、ノードエディターを開きます。
Pythonノードには**AIコード生成器(AI Code Generator)**が内蔵されています。コード生成器アイコンをクリックし、実行したい内容をプロンプトとして入力するとコードが自動生成されます。生成されたコードは承諾(Accept)ボタンで適用します。

コード入力欄に以下のスクリプトを記述します。reviewText変数とファンクションピンの参照は、左側のパネルからドラッグ&ドロップでコードに挿入します。
ステップ4:LLMファンクションノード — 入力変数の設定

Review Analyzerノードをダブルクリックして、ノードエディターを開きます。
左側の入力パネルの入力編集(Edit Input)ボタンをクリックします。ここで追加した変数が、Pythonコードから関数として呼び出す際に渡す引数と連携します。スタートノードで宣言した入力変数と同じ名前で設定します。
変数名 | データ型 |
|---|---|
| String |
Pythonコードで
await function(reviewText=review_text)のように呼び出す場合、引数名reviewText=はここで宣言した変数名と一致している必要があります。
ステップ5:LLMファンクションノード — プロンプトの設定

システムプロンプトの設定
システムプロンプト(System Prompt)入力欄に以下の内容を入力します。
ユーザープロンプトの設定
ユーザープロンプト(User Prompt)入力欄に、左側の入力パネルのreviewTextアダプター変数をドラッグ&ドロップで挿入します。
ステップ6:エンドノードの設定

キャンバスに戻り、メインフローのエッジを接続します。
スタートノードのアウトピン →ProcessingノードのインピンProcessingノードのアウトピン →エンドノードのインピン
Review Analyzerノードはファンクションノードのため、メインフローのエッジには接続しません。
エンドノード(End Node)をダブルクリックして、ノードエディターを開きます。アウトプットセクション(Output Section)に以下の変数を追加します。
変数名 | データ型 |
|---|---|
| String |
Processingノードのアウトプットoutput変数をドラッグ&ドロップで、エンドノードのresultにバインドします。
ステップ7:ランテスト

キャンバス右下のRUN TESTボタンをクリックします。
reviewTextの入力欄にテストするレビューテキストを入力して実行します。
入力例
出力例
ステップ8:デバッグログの確認

Pythonノードでコードエラーが発生した場合、 **デバッグログ(Debug Log)**でエラーが発生したコードの位置と内容を確認できます。エラーメッセージを参考にコードを修正してから、再度テストを実行します。
次のステップ
🎉 おめでとうございます! Agentriaを使って「顧客レビューのセンチメント分類と返信下書き生成」ワークフローを完成させました。
システムプロンプトを変更してさまざまな業界や状況に合わせた返信スタイルを適用したり、Pythonコードに前処理ロジックを追加してワークフローを拡張したりすることができます。
Agentriaは、アイデアを現実に変える可能性の空間です。
あなたのアイデア次第で、ワークフローは無限に広がります。
使用できない関数
制限項目 | 理由 |
|---|---|
| 任意モジュールの読み込みを防止 |
| 動的コード実行を防止 |
| 動的式の評価を防止 |
| プロセス終了を防止 |
| 内部コンテキストの露出を防止 |
| ファイルシステムへのアクセスを防止 |
| 内部変数へのアクセスを防止 |
| 外部コマンド実行を防止 |
| シェルコマンド実行を防止 |
| subprocessモジュールへのアクセスを防止 |
使用可能なライブラリ
使用可能なモジュール | 用途 |
|---|---|
| 正規表現 |
| JSON処理 |
| 数学演算 |
| 日付/時刻 |
| データ構造、反復処理、関数型ユーティリティ |
| エンコード/デコード |
| コードパース |
| 型関連 |
| データ分析 |
| トークンカウント |
| 非同期処理(subprocess関連を除く) |
| 形態素解析 |
| 内蔵ヘルパー関数 |
Helpers(ファイル処理ユーティリティ)
コードノードでは、ファイル処理やデータ変換のためにhelpersユーティリティ関数を使用できます。
詳しい使い方は 🔗Helpers ページのガイドをご確認ください。