第10章 ノードの種類

この章では、ワークフロー・チャットフローの編集画面(キャンバス)に置けるノード(処理の部品)を、種類ごとに説明します。主要な7つのノードの役割と使いどころは、第3章〜第6章で説明しました。この章は、置ける全ノードの一覧と、各ノードの設定項目をまとめたリファレンスです。最初から順に読むほか、アプリを作りながら「このノードは何をするのか」を引く一覧としても使えます。

10-1. ノードの全体像(一覧)

本書では、ノードを働きに応じて次の4つに分けて説明します。この分け方は本書の整理です(公式ドキュメントは、ノードを分類せずに1つずつ並べています)。

分類 働き 説明する節
基本 処理の入口と出口、AIの呼び出しなど、多くのアプリで使う部品 10-2
ロジック 条件で流れを分ける、繰り返す、人の確認をはさむなど、流れを組み立てる部品 10-3
変換 文章やファイル、データの形を変える部品 10-4
外部連携 Difyの外のシステム・サービスとやりとりする部品 10-5

ノードの間のデータの受け渡しは 変数(ノードが出した値に名前を付けて、後ろのノードから参照できるようにしたもの)で行います。変数の考え方は第4章4-1で、受け渡しの操作は第7章で説明します。

全ノードの一覧は次のとおりです。

ノード名(英語名) 分類 ひとことで何をするか
ユーザー入力ノード(Start) 基本 処理の入口。人が動かす「ユーザー入力」か、自動で動かす「トリガー」を選ぶ
LLM 基本 AIモデルを呼び出して、文章の生成・要約・言い換えなどをさせる
知識検索(Knowledge Retrieval) 基本 ナレッジ(保管庫)から、質問に関係する断片を探して後ろのノードに渡す
回答(Answer) 基本 チャットフローで、利用者に見せる返事を組み立てて返す
出力(Output) 基本 ワークフローで、処理結果を利用者や呼び出し元に返す
IF/ELSE(If-Else) ロジック 条件に当てはまるかどうかで、処理の流れを分ける
質問分類器(Question Classifier) ロジック 入力文がどの分類に当たるかをAIが判定し、分類ごとの経路に振り分ける
変数集約器(Variable Aggregator) ロジック 分かれた経路の結果を1つの変数にまとめ、後ろの処理を1系統にする
イテレーション(Iteration) ロジック 一覧(配列)の各項目に、同じ処理を1件ずつ繰り返す
ループ(Loop) ロジック 前回の結果を踏まえて同じ処理を繰り返し、条件を満たしたら抜ける
人間の入力(Human Input) ロジック 処理を一時停止し、人が確認・記入・決定してから先に進める
変数代入(Variable Assigner) ロジック チャットフローで、会話をまたいで覚えておく値(会話変数)に書き込む
テキスト抽出(Document Extractor) 変換 PDF・Wordなどのファイルから文字を取り出し、AIが読める形にする
パラメータ抽出(Parameter Extractor) 変換 自由な文章から、必要な項目(日付・名前など)をAIで取り出して構造化する
テンプレート(Template) 変換 複数の変数を、決めた型に差し込んで文章に整形する
コード実行(Code) 変換 PythonまたはJavaScriptのプログラムで、独自の計算・変換を行う
リスト処理(List Operator) 変換 一覧(配列)から、条件に合う項目の絞り込み・並べ替え・取り出しをする
HTTPリクエスト(HTTP Request) 外部連携 外部のシステム・サービスに要求を送り、結果を受け取る
ツール(Tool) 外部連携 Web検索などの外部機能(ツール)を、部品として呼び出す
エージェント(Agent) 外部連携 目的とツールを与えると、AIがツールの使い方を自分で判断して実行する

この20ノードのうち、ユーザー入力ノード(ユーザー入力)・LLM・知識検索・回答/出力・IF/ELSE・質問分類器・変数集約器が、第3章〜第6章で役割と基本の使い方を説明した主要な7つのノードです(第3章3-1。回答と出力はアプリの種類で使い分けるため、一覧では2行に分かれています)。それ以外のノード(テンプレート・ツール・コード・HTTPリクエスト・パラメータ抽出・イテレーションなど)は、基本の7つのノードに慣れてから使う発展的なノードです(第3章3-5)。

アプリの種類によって、使えるノードに次の違いがあります。

ノード 使えるアプリの種類
回答 チャットフローのみ(ワークフローでは代わりに「出力」を使う)
出力 ワークフローのみ(チャットフローでは代わりに「回答」を使う)
ユーザー入力ノードの「トリガー」 ワークフローのみ(チャットフローは常に「ユーザー入力」で始まる)
変数代入 チャットフロー(会話変数はチャットフローの仕組みのため)

