第7章 ノードの配置と接続
この章では、ワークフロー・チャットフローの編集画面(キャンバス)での基本操作を説明します。第2章のまとめに挙げた手順4「編集画面でノードを配置し、線でつなぐ」で概要だけ示した操作の、詳しい説明にあたる章です。各ノードの役割と基本の設定は、第3章〜第6章で説明しました(基本形の3ノードは第4章、知識検索は第5章、条件分岐は第6章)。この章は、編集画面での操作(ノードの追加・接続・設定・削除・複製と、テスト実行・デバッグ)をまとめたリファレンスです。
この章を読むと、次の3つが分かります。
- 編集画面のどこに何があるか(7-1)と、ノードを追加・配置・接続し、設定・削除・複製する操作(7-2〜7-4)
- 前のノードの変数を次のノードで参照する操作(7-3)
- 作った流れをテスト実行で動かし、うまく動かないときにどこを見るか(7-5)
本章で扱わない内容は、次の章で説明します。
- 各ノードの詳しい仕様(設定項目の意味・使いどころ)は第10章で説明します。
- アプリの管理画面(編集画面以外の画面への切り替え・APIアクセス・ログ)は第9章で説明します。
- エラーの原因別の対処は第14章で説明します。
画面の名称・配置・操作は、バージョンや環境により本書の記載と異なることがあります(序章「本書の確認環境」参照)。
7-1. ワークフロー編集画面の構成
本章の対象
第2章2-4のとおり、編集画面はアプリの種類によって2通りに分かれます。
- チャットボット・テキストジェネレーター:指示文などを入力する設定中心の画面。ノードは使いません。
- ワークフロー・チャットフロー:キャンバス(ノードを並べて線でつなぐ作業領域)の画面。本章はこちらが対象です。
ワークフローとチャットフローは、同じ方式のキャンバスとノードで組み立てます。違いは流れの始まりと終わりです。
| 種類 | 流れの始まり | 流れの終わり |
|---|---|---|
| ワークフロー | ユーザー入力ノード、またはトリガー(決まった時刻や外部からの合図で自動で始めるしくみ。序章0-2) | 処理結果を返す出力のノード(置くかどうかは任意) |
| チャットフロー | ユーザー入力ノード | 利用者に答えを返す回答のノード(必ず置く) |
出力・回答にあたるノードの画面上の表示名は、バージョンにより異なることがあります。ノードごとの仕様は第10章で説明します。
画面の主な構成要素

