開始ノードの設定

dify-docs-configure-start-node

開始ノード(Start Node)は、チャットフロー実行の起点となるノードです。ユーザーからのメッセージ入力、ファイルアップロード、および会話開始時に必要な初期変数を受け取り、後続ノードに渡す役割を担います。

開始ノードの主な機能

Notion image

開始ノードでは以下の設定やデータ取得が行われます。

  1. ユーザー入力の取得: ユーザーが送信したテキストメッセージを受け取ります。
  1. 入力フィールド(変数の定義): 会話開始時にユーザーから収集する情報(名前、カテゴリ、言語など)を定義します。
  1. ファイルアップロード設定: ユーザーによる画像やドキュメントの送信許可設定を行います。

設定画面の開き方

開始ノードの設定を行うには、以下の手順で設定パネルを開きます。

  1. ワークフローエディタを開きます
  1. キャンバス上の「開始」と表示されたノードをクリックします
  1. 右側に設定パネルが表示されます

システム変数

Difyが標準で提供し、開始ノードから自動的に出力される変数です。これらはフロー内のあらゆるノードで参照可能です。

変数名
説明
sys.query
String
ユーザーが入力したメッセージ本文。最も頻繁に使用されます。
sys.files
Array[File]
ユーザーがアップロードしたファイル情報の配列。ファイルアップロード機能を有効にした場合に使用します。
sys.conversation_id
String
会話セッションの一意なID。ログ追跡などに利用します。
sys.user_id
String
ユーザーの一意なID。ユーザーごとの処理を行う場合に使用します。
sys.dialogue_count
Number
現在の会話における往復回数(ターン数)。会話の長さに応じた処理に利用できます。

入力フィールド(カスタム変数)の設定

開始ノード内に独自の「入力フィールド」を追加することで、会話のコンテキストに必要な情報を定義できます。これらは会話変数として機能します。

用途例 language(回答言語の指定)、topic(興味のあるトピック)、user_name(ユーザー名)

フィールドの追加手順

Notion image
  1. 開始ノードの設定パネルを開きます
  1. 「入力フィールド」セクションの「+」ボタンをクリックします
  1. 表示されるダイアログで以下を設定します:
    1. 設定項目

      • フィールドタイプ: 入力データの種類を選択
      • 変数名: ワークフロー内部で参照するための変数名(例: topic
      • ラベル名: ユーザーに表示される項目名
      • 最大長: 入力可能な文字数の上限(テキストフィールドの場合)
      • 必須: 入力を必須にするかどうか
  1. 「保存」をクリックしてフィールドを追加します

フィールドタイプ一覧

Notion image
  • 短文(String): 1行の短いテキスト入力(例: 名前、キーワード)
  • 段落(String): 複数行の長いテキスト入力(例: 説明文、詳細)
  • 選択(String): 事前に定義した選択肢から選ぶドロップダウン(例: カテゴリ選択)
  • 数値(Number): 数値のみを受け付ける入力フィールド(例: 年齢、数量)
  • チェックボックス(Boolean): オン/オフの選択(例: 同意チェック、オプションの有効化)
  • 単一ファイル(File): 1つのファイルのアップロード
  • ファイルリスト(Array[File]): 複数ファイルのアップロード

ファイルアップロードの設定

マルチモーダルな対話を行う場合、開始ノードでファイルアップロードを有効化します。

  1. 開始ノードを選択します。
  1. 「ファイルアップロード」機能をオンにします。
  1. 許可するファイル形式(画像、ドキュメントなど)を選択します。 アップロードされたファイルは sys.files 変数に格納され、「ドキュメント抽出ノード」や「LLMノード(Vision対応モデル)」で利用できます。

変数の参照方法

後続のノード(LLM、条件分岐、HTTPリクエストなど)で、開始ノードの値を参照するには以下の手順を行います。

  1. プロンプト/設定欄での参照:
      • 入力欄で {(波括弧)を入力すると変数リストが表示されます。
      • リストから sys.query や設定したカスタム変数(例: topic)を選択します。
  1. 表記形式:
      • Dify上では {{#sys.query#}} のようなブロックとして表示されます。

次のステップ

開始ノードの設定完了後は、フローのロジックに合わせて以下のノードを接続します。

  • LLMノード: sys.query を入力として受け取り、AIによる回答を生成する。
  • ナレッジ検索ノード: ユーザーの質問に関連する情報をナレッジベースから検索する。
  • 質問分類ノード: ユーザーの意図に応じて処理を分岐させる。
お役に立ちましたか?
😞
😐
🤩

最終更新日 February 20, 2026