> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dify-guide/chatflow/dify-docs-create-new-chatflow.md).

# チャットフローの新規作成

このドキュメントでは、LLMアプリ開発プラットフォーム「Dify」において、**チャットフロー**形式のアプリケーションを新規作成し、構築から公開まで行う標準的な手順を解説します。

{% hint style="warning" %}
Difyは頻繁にアップデートが行われるため、バージョンによってボタンの名称や配置が若干異なる場合があります。本ガイドでは、主要なUI構成に基づいた操作手順を記載しています。
{% endhint %}

## 1. アプリの新規作成

### 1.1 スタジオへのアクセス

![](/files/or1xGwQ75NH7gqhoHcEw)

1. Difyにログインし、画面上部のメニューから **「スタジオ」** を選択します。
2. アプリ一覧画面が表示されます。

### 1.2 アプリを新規作成

![](/files/K6evfNknpQ8w4dGykplv)

1. \*\*「最初から作成」\*\*ボタンをクリックします。
2. アプリタイプの選択画面が表示されます。
   * **アプリタイプを選択**: **チャットフロー**を選択します。
   * **アプリのアイコンと名前**: アプリ名を入力します（例: My First Chatflow）。アイコンは任意で設定します。
3. **「作成する」** をクリックします。

## 2. フローエディタの基本構成

![](/files/ttttPC0AQ4Fr9YQ3dOs4)

アプリを作成すると、フローエディタ（編集画面）が開きます。

* **キャンバス（中央）**: ノードを配置・接続する作業エリア。
* **ノード追加（左側＋ボタン/右クリック）**: 利用可能なノード一覧。
* **プロパティ設定（右側に展開）**: 選択したノードの詳細設定を行うパネル。

## 3. 基本的なフローの構築

チャットフローが動作するための最小構成は **「開始(Start) → LLM → 回答(Answer)」** です。

### 3.1 開始（Start）ノード

![](/files/CZvvaG6XVDQnhBJpg9fj)

チャットフローの入力を受け付ける最初のノードです。

**入力変数（Input Variables）**: ユーザーに入力させたい項目があればここで定義します（通常はチャットの会話文がシステム変数 `sys.query` として渡されるため、追加設定なしでも動作します）。

| 入力変数                  | 内容                           |
| --------------------- | ---------------------------- |
| `sys.query`           | ユーザーが入力したメッセージ（自動で入力される）     |
| `sys.files`           | アップロードされたファイル（ファイルアップロード有効時） |
| `sys.conversation_id` | 会話の識別ID                      |
| `sys.user_id`         | ユーザーID                       |

### 3.2 LLMノード

![](/files/aHRDV5S2Jpp0p7W8O2vT)

AIモデルによる文章生成を行う中核ノードです。

| 設定項目                              | 内容                                                   |
| --------------------------------- | ---------------------------------------------------- |
| <p><strong>AIモデル</strong><br></p> | 利用するモデル（GPT-4, Claude 3, Geminiなど）を選択します。            |
| **コンテキスト**                        | 直前のノードからの出力や、変数を参照させます。                              |
| **システムプロンプト**                     | AIの役割や制約条件を記述します。                                    |
| **メモリ**                           | 会話履歴（Chat History）を含める設定を有効にすることで、文脈を踏まえた会話が可能になります。 |

### 3.3 回答（Answer）ノード

ユーザー画面にテキストを表示するためのノードです。

* **回答内容**: LLMノードの出力結果（例: `{{#llm.text#}}`）変数を指定します。

{% hint style="warning" %}
設定されていないと、ユーザーにメッセージが表示されません。
{% endhint %}

## 4. ノードの追加と接続

フローを構築するには、ノードを追加して接続します。

1. 左側パネルからノードをキャンバスにドラッグ＆ドロップ、またはノードの「＋」ボタンをクリック
2. 前のノードの **出力ポート（右端の点）** をクリック＆ドラッグします。
3. 次のノードの **入力ポート（左端の点）** にドロップして接続します。
4. 各ノードをクリックして右側パネルで設定をおこないます。

## 5. テストとデバッグ

フローを作成したら、公開前に必ず動作確認を行います。

1. 画面右上の **「プレビュー（Preview）」** または **「デバッグ（Debug）」** ボタンをクリックします。
2. チャットウィンドウが開くので、メッセージを入力して送信します。
3. 各ノードが正常に実行され（緑色のチェックなどが付く）、応答が返ってくるか確認します。
4. エラーが出る場合は、必要に応じてフローを修正します。ノードの接続忘れや、フローに必須な変数の未設定を確認してください。

## 6. 公開（Publish）

テストで問題がなければアプリを本番環境として公開します。

1. 画面右上の **「公開する（Publish）」** → **「更新（Update）」** をクリックします。
2. **「アプリを実行（Run App）」** をクリックすると、実際のアプリ画面が開きます。
3. 外部サービスに組み込む場合は、左側メニューの **「APIアクセス」** からAPIキーやドキュメントを確認できます。

## 発展的な機能

基本フローに慣れたら、以下の機能でアプリを拡張できます。

* **ナレッジ検索（Knowledge Retrieval）**: RAG（検索拡張生成）を行い、独自のドキュメントに基づいた回答を生成させます。
* **条件分岐（If/Else）**: ユーザーの入力内容や変数の値によって処理を分岐させます。
* **HTTPリクエスト**: 外部APIを呼び出して、最新情報の取得や他ツールとの連携を行います。
* **変数アグリゲーター**: 複数の分岐から合流する際に変数を整理します。