| 場所 | 名称 | 役割 |
|---|---|---|
| 画面の中央 | キャンバス | ノードを並べて線でつなぐ作業領域。本章の操作のほとんどはここで行う |
| キャンバスの上 | ノード | 1つの処理の部品。クリックすると設定欄が開く(7-4) |
| 画面の右上 | テスト実行 | 作った流れを試しに動かすボタン(7-5)。ワークフローの場合の名称で、チャットフローでは「デバッグとプレビュー」で試す(表示はバージョンにより異なります) |
| 画面の右上 | 公開 | 完成したアプリを利用できる状態にするボタン(第2章2-7・第9章) |
| 画面の下部 | 変数インスペクタ(Variable Inspector) | 実行後の変数の値を一覧で確認・編集できる欄(7-5) |
マウス操作の2つのモード
キャンバスには、マウス操作のモードがあります。
- ポインタモード(キーボードのVキー):ノードを選ぶ・動かすための通常のモード。
- ハンドモード(Hキー):キャンバス全体をつかんで動かし、見たい場所へ移動するモード。
このほか、キャンバスにメモを書き込むコメントのモード(Cキー)があります。表示の拡大・縮小(ズーム)は、Ctrl+「=」(拡大)/Ctrl+「−」(縮小)で操作できます(Macでは Ctrl を Cmd に読み替えます。以下同じ)。
ノードが増えて画面に収まらなくなったら、ハンドモードやズームで見たい場所を表示します。「今どこを見ているか分からなくなった」ときは、いったん縮小して全体を表示すると迷いません。
7-2. ノードの追加・配置
ノードを追加する
前提:ワークフローまたはチャットフローの編集画面が開いていること(第2章2-4の完了状態)。
- 作りたい処理の流れを確認します(例:入力を受け取る → ナレッジ(保管庫)から根拠を探す → LLMで文章を作る → 結果を返す)。
- 流れの始まりのノード(ユーザー入力ノードなど)の後ろに、処理の順にノードを1つずつ追加します。ノードの追加は、キャンバス上のノードの端にある追加の操作か、キャンバスの空いている場所から行えます(表示・操作はバージョンにより異なります)。
- 追加したノードの種類と名前がキャンバスに表示されたことを確認します。
完了状態:追加したノードがキャンバスに置かれている。
公式ドキュメントのワークフロー作成手順でも、この「始まりのノードの後ろに、処理の順に1つずつ追加していく」進め方が使われています。一度に全部のノードを置くのではなく、1つ追加するたびに動きを確かめながら進めると、エラーの原因を見つけやすくなります(第1章1-1の注意と同じです)。
ノードを配置する(動かす・そろえる)
- ノードはドラッグ(マウスのボタンを押したまま動かす操作)で好きな位置に動かせます。
- 処理の流れと画面上の並び順をそろえておくと、後から見た人が流れを追いやすくなります。左から右へ、処理の順に並べるのが基本です。
- ノードの位置をそろえる整列の機能もあります(Ctrl+O)。
ノードの位置は見た目の整理のためのもので、実際の処理の順序は次の7-3でつなぐ線が決めます。
7-3. ノード間の接続と変数の受け渡し
この節が本章の中心です。ノードを線でつなぐと処理の順序が決まり、線でつながった前のノードの結果は「変数」として次のノードで使えるようになります。
ノードを線でつなぐ
前提:キャンバスに、つなぎたいノードが2つ以上置かれていること。
- つなぎたい2つのノードのうち、先に動くノードの端(次のノードへ出て行く側)にマウスを合わせます。
- そこからドラッグして、後に動くノードまで線を引きます。
- 2つのノードの間に線が表示されたことを確認します。
完了状態:ノードとノードが線で結ばれ、処理の順序が決まっている。
線をつなぐ位置や接続点の見た目はバージョンにより異なりますが、「前のノードから後のノードへドラッグして線を引く」という操作は共通です。
線でつないだノードは、前のノードが終わってから次のノードが動きます(直列の実行)。1つのノードの後ろに複数のノードをつなぎ、同時に動かす組み方(並列の実行)もできますが、組み方の詳細は第10章で扱います。
変数とは何か
変数(ノードの間で値を受け渡すための入れ物)の考え方と、変数名の付け方は、第4章4-1で説明しています。この節では、前のノードの変数を編集画面で参照する操作と、Difyが自動で用意する変数を説明します。
図7-1 変数の受け渡し(前のノードの出力が、次のノードの材料になる。第4章 図4-1 の再掲)
前のノードの変数を参照する
後ろのノードの設定欄で、前のノードの変数を次の方法で指定します。
- 一覧から選ぶ:ノードの設定欄の入力項目で、参照できる変数の候補一覧が表示され、そこから選びます。
- 文章の途中に差し込む:長い文章を書く欄では、「/」を入力すると変数の候補一覧が表示され、選ぶと文章のその位置に変数が入ります。
- LLMノードの指示文(プロンプト)内:
{{変数名}}のように、変数名を二重の波かっこで囲んで書きます。実行時に、その位置へ実際の値が差し込まれます。
いずれの方法でも、参照できるのは線でつながった前のノードの変数です。手順の例として、LLMノードから前のノードの変数を参照します。
前提:前のノード(例:ユーザー入力)とLLMノードが線でつながっていること。
- LLMノードをクリックして設定欄を開きます。
- 指示文の欄で、値を差し込みたい位置に「/」を入力します。
- 表示された候補一覧から、使いたい変数(例:ユーザー入力ノードの入力値)を選びます。
- 指示文内に選んだ変数が入ったことを確認します。
完了状態:LLMノードの指示文に前のノードの変数が差し込まれ、実行時にその値を使って文章が生成される。

