Skip to content

ノードタイプリファレンスガイド

本ドキュメントでは、AgentCraftLab Workflow Studio で使用可能なすべてのノードタイプについて、用途、主要な設定項目、適用シーンを含めて説明します。

一覧表

ノードタイプ分類説明
startMetaワークフローの開始点
endMetaワークフローの終了点
agent実行可能 / Agentローカル LLM エージェント。言語モデルを呼び出してタスクを処理します
a2a-agent実行可能 / Agentリモート A2A エージェント。Agent-to-Agent プロトコルで外部サービスを呼び出します
autonomous実行可能 / AgentReAct ループ自律エージェント。サブエージェントを作成して協調できます
condition実行可能 / 制御フロー条件分岐。式に基づいて異なるパスに分岐します
loop実行可能 / 制御フローループ。条件を満たすか最大回数に達するまで繰り返し実行します
router実行可能 / 制御フローマルチルーティング分類。LLM が入力をどのパスに振り分けるか判断します
human実行可能 / 制御フローワークフローを一時停止し、ユーザーの入力を待ちます
code実行可能 / 変換決定論的なテキスト変換。LLM トークンを消費しません
iteration実行可能 / 制御フローforeach ループ。入力を分割して1つずつ処理します
parallel実行可能 / 制御フロー並列 fan-out/fan-in。複数のブランチを同時に実行します
http-request実行可能 / 統合決定論的な HTTP 呼び出しで外部 API にアクセスします
ragデータノードRAG ナレッジソースを接続します(ファイルアップロードまたはナレッジベース)

Meta ノード

start — 開始点

用途: ワークフローのエントリーポイントを示します。ユーザーが入力したメッセージはこのノードから伝達されます。

設定項目: 設定不要です。

適用シーン: すべてのワークフローには、start ノードが1つだけ必要です。

end — 終了点

用途: ワークフローの終了を示します。最後のエージェントの出力がこのノードに到達すると、ワークフロー全体が完了します。

設定項目: 設定不要です。

適用シーン: すべてのワークフローには、少なくとも1つの end ノードが必要です。分岐のあるワークフローでは、複数の end ノードを持つことができます。


Agent ノード

agent — ローカル LLM エージェント

用途: 言語モデルを呼び出してタスクを実行します。ワークフローで最もよく使われるノードタイプで、ツール、RAG ナレッジ、ミドルウェアを接続できます。

主要な設定項目:

項目説明デフォルト値
providerLLM プロバイダー(openai / azure-openai / ollama / foundry / github-copilot / anthropic / aws-bedrock)openai
modelモデル名gpt-4o
instructionsシステム指示。エージェントの動作と役割を定義します
temperature生成温度(0〜2)。高いほど創造的な出力になります未設定(モデルのデフォルトを使用)
topPTop-P サンプリング未設定
maxOutputTokens最大出力トークン数未設定
tools接続されたビルトインツール ID のリスト
mcpServers接続された MCP Server 名のリスト
httpApis接続された HTTP API 名のリスト
outputFormat出力形式(text / json / json_schema)text
middleware有効なミドルウェア(GuardRails / PII / RateLimit / Retry / Logging)

適用シーン: テキスト要約、翻訳、分析、コード生成、カスタマーサポート応答など、LLM の推論が必要なすべてのタスク。

a2a-agent — リモート A2A エージェント

用途: Agent-to-Agent(A2A)プロトコルを通じてリモートエージェントサービスを呼び出します。サービス間・組織間のエージェント協調に適しています。

主要な設定項目:

項目説明デフォルト値
a2aUrlリモートエージェントの A2A エンドポイント URL空(必須)
a2aFormatプロトコル形式(auto / google / microsoft)auto

適用シーン: A2A サービスとしてデプロイされた外部エージェントの呼び出し。例:企業内の専門エージェント、サードパーティのエージェントサービス。auto モードでは2つの形式を順に試行します。

autonomous — ReAct ループ自律エージェント

用途: ReAct(Reasoning + Acting)ループで動作する自律エージェント。サブエージェントの作成、タスクの分配、結果の収集を自ら行い、複雑なマルチステップ推論タスクに適しています。

主要な設定項目: Agent ノードの基本項目(provider、model、instructions)で設定し、実行時は ReactExecutor が引き継ぎます。