ワークフローの編集画面で、ノードを追加する一覧(ノードの選択パネル)が開いた状態

10-2. 基本のノード(入口・AIの呼び出し・出口)

ユーザー入力ノード(Start)

ユーザー入力ノードの設定欄。入力フィールドの一覧が表示された状態

処理の入口になるノードです。ワークフロー・チャットフローは必ずここから始まります。役割と入力欄の基本の設定は第4章4-1で説明しています(本書の他の章では「ユーザー入力ノード」と表記。第3章3-1)。

このノードだけは、アプリを作った時点で最初からキャンバスに置かれています。 処理の入口は1つと決まっているため、ノードを追加する一覧には表示されず、追加も削除もできません。設定を変えて使うノードです。

開始のしかたは2つのモードから選びます。

主な設定項目(ユーザー入力)

主な設定項目(トリガー)

トリガーの種類 動くきっかけ
スケジュールトリガー 指定した時刻・間隔(例:毎朝8時)
統合トリガー 連携した外部サービスで起きた出来事
Webhookトリガー 外部システムからの通知(HTTPリクエスト)

使いどころ:職員が文書を貼り付けて要約させるアプリはユーザー入力、毎朝決まった時刻に集計を動かすアプリはスケジュールトリガー、というように「人が動かすか、自動で動くか」で選びます。

LLM

LLMノードの設定欄。AIモデル・コンテキスト・SYSTEMなどの項目が並んだ状態

AIモデル(LLM)を呼び出して、文章・画像・文書を処理させるノードです。要約・文案作成・言い換え・分類など、AIに考えさせる処理の中心になります。役割と基本の使い方(SYSTEM・USERの書き分け・変数の差し込み)は第4章4-2で説明しています。

主な設定項目

使いどころ:受け取った文書の要約、通知文の下書き作成、問い合わせへの回答文の生成など、文章を作る処理全般に使います。

知識検索(Knowledge Retrieval)

知識検索ノードの設定欄。クエリテキスト・ナレッジベース・メタデータフィルタが並んだ状態

質問の文に関係する断片(チャンク)をナレッジ(保管庫)から探し出し、検索結果を後ろのノード(主にLLM)に根拠として渡すノードです。本書の他の章では、このノードを「知識検索ノード」と表記しています(第3章3-1)。役割と基本の使い方(LLMノードのコンテキストへのつなぎ方)は第5章で説明しています。

主な設定項目

検索結果は result という変数(拾った断片の一覧)で出力されます。ナレッジ側の登録・検索設定の考え方は第5章で説明します。

使いどころ:規程集・要綱を登録したナレッジから根拠を拾い、LLMに「拾った断片をもとに答える」ようにつなぐ、庁内FAQの中心部品です。

回答(Answer)

回答ノードの設定欄。応答の欄に変数が設定された状態

チャットフローで、利用者に見せる返事を組み立てて返すノードです。固定の文章と、前のノードの変数を組み合わせて返せます。チャットフロー専用で、ワークフローでは代わりに「出力」を使います(第3章3-1。出力ノードの基本の使い方は第4章4-3)。

主な設定項目

公式ドキュメント内には「答え」という表記もあります。画面の表示は環境・バージョンにより異なることがあります。

使いどころ:聞き取りの途中経過を返す、最後にまとめの回答を返すなど、チャットフローの「話す側」を担います。

出力(Output)

出力ノードの設定欄。出力変数を設定する欄が表示された状態

ワークフローで、処理結果の変数を利用者やAPIの呼び出し元に返すノードです。ワークフロー専用で、チャットフローでは代わりに「回答」を使います。役割と基本の設定手順は第4章4-3で説明しています。

主な設定項目

使いどころ:要約の本文、審査結果の一覧など、ワークフローの最終結果を外に返す出口として使います。

10-3. 流れを分ける・繰り返すノード(ロジック)

IF/ELSE(If-Else)

IF/ELSEノードの設定欄。条件を設定する欄が表示された状態

条件に当てはまるかどうかで、処理の流れを分けるノードです。公式ドキュメントの表記は「If-Else」です。役割と基本の使い方(条件の考え方・質問分類器との使い分け)は第6章6-1・6-3で説明しています。

主な設定項目

使いどころ:添付ファイルの有無で処理を変える、文字数が上限を超えたら別の経路に回す、といった「決まった条件による分岐」に使います。文章の意味による振り分けは、次の質問分類器が向いています。