なお、ナレッジ(保管庫)の検索結果を答えの根拠として使う場合は、知識検索ノードの結果をLLMノードの「コンテキスト」(アプリにナレッジをつなぐ設定欄。序章0-4)に接続する専用のつなぎ方があります。つなぎ方の手順は第5章5-3で、設定項目の詳細は第10章のLLMノード・知識検索ノードで説明します。
変数のつながりを目で確かめる
ノードを選択した状態でShiftキーを押している間、そのノードの変数のつながり(どの変数がどこで使われているか)が強調表示されます。ノードが増えてきたとき、「この値はどこから来ているか」を確かめるのに使えます。
システム変数(概要のみ)
ノードの出力とは別に、Difyが自動で用意する システム変数 があります。名前が sys. で始まり、実行に関する情報が入っています。例を挙げます。
| システム変数の例 | 入っている値 |
|---|---|
sys.user_id |
利用者を区別するID |
sys.app_id |
アプリを区別するID |
sys.timestamp |
実行を開始した時刻 |
チャットフローでは、会話に関するシステム変数(会話を区別する sys.conversation_id、会話の往復回数を数える sys.dialogue_count など)も使えます。どのノード・アプリの種類でどのシステム変数を使えるかは、公式ドキュメントのシステム変数の一覧で確認してください(本章の出典一覧にある「変数の種類」の行のページ)。
このほか、変数には次の2種類があります。本章では名前だけ紹介し、使い方は第10章・第11章で説明します。
- 環境変数:APIキー(外部サービスを利用するための鍵)などの秘密情報を、アプリ本体と分けて保存しておく変数。DSLファイル(序章0-4)でアプリを共有するときに、秘密情報が一緒に渡ってしまうことを防げます。
- 会話変数:チャットフローだけで使える、会話の間ずっと値を覚えておく変数。聞き取った内容を覚えたまま会話を進める用途に使います。
7-4. ノードの設定・編集・削除・複製
ノードの設定を開く・編集する
キャンバス上のノードをクリックすると、そのノードの設定欄が開きます。設定欄では、ノードの種類に応じた項目(使うAIモデル、参照する変数、条件など)を入力します。各ノードの設定項目の意味は第10章で説明します。
操作を間違えたときは、元に戻す(Ctrl+Z)・やり直す(Ctrl+Y)が使えます。
ノードを削除する
削除したいノードを選んで、Deleteキーで削除します(画面上のメニューから行える場合もあります。表示はバージョンにより異なります)。
削除するときの注意が1つあります。削除したノードの変数を後ろのノードが参照していた場合、その参照先がなくなります。ノードを削除したら、後ろのノードの設定欄を開き、参照している変数が残っていないかを確認してください。テスト実行で「変数が見つからない」という趣旨のエラーが出たときも、まずここを確認します(第2章2-8)。
ノードを複製する・コピーして貼り付ける
同じ設定のノードをもう1つ作りたいときは、次の2つの方法があります。
- 複製:ノードを選んで Ctrl+D。同じノードがキャンバス上に増えます。
- コピーして貼り付け:ノードを選んで Ctrl+C → Ctrl+V。
似た設定のノードを複数作るときは、1つ作り込んでから複製して差分だけ直すと、設定の入力を繰り返さずに済みます。ただし、複製した後は参照している変数が意図どおりかを必ず確認してください(複製元と同じ変数を参照したままです)。
本章で使う主なキーボード操作(まとめ)
| 操作 | キー(Windows。MacはCtrlをCmdに読み替え) |
|---|---|
| コピー/貼り付け | Ctrl+C / Ctrl+V |
| 複製 | Ctrl+D |
| 削除 | Delete |
| 元に戻す/やり直す | Ctrl+Z / Ctrl+Y |
| ノードの整列 | Ctrl+O |
| 表示の拡大/縮小 | Ctrl+「=」 / Ctrl+「−」 |
| ポインタモード/ハンドモード | V / H |
| 選択したノードの変数のつながりを強調表示 | ノード選択中にShiftを押している間 |
| テスト実行 | Alt+R(MacはOption+R) |
7-5. テスト実行とデバッグ
作った流れは、公開する前に必ずテスト実行で動きを確かめます。この節では、テスト実行の操作と、不具合の原因を探して直すこと(デバッグ)の基本を説明します。エラーの種類別の対処は第14章で説明します。
流れ全体をテスト実行する
前提:ノードの配置と接続ができていること。
- 編集画面の右上の「テスト実行」を押します(チャットフローの場合は「デバッグとプレビュー」でやりとりを試します。表示はバージョンにより異なります)。
- 入力が必要なアプリでは、入力欄に試したい値を入れて「実行開始」を押します。
- 実行が終わったら、結果と、各ノードが成功したかを確認します。
- エラーが出た場合は、エラーになったノードの「最後の実行」を開き、そのノードに入ってきた値(入力)と出した値(出力)を確認します。
完了状態:流れが最後まで実行され、期待する結果が返っている。エラーがある場合は、どのノードで止まったかが特定できている。