適用シーン: マルチステップ推論や動的な意思決定が必要な複雑なタスク。例:リサーチレポートの作成(サブタスクの自動分解)、複数ソースからのデータ集約、反復的な検証が必要な分析作業。12種類の meta-tools がサブエージェント管理をサポートします。


制御フローノード

condition — 条件分岐

用途: 条件式に基づいてフローを異なるパスに分岐させます。output_1(条件が真)と output_2(条件が偽)の2つの出力ポートをサポートします。

主要な設定項目:

項目説明デフォルト値
conditionType条件判定方法
conditionExpression条件式(前のノードの出力に適用)

適用シーン: 前のエージェントの出力に基づいて後続のフローを決定します。例:感情分析の結果がポジティブならパスA、ネガティブならパスBへ分岐。

loop — ループ

用途: ループ内のノードを、条件を満たすか最大反復回数に達するまで繰り返し実行します。

主要な設定項目:

項目説明デフォルト値
maxIterations最大ループ回数5
conditionExpression終了条件式

適用シーン: 反復的な改善が必要なタスク。例:品質基準に達するまでの文章推敲、誤りがなくなるまでの翻訳校正。

router — マルチルーティング分類

用途: LLM が入力内容のカテゴリを判断し、対応する分岐パスにフローを振り分けます。複数の出力ポートをサポートします。

主要な設定項目:

項目説明デフォルト値
instructionsルーティング判断の指示。各パスの分類条件を記述します

適用シーン: インテリジェントなルーティング。例:カスタマーサポートシステムで問題タイプ(請求 / 技術 / 一般)に応じて異なるエージェントに振り分け。

human — ヒューマンインプット

用途: ワークフローの実行を一時停止し、ユーザーの入力を受けてから続行します。3つのインタラクションモードをサポートします。

主要な設定項目:

項目説明デフォルト値
promptユーザーに表示するプロンプトメッセージ
inputType入力モード:text(自由テキスト)/ choice(選択肢)/ approval(承認/拒否)text
choices選択肢リスト(カンマ区切り)。choice モードでのみ使用
timeoutSeconds待機タイムアウト秒数(0 = 無制限待機)0

適用シーン: 人間と AI の協調フロー。例:AI がドラフトを生成した後にユーザーの確認を求める、フロー内で人間による承認が必要な場合、ユーザーに選択肢から方向性を選んでもらう場合。

iteration — foreach ループ

用途: 入力を複数の項目に分割し、1つずつサブノードに送って処理します。プログラミング言語の foreach に相当します。

主要な設定項目:

項目説明デフォルト値
splitMode分割方法:json-array(JSON 配列)/ delimiter(デリミタ)json-array
iterationDelimiterデリミタ(delimiter モードのみ)改行文字
maxItems最大処理項目数50

適用シーン: バッチ処理。例:商品名のリストに対してマーケティングコピーを1つずつ生成、JSON 配列の各データを1つずつ分析。

parallel — 並列実行

用途: fan-out/fan-in パターン。複数のブランチを同時に並列実行し、すべて完了後に結果をマージします。

主要な設定項目:

項目説明デフォルト値
branchesブランチ名(カンマ区切り)Branch1,Branch2
mergeStrategy結果マージ戦略:labeled(ラベル付き)/ join(結合)/ json(JSON オブジェクト)labeled

適用シーン: 複数の独立したサブタスクを同時に処理する必要がある場合。例:同時に複数の言語に翻訳、同じデータを複数の観点から同時に分析。


変換ノード

code — 決定論的変換

用途: LLM を呼び出さず、決定論的なルールでテキストを変換します。トークン消費ゼロで、フォーマット整理やデータ抽出などの前後処理に適しています。

主要な設定項目:

項目説明
transformType変換モード(下記の9種類を参照)
templateテンプレート文字列(template / script モードで使用)
pattern正規表現(regex-extract / regex-replace / json-path で使用)
replacement置換文字列(regex-replace で使用)
maxLength切り詰め長(trim で使用)
delimiterデリミタ(split-take で使用)
splitIndex取得するセグメントのインデックス(split-take で使用)
scriptLanguageスクリプト言語:javascript(デフォルト)または csharp(script モードで使用)

9種類の変換モード:

モード説明
templateテンプレート置換。 に前のノードの出力を代入
regex-extract正規表現でマッチした内容を抽出
regex-replace正規表現による検索と置換
json-pathJSON から指定パスの値を抽出
trim指定した長さに切り詰め
split-takeデリミタで分割し、指定インデックスのセグメントを取得
upper大文字に変換
lower小文字に変換
scriptサンドボックススクリプトを実行(JavaScript または C#、AgentCraftLab.Script の有効化が必要)

Script モード — デュアル言語サポート:

言語エンジン使い方
JavaScriptJint サンドボックスinput 変数で入力を読み取り、result 変数に出力を設定
C#Roslyn ランタイムコンパイルパラメータ input は文字列。return で結果を返す。LINQ、JsonSerializer、Regex が利用可能

両方の言語はセキュアなサンドボックスで実行されます:File/Network/Process 操作はブロックされ、タイムアウトとメモリ制限が適用されます。

Script Studio(フルスクリーンエディタ):

サイドパネルにはコードの読み取り専用プレビューが表示され、クリックすると Script Studio フルスクリーンモーダルが開きます:

  • 上部 — AI 生成:自然言語で説明すると、LLM がスクリプトコードとテストデータを自動生成
  • 中央 — Monaco Editor(VS Code コア):シンタックスハイライト、括弧マッチング、自動インデント、ミニマップ
  • 下部 — テスト実行:テスト入力を入力し、即座に実行して結果を確認
  • Format ボタン — コードの自動フォーマット(Shift+Alt+F)
  • 「適用」をクリックしてコードをノード設定に保存

適用シーン: エージェント出力の後処理(JSON フィールドの抽出、テンプレートのフォーマット、正規表現によるクリーニング)、ノード間のデータ変換、複雑な LINQ クエリとデータ処理(C#)。


統合ノード

http-request — HTTP 呼び出し

用途: LLM を経由せず、外部 API に決定論的な HTTP リクエストを送信します。既知のフォーマットの REST API の呼び出しに適しています。

主要な設定項目:

項目説明デフォルト値
httpApiId参照する HTTP API 定義 ID空(必須)
httpArgsTemplateJSON パラメータテンプレート。{input} が前のノードの出力で置換されます{}

HTTP API 定義(ワークフローレベルで設定)には、URL、Method(GET/POST/PUT/DELETE)、Headers、BodyTemplate が含まれます。

適用シーン: サードパーティの REST API の呼び出し、Webhook 通知、外部システムからのデータ取得。


データノード

データノード自体はロジックを実行せず、エージェントノードに追加の機能を提供します。接続線でデータノードをエージェントノードに接続すると有効になります。

rag — RAG ナレッジソース

用途: エージェントに検索拡張生成(RAG)のナレッジソースを接続します。エージェントが回答する際、まず関連するドキュメントの断片を検索し、コンテキストに注入してから応答を生成します。

主要な設定項目(RagConfig):

項目説明デフォルト値
dataSourceデータソースタイプupload
chunkSizeチャンクサイズ(文字数)1000
chunkOverlapチャンクのオーバーラップ領域100
topK検索時に取得する上位 K 件の関連断片5
embeddingModelエンベディングモデルtext-embedding-3-small

knowledgeBaseIds で既に構築済みのナレッジベースに接続することもできます。

適用シーン: エージェントが特定のドキュメントに基づいて質問に回答する場合。例:製品マニュアルをアップロードしてカスタマーサポート Q&A を提供、社内ドキュメントに基づいてレポートを生成。

tool — ツール

用途: エージェントにビルトインツールを接続します。エージェントは推論過程で、これらのツールを呼び出すかどうかを自ら判断します。

主要な設定項目: UI からツールカタログで接続するツールを選択します。

ツールソースは4層で構成されています:Tool Catalog(ビルトインツール)、MCP Servers、A2A Agents、HTTP APIs。

適用シーン: エージェントに Web 検索、天気照会、数学計算などの外部機能を持たせる場合。例:Web Search ツールを接続して、エージェントが最新情報を検索できるようにする。


ストラテジーの自動検出

ワークフローの実行戦略は、ノードの組み合わせに基づいて自動的に選択されます:

  1. Imperative を必要とするノード(condition / loop / router / human / code / iteration / parallel / http-request / a2a-agent / autonomous)が含まれている場合 → Imperative 戦略を使用
  2. いずれかのエージェントに複数の outgoing 接続がある場合 → Handoff 戦略を使用
  3. その他の場合 → Sequential 戦略を使用

ワークフロー設定で手動でストラテジーを指定することもできます(auto / sequential / concurrent / handoff / imperative)。

Released under the Apache-2.0 License.