質問分類器(Question Classifier)

質問分類器の設定欄。モデル・入力変数・クラスの欄が並んだ状態

入力された文章が、あらかじめ決めた分類(クラス)のどれに当たるかをAIが判定し、分類ごとの経路に振り分けるノードです。条件式では書きにくい「意味による振り分け」ができます。役割と基本の使い方(分類の説明の書き方・IF/ELSEとの使い分け)は第6章6-2・6-3で説明しています。

主な設定項目

使いどころ:問い合わせを「手続きの質問」「制度の質問」「その他」に振り分けて、それぞれ別のナレッジや返し方につなぐ、といった受付の入口に使います。

変数集約器(Variable Aggregator)

変数集約器の設定欄。まとめる変数を追加する欄が表示された状態

IF/ELSEや質問分類器で分かれた経路の結果を、1つの変数にまとめるノードです。実行のたびにどれか1つの経路だけが動くため、値が入っている変数がそのまま出力になります。これにより、分岐の数だけ後ろのノードを複製せずに済みます。本書の他の章では、このノードを「変数集約器」と表記しています(第3章3-1)。役割と基本のつなぎ方は第6章6-4で説明しています。

主な設定項目

使いどころ:質問分類器で3経路に分けてそれぞれLLMで答えを作った後、1つの「回答」ノードに合流させる、といった分岐の合流点に使います。

イテレーション(Iteration)

イテレーションノードの設定欄。入力・出力の変数と処理モードの欄が表示された状態

一覧(配列)の各項目に、同じ処理を1件ずつ適用するノードです。ノードの中に小さな処理の流れを作り、それを項目の数だけ繰り返します。公式ドキュメントでは「反復処理」とも表記されます。

主な設定項目

使いどころ:アップロードされた複数のファイルを1件ずつ要約する、一覧の各行に同じ整形をかける、といった「同じ処理の繰り返し」に使います。

ループ(Loop)

ループノードの設定欄。終了条件と最大ループ数の欄が表示された状態

前回の結果を踏まえて同じ処理を繰り返し、条件を満たしたら抜けるノードです。イテレーションが「独立した項目への同じ処理の繰り返し」なのに対し、ループは「前の回の結果を引き継いで積み上げる繰り返し」に使います。

主な設定項目

繰り返しは、終了条件を満たす・最大回数に達する・ループ終了ノードが実行される、のいずれかで止まります。

使いどころ:作った文章をAIに自己点検させ、決めた水準を満たすまで直しを繰り返す、といった「仕上がるまで繰り返す」処理に使います。

人間の入力(Human Input)

人間の入力ノードの設定欄。人が確認・記入する項目を決める欄が表示された状態

処理の流れを一時停止し、人が内容を確認・記入し、次に進むかどうかを決めてから再開させるノードです。自動処理の途中に人の確認をはさめます。

主な設定項目

使いどころ:AIが作った通知文の下書きを、発送前に担当者が確認して承認する、といった「人の確認をはさむ自動化」に使います。

変数代入(Variable Assigner)

変数代入ノードの設定欄。書き込む先の変数と値を指定する欄が表示された状態

チャットフローで、会話変数(同じ会話の中で、やりとりをまたいで保持される値)に書き込むノードです。通常の変数は実行のたびにリセットされますが、会話変数は会話が続く間保持されます。

主な設定項目

使いどころ:聞き取りで集めた回答(申請者名・事業内容など)を会話変数にため、最後にまとめて下書きを作る、といった「覚えたまま進める対話」に使います。

10-4. データを変換するノード

テキスト抽出(Document Extractor)

テキスト抽出ノードの設定欄。入力変数を指定する欄が表示された状態

アップロードされたファイルから文字を取り出し、AIモデルが読める文章にするノードです。AIモデルはPDFやWordのファイルをそのままは読めないため、ファイルを扱う流れではこのノードをはさみます。英語名はDocument Extractorです。

主な設定項目

対応するファイル形式には、テキスト(TXT・Markdown・HTML)、Word(DOCX・DOC)、PDF(文字情報のあるもの)、Excel・CSV、PowerPoint、メールファイル(EML・MSG)などがあります。

使いどころ:申請書のPDFや報告書のWordファイルを受け取り、本文を取り出してLLMの要約・確認につなぐ、ファイル処理の最初の一歩に使います。

パラメータ抽出(Parameter Extractor)

パラメータ抽出ノードの設定欄。モデル・入力変数・抽出パラメータの欄が並んだ状態

