Difyでワークフローを作ろうとすると、最初に登場するのが「開始ノード(ブロック)」。
でも「これは何を設定するもの?」「どう使えばいいの?」と戸惑う人も多いはず。
本記事では、開始ブロックの役割と使い方について初心者向けにわかりやすく解説します。
Difyの開始ノードとは?

Difyを使ってワークフローを設計する際、最初に必ず配置されるのが「開始ノード」です。
開始ブロックはその名の通り、ワークフローの入口となる存在であり、ユーザーからの入力や外部からのリクエストを受け取る役割を担っています。
この開始ノードを正しく理解することで、Dify全体の仕組みがぐっとわかりやすくなります。
開始ノードは出発点
開始ノードは、ワークフローをスタートさせるための「出発点」です。
すべての処理はこのノードから始まり、外部からの入力データを受け取る唯一のノードです。
次に接続される各ノードへと情報が流れていきます。そのため、開始ブロックはワークフローの起点として必須の存在であり、複数配置することはできません。
役割はフロー全体にデータを渡すこと
開始ノードの役割を一言でまとめると「外部からのリクエストを受け取り、フロー全体にデータを渡すこと」です。
ユーザーの入力テキストや、APIからのパラメータなどを取り込み、それを後続の処理に回すことで、Difyのワークフローが機能します。
変数とは?基本を理解しよう

先ほど、Difyの開始ノードの役割として「データを渡すこと」を解説しましたが、Difyでは「変数」を使ってデータを受け渡していきます。
プログラミングの経験がない方にとって、あまり馴染みのないワードですので「変数」についてわかりやすく解説します。
変数は「入れ物」のようなもの
変数とは、データや値を一時的に保存するための「入れ物」のような存在です。
例えば「名前」や「年齢」といった情報を変数に入れておくことで、プログラムがその情報を必要なときに取り出して使えます。
変数の役割を「メールの定型文」で理解
変数の役割をメールの定型文を使ってわかりやすく解説します。
通常、メールを書くときは冒頭や締めの文が毎回ほぼ同じになります。
たとえばこんな定型文:
〇〇株式会社
△△様
いつもお世話になっております。□□株式会社の××です。
これを毎回手入力するのは大変ですよね。ここで「変数」を使うと便利になります。
例えば、以下のように定型文に変数を入れておきます。
{{company}}株式会社
{{name}}様
いつもお世話になっております。□□株式会社の{{my_name}}です。
入力フォームでユーザーに情報を入力してもらい、変数に値を代入します。
company = "ABC"
name = "田中"
my_name = "山田"
そして、変数に保存した値を呼び出すと、実際のメール文がこうなります:
ABC株式会社
田中様
いつもお世話になっております。□□株式会社の山田です。
このように、変数を使えば、毎回同じメールを書き直す必要がなくなり、効率的に文章を自動生成できます。
Difyの開始ノードで変数を定義する方法

ここでは、Difyの開始ノードで変数を追加(定義)する方法を紹介します。
開始ノードを選択して、入力フィールドの追加ボタン(+)をクリックします。

変数を定義する、入力フィールドが表示されるので情報を埋めて「保存」をクリックします。
今回は変数名を「name」とした、名前用の変数を定義します。

変数を作成すると、次の画像の赤丸部分に表示されます。

Difyの回答ノードで変数の値を出力してみる

開始ノードで定義した変数を、せっかくなので回答ノードで出力してみましょう。
回答ノードを選択し、応答の入力フォームで「スラッシュ(/)」を入力すると、定義されてある変数が一覧されます。
先ほど作成した「name」変数を選択します。

すると次のように表示され、ユーザーがname変数に入力した情報が回答で表示されるようになります。

実際に、プレビューで試してみましょう。
「名前(name)」に名前を入力して、とりあえず「スタート」と入力して送信します。

すると、変数に入力した情報が保存され、次のように出力されるはずです。
