ノードタイプリファレンスガイド
本ドキュメントでは、AgentCraftLab Workflow Studio で使用可能なすべてのノードタイプについて、用途、主要な設定項目、適用シーンを含めて説明します。
一覧表
| ノードタイプ | 分類 | 説明 |
|---|---|---|
start | Meta | ワークフローの開始点 |
end | Meta | ワークフローの終了点 |
agent | 実行可能 / Agent | ローカル LLM エージェント。言語モデルを呼び出してタスクを処理します |
a2a-agent | 実行可能 / Agent | リモート A2A エージェント。Agent-to-Agent プロトコルで外部サービスを呼び出します |
autonomous | 実行可能 / Agent | ReAct ループ自律エージェント。サブエージェントを作成して協調できます |
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 ナレッジ、ミドルウェアを接続できます。
主要な設定項目:
| 項目 | 説明 | デフォルト値 |
|---|---|---|
provider | LLM プロバイダー(openai / azure-openai / ollama / foundry / github-copilot / anthropic / aws-bedrock) | openai |
model | モデル名 | gpt-4o |
instructions | システム指示。エージェントの動作と役割を定義します | 空 |
temperature | 生成温度(0〜2)。高いほど創造的な出力になります | 未設定(モデルのデフォルトを使用) |
topP | Top-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-path | JSON から指定パスの値を抽出 |
trim | 指定した長さに切り詰め |
split-take | デリミタで分割し、指定インデックスのセグメントを取得 |
upper | 大文字に変換 |
lower | 小文字に変換 |
script | サンドボックススクリプトを実行(JavaScript または C#、AgentCraftLab.Script の有効化が必要) |
Script モード — デュアル言語サポート:
| 言語 | エンジン | 使い方 |
|---|---|---|
| JavaScript | Jint サンドボックス | 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 | 空(必須) |
httpArgsTemplate | JSON パラメータテンプレート。{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 ツールを接続して、エージェントが最新情報を検索できるようにする。
ストラテジーの自動検出
ワークフローの実行戦略は、ノードの組み合わせに基づいて自動的に選択されます:
- Imperative を必要とするノード(condition / loop / router / human / code / iteration / parallel / http-request / a2a-agent / autonomous)が含まれている場合 → Imperative 戦略を使用
- いずれかのエージェントに複数の outgoing 接続がある場合 → Handoff 戦略を使用
- その他の場合 → Sequential 戦略を使用
ワークフロー設定で手動でストラテジーを指定することもできます(auto / sequential / concurrent / handoff / imperative)。