自由に書かれた文章から、必要な項目をAIで取り出して構造化する(決めた項目立てのデータにする)ノードです。取り出した項目は、後ろのツールやHTTPリクエストにそのまま渡せます。

主な設定項目

取り出せたかどうかは、組み込みの変数(成功したか・失敗の理由)で確認できます。

使いどころ:「来週の火曜に会議室を借りたい」といった相談文から日付・用件を取り出して、後ろの検索や外部システムへの連携に渡す、といった聞き取りの整理に使います。

テンプレート(Template)

テンプレートノードの設定欄。入力変数とコード(Jinja2)の欄が表示された状態

複数の変数を、あらかじめ決めた文章の型に差し込んで整形するノードです。型の記述にはJinja2(ジンジャ2。文章の型に変数や簡単な処理を書き込める記法)を使います。

主な設定項目

使いどころ:件名・宛先・本文の変数を差し込んで通知文を組み立てる、複数ノードの結果を1つの報告書式にまとめる、といった定型の文章づくりに使います。プログラムを書かずに整形できるため、コード実行ノードより先に検討するとよい部品です。

コード実行(Code)

コード実行ノードの設定欄。入力変数・プログラム・出力変数の欄が並んだ状態

PythonまたはJavaScriptのプログラムを書いて、独自の計算・変換を行うノードです。用意されたノードだけでは書けない処理を補います。プログラムの経験がある職員向けの部品で、多くのアプリはこのノードなしで作れます。

主な設定項目

プログラムは隔離された実行環境(サンドボックス)で動き、ファイルの読み書き・外部への通信・システム操作はできません。出力の長さにも上限があります(文字列は40万文字まで)。

使いどころ:独自の集計・複雑な文字列変換など、他のノードで表現できない処理が本当に必要なときにだけ使います。

リスト処理(List Operator)

リスト処理ノードの設定欄。入力変数・絞り込み・並べ替えの欄が表示された状態

一覧(配列)から、条件に合う項目の絞り込み・並べ替え・取り出しをするノードです。複数ファイルの入力を種類ごとに分けるときによく使います。

主な設定項目

結果は result(絞り込み後の一覧)・first_record(最初の1件)・last_record(最後の1件)の変数で出力されます。

使いどころ:複数の添付ファイルから画像だけを選んで画像向けの処理へ、文書だけをテキスト抽出へ、と経路を分ける入口に使います。

10-5. 外部と連携するノード

外部のシステム・サービスとつながるノードです。庁内ネットワークから外部に接続できるかは環境によるため、利用の前に情報担当部署に確認してください(第11章)。

HTTPリクエスト(HTTP Request)

HTTPリクエストノードの設定欄。メソッド・URL・ヘッダー・パラメータ・ボディの欄が並んだ状態

外部のシステム・サービスに、HTTP(Webの通信のきまり)で要求を送り、結果を受け取るノードです。外部のデータの取得、外部システムへの通知・登録などに使います。

主な設定項目

使いどころ:庁内の別システムのAPI(外部のシステムから機能を呼び出す窓口)にデータを渡す、外部の公開データを取りにいく、といった連携に使います。具体的な使い方は第11章で説明します。

ツール(Tool)

ノードを追加する画面の「ツール」タブ。使えるツールの一覧が表示された状態

Web検索・外部サービス連携などの外部機能(ツール)を、処理の流れの中の1部品として呼び出すノードです。使えるツールは、プラグイン(Difyに機能を追加する部品)を入れることで増えます。

主な設定項目

使いどころ:最新の情報のWeb検索、外部サービスへの投稿・通知など、既製の外部機能をそのまま使いたいときに便利です。ツールの種類と導入のしかたは第11章で説明します。

エージェント(Agent)

エージェントノードの設定欄。エージェンティック戦略を選ぶ欄が表示された状態

目的と使えるツールを与えると、AIがどのツールをいつ使うかを自分で判断し、考える→実行する→結果を見る、を繰り返して仕事を進めるノードです。手順を固定できない調べものに向きますが、動きが読みにくくなるため、手順が決まっている処理は通常のノードのつなぎで作るほうが確実です。

主な設定項目

使いどころ:複数の情報源を調べて突き合わせる下調べなど、「何をどの順で調べるか」を事前に決めにくい作業に使います。

10-6. 掲載範囲と表記の注意

出典一覧

本章の記述の根拠です(いずれも確認日:2026-08-14)。各ノードは英語版(en)と日本語版(ja)の公式ドキュメントで確認しました。