ノードを1つだけ実行する
流れ全体を毎回動かさなくても、ノードを1つだけ選んで実行できます。
前提:試したいノードがキャンバスに置かれ、そのノードの設定が入力されていること。
- 試したいノードをクリックして設定欄を開きます。
- そのノードへの入力にあたる値を画面の案内に沿って入力し、実行します。
- 結果(出力)を確認します。
完了状態:そのノードの出力が確認でき、出力が変数として画面下部の変数インスペクタに表示されている。
直したノードだけをすぐ試せるため、修正のたびに全体を動かす手間が省けます。利用者に答えを返す終わりのノード(回答・終了にあたるノード)は、単独では実行できません。
変数インスペクタで値を確かめる
ノードを実行すると、その出力変数が画面下部の変数インスペクタに表示されます。次のことができます。
- 値の確認:変数をクリックすると、中身の全体を確認できます。「思ったとおりの値が前のノードから渡っているか」をここで確かめます。
- 値の書き換え:多くの変数は、クリックして値を書き換えられます。書き換えた値を使って、そこから後ろのノードだけを実行し直せるため、前のノードを何度も動かさずに「この値が来たらどうなるか」を試せます。
- リセット:書き換えた値は、変数ごとに元へ戻すことも、全体をまとめて消すこともできます。
書き換えは試すためのもので、各ノードの「最後の実行」の記録は変わりません。
実行の記録を確かめる
テスト実行のたびに、実行の記録が残ります。
- 流れ全体の記録:実行ごとに、最終的な結果、元の入力、どのノードがどの順に動いて何秒かかったか(トレーシング)を確認できます。時間のかかっているノードを探すときにも使えます。
- ノードごとの記録:ノードの設定欄の「最後の実行」で、そのノードの直近の入力・出力・所要時間を確認できます。
公開した後に利用者が実際に使った記録は、編集画面ではなくログの画面で確認します(第9章)。
うまく動かないときの確認の順番
テスト実行でエラーが出たり、期待と違う結果が返ったりしたときは、次の順に確認します。
- どのノードで止まったか(エラー表示のあるノード)を特定する。
- そのノードの「最後の実行」で、入ってきた値がおかしいか、出した値がおかしいかを見分ける。
- 入ってきた値がおかしい場合は、前のノードの出力と、変数の参照(7-3)を確認する。線のつなぎ忘れ・ノード削除後の参照切れ(7-4)もここで見つかります。
- 出した値がおかしい場合は、そのノードの設定(第10章)を確認する。
- 直したら、そのノードだけ実行して確かめ、最後に流れ全体をテスト実行する。
この順番で切り分けると、「どこまでは正しく、どこからおかしいか」を短時間で特定できます。エラーメッセージ別の対処は第14章で説明します。
まとめ:ノードの配置と接続の流れ
- キャンバスに、処理の順にノードを1つずつ追加する(7-2)。
- 前のノードから後のノードへドラッグして線でつなぐ(7-3)。
- 後ろのノードの設定欄で、前のノードの変数を参照する(7-3)。
- ノードの設定を入力し、必要に応じて複製・削除で整える(7-4)。
- ノードを1つ追加するたびに実行して確かめ、最後に流れ全体をテスト実行する(7-5)。
編集画面の外側(アプリの管理画面)のAPIアクセス・ログなどの画面は、第9章「アプリの管理画面」(本マニュアル)で説明します。
出典一覧
本章の記述の根拠です(いずれも確認日:2026-08-14)。
| 内容 | 出典 |
|---|---|
| ワークフロー・チャットフローが共通のキャンバスとノードで組み立てること・ドラッグ操作での接続・流れの始まりと終わり(ユーザー入力/トリガー・出力は任意・回答は必須) | https://docs.dify.ai/en/cloud/use-dify/build/workflow-chatflow.md |
| ユーザー入力ノード(ユーザー入力・トリガー)と入力項目の定義・後続ノードからの参照 | https://docs.dify.ai/en/cloud/use-dify/nodes/start.md |
| ノードを処理の順に1つずつ追加する進め方・「テスト実行」「実行開始」「最後の実行」・公開の操作 | https://docs.dify.ai/ja-jp/guides/application-orchestrate/creating-an-application |
| 画面名「デバッグとプレビュー」(対話型アプリを画面上で試す機能) | https://docs.dify.ai/ja-jp/guides/knowledge-base/integrate-knowledge-within-application |
| キーボード操作(コピー・貼り付け・複製・削除・元に戻す・やり直す・整列・ズーム・ポインタ/ハンド/コメントモード・Shiftで変数のつながり強調・テスト実行 Alt+R) | https://docs.dify.ai/en/cloud/use-dify/build/shortcut-key.md |
| ノードの再利用(コピーして貼り付け)・直列と並列の実行 | https://docs.dify.ai/en/cloud/use-dify/build/orchestrate-node.md |
| 変数の種類(入力・システム変数・環境変数・会話変数)とシステム変数の一覧・変数の参照方法(一覧から選ぶ・「/」で候補表示) | https://docs.dify.ai/en/learn/key-concepts.md |
LLMノードのプロンプトでの {{変数名}} 参照・知識検索の結果をコンテキストに接続 |
https://docs.dify.ai/en/cloud/use-dify/nodes/llm.md |
| ノードを1つだけ実行する機能・回答/終了ノードが対象外であること・出力が変数として保存されること | https://docs.dify.ai/en/cloud/use-dify/debug/step-run.md |
| 変数インスペクタ(画面下部・値の確認・書き換え・後ろのノードだけ再実行・リセット・「最後の実行」の記録は変わらない) | https://docs.dify.ai/en/cloud/use-dify/debug/variable-inspect.md |
| 実行の記録(結果・詳細・トレーシング・ノードごとの「最後の実行」・公開後の利用はログで確認) | https://docs.dify.ai/en/cloud/use-dify/debug/history-and-logs.md |