Get Started

コードノードの使い方(Python)

コードノードの使い方(Python)

コードノードの使い方(Python)

アビリティ(Ability)ガイドのチュートリアルでは、Agentriaの入門者向けに、最も基本でありながら重要なプロセスを扱います。

本チュートリアルでは、起床時間を入力し、Pythonノードを用いて睡眠時間を逆算し、推奨就寝時間を案内するアビリティを実際に作成して実行します。


事前準備


開始するには、Agentriaでプロジェクト(Project)を作成し、アビリティキャンバス(Canvas)に入ります。

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


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

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

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

  3. ノードを接続する

  4. Pythonノードのコードを書く

  5. Pythonノードのコード生成機能を使う

  6. Pythonノードの出力をエンドノード(End Node)へ渡す

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


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



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

スタートノードは全体の流れを開始する役割、エンドノードは全体の流れを終了する役割を担います。

「推奨就寝時間案内」ワークフローを構成するために、まずはスタートノードで必要な変数を宣言します。

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



本チュートリアルでは起床時間を入力として受け取る必要があるため、型は String、変数名は WakeUpTime として宣言します。

宣言が完了したら、キャンバスに戻ります。


ステップ2:Pythonノードを追加



次は、睡眠時間を計算するPythonノードを追加します。

キャンバス下部の +ノード追加(Add Node) ボタンをクリックし、コード(Code)カテゴリからPythonノードをドラッグ&ドロップ(Drag and Drop)でキャンバスへ配置します。

Pythonノードは、コードを直接書くことも、短いプロンプトで自動的にコードを生成する コード生成(Code Generator) 機能を使うこともできます。


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



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

この接続線をエッジ(Edge)と呼びます。

スタートノード右側のアウトピン(Out-Pin)を、Pythonノード左側のインピン(In-Pin)へ接続すると、入力値がPythonノードへ渡されます。


ステップ4:Pythonコードを書く



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

入力領域に WakeUpTime 変数が表示されていれば、2つのノードは正しく接続されています。

次に、Pythonのコード入力欄へ睡眠時間を計算するスクリプトを書きます。


例:

wake_up_time = int()

time_minus_9 = (wake_up_time - 9) % 12

time_minus_7 = (wake_up_time - 7) % 12

time_minus_9 = 12 if time_minus_9 == 0 else time_minus_9

time_minus_7 = 12 if time_minus_7 == 0 else time_minus_7

recommended_sleep_time = f"{time_minus_9}時~{time_minus_7}時"

return {"output": recommended_sleep_time}


ステップ5:ドラッグ&ドロップで変数をバインド



Agentriaでは、追加のコードを書かなくても、ドラッグ&ドロップで変数を簡単に呼び出せます。

次のように WakeUpTime 変数を、スクリプト1行目の int() の括弧内に配置します。



  • int(WakeUpTime)



ステップ6:コード生成機能を使う



プログラミングに慣れていなくても問題ありません。

AgentriaのPythonノードは、コード生成(Code Generator) により、短いプロンプトだけで自動的にコードを生成できます。



コード生成アイコンをクリックすると表示されるプロンプト入力欄に、必要なコードの説明を入力してください。

生成(Generate) ボタンでコードを生成し、適用したい場合は 承諾(Accept) ボタンを押して適用します。


例:

WakeUpTimeを整数として受け取り、推奨就寝時間を計算するPythonコードを作ってください。

例えば8を入力したら、そこから9時間引いた11時と、7時間引いた1時を計算し、推奨就寝時間を11時~1時と出力する必要があります。

12時間制で出力してください。


ステップ7:ノードテストを実行



コードを書いたら、エディター内の入力領域にある テスト(TEST) ボタンを押して、Pythonノード単体の動作確認を行えます。

ノードテスト(Node Test)とは、ノードエディター上で個別に行える点検作業です。

これによりノードの構成が正しいことを確認してから他のノードと接続でき、エラーを最小限にして安定した流れを構築できます。

例えば WakeUpTime07 を入力したとき、次のように結果が出力されれば正常です。

"output": "10時~12時"


8ステップ:関数機能を使う



Pythonノードにある青色のピンは関数ピン(Function-Pin)です。

Pythonノードで関数機能を使うと、条件分岐により、指定した条件を満たす場合にのみ関数を呼び出して新しい実行経路を作れます。

これにより不要な演算を制限し、ワークフローの効率を高められます。

本チュートリアルでは関数は使用しません。

関数ノードの使い方は、🔗ノードタイプ ページの関数ノードをご確認ください。


ステップ9:エンドノードを接続



計算した睡眠時間の出力値をエンドノードへ渡します。

キャンバスに戻り、Pythonノードとエンドノードをエッジで接続します。

エンドノードをダブルクリックしてノードエディターを開き、String 型の SleepTime 変数を追加します。

Pythonノードの出力値を持つ Output 変数を選択(またはドラッグ&ドロップ)して、SleepTime 変数に接続します。

これで「推奨就寝時間案内」ワークフローが完成しました。


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



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

ノードテストと同様に起床時間を入力して実行すると、SleepTime に推奨就寝時間が表示されます。

"SleepTime": "10時~12時"


次のステップ



🎉 おめでとうございます! Agentriaを使って「推奨就寝時間案内」ワークフローを完成させました。

さまざまな入力値を試して結果を確認し、Pythonコードを調整してワークフローの性能を改善してみてください。


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

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





使用できない関数

ブロック/制限項目

理由

import

任意モジュールのロード防止

exec()

動的コード実行の防止

eval()

動的式評価の防止

exit(), quit()

プロセス終了の防止

globals(), locals()

内部コンテキスト露出の防止

open()

ファイルシステムアクセスの防止

__context__, __deco__, __arams__

内部変数へのアクセス防止

asyncio.create_subprocess_exec()

外部コマンド実行の防止

asyncio.create_subprocess_shell()

シェルコマンド実行の防止

asyncio.subprocess

subprocessモジュールへのアクセス制限

使用可能なライブラリ

使用可能モジュール

用途

re

正規表現

json, orjson

JSON処理

math

数学演算

datetime, time

日付/時間

collections, itertools, functools

データ構造/反復/関数ユーティリティ

base64

エンコード/デコード

ast

コード解析

typing, pydantic

型関連

pd(pandas), np(numpy)

データ分析

tiktoken

トークン数カウント

asyncio(制限あり)

非同期処理(subprocess系は除外)

mecab

形態素解析

helpers

内蔵ヘルパー関数