内容 出典
ノード一覧(クラウド版の全ノードページの索引) https://docs.dify.ai/llms.txt
ユーザー入力ノード(ユーザー入力/トリガーの2モード・チャットフローはユーザー入力のみ) https://docs.dify.ai/en/cloud/use-dify/nodes/start.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/start.md
ユーザー入力(入力欄の型・非表示の欄) https://docs.dify.ai/en/cloud/use-dify/nodes/user-input.md
トリガー(3種類・ワークフローのみ・スケジュールは1つまで・数はプランによる) https://docs.dify.ai/en/cloud/use-dify/nodes/trigger/overview.md
トリガー3種の日本語呼称(スケジュールトリガー/Webhookトリガー。「インテグレーショントリガー」表記=10-6の注記の根拠) https://docs.dify.ai/ja-jp/guides/workflow/node
LLM(モデル・プロンプト・コンテキスト・メモリ・ビジョン・構造化出力) https://docs.dify.ai/en/cloud/use-dify/nodes/llm.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/llm.md
知識検索(クエリ・複数ナレッジ・Top K・スコアしきい値・Rerank・メタデータフィルタ・出力result) https://docs.dify.ai/en/cloud/use-dify/nodes/knowledge-retrieval.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/knowledge-retrieval.md
回答(チャットフロー専用・変数差し込み・複数配置・順次表示) https://docs.dify.ai/en/cloud/use-dify/nodes/answer.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/answer.md
出力(ワークフロー専用・変数の割り当て・複数ノードの結合・名前の重複回避) https://docs.dify.ai/en/cloud/use-dify/nodes/output.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/output.md
IF/ELSE(IF/ELIF/ELSE・条件演算子・AND/OR) https://docs.dify.ai/en/cloud/use-dify/nodes/ifelse.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/ifelse.md
質問分類器(入力変数・モデル・クラス定義・指示) https://docs.dify.ai/en/cloud/use-dify/nodes/question-classifier.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/question-classifier.md
変数集約器(排他的な分岐の合流・同一データ型・グループ) https://docs.dify.ai/en/cloud/use-dify/nodes/variable-aggregator.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/variable-aggregator.md
イテレーション(配列への繰り返し・順次/並列最大10・エラー処理3種・items/index) https://docs.dify.ai/en/cloud/use-dify/nodes/iteration.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/iteration.md
ループ(ループ変数・終了条件・最大回数・ループ終了ノード・イテレーションとの違い) https://docs.dify.ai/en/cloud/use-dify/nodes/loop.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/loop.md
人間の入力(配信方法・フォーム・決定ボタン・タイムアウト既定3日・トリガー起動時のWebアプリ配信不可) https://docs.dify.ai/en/cloud/use-dify/nodes/human-input.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/human-input.md
変数代入(会話変数・チャットフロー・操作の種類) https://docs.dify.ai/en/cloud/use-dify/nodes/variable-assigner.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/variable-assigner.md
テキスト抽出(対応ファイル形式・入出力・出力変数text) https://docs.dify.ai/en/cloud/use-dify/nodes/doc-extractor.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/doc-extractor.md
パラメータ抽出(パラメータ定義・推論モード・成否の組み込み変数) https://docs.dify.ai/en/cloud/use-dify/nodes/parameter-extractor.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/parameter-extractor.md
テンプレート(Jinja2・変数置換・条件・繰り返し・フィルター) https://docs.dify.ai/en/cloud/use-dify/nodes/template.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/template.md
コード(Python/JavaScript・サンドボックス・再試行上限・出力上限) https://docs.dify.ai/en/cloud/use-dify/nodes/code.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/code.md
リスト処理(フィルタリング・ソート・選択・出力変数) https://docs.dify.ai/en/cloud/use-dify/nodes/list-operator.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/list-operator.md
HTTPリクエスト(メソッド・認証・本文・タイムアウト・リトライ上限・レスポンス) https://docs.dify.ai/en/cloud/use-dify/nodes/http-request.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/http-request.md
ツールノード(ツール選択・認証情報・ツールごとの設定) https://docs.dify.ai/en/cloud/use-dify/nodes/tools.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/tools.md
エージェント(戦略Function Calling/ReAct・ツール設定・最大反復回数・メモリ) https://docs.dify.ai/en/cloud/use-dify/nodes/agent.md / https://docs.dify.ai/ja/cloud/use-dify/nodes/agent.md
ノードの日本語呼称の用例(ユーザー入力・イテレーション・テキスト抽出・テンプレート・出力 等) https://docs.dify.ai/ja-jp/guides/application-orchestrate/creating-an-application