チャットフローとワークフローの違い
dify-docs-chatflow-vs-workflow
Dify でアプリケーションを作成する際、主に選択肢となるのがチャットフローとワークフローです。 これらは共に「ノードを繋いでロジックを組む」というビジュアルオーケストレーション機能を持ちますが、設計思想と対応するユースケースが明確に異なります。
主な違い
最大の違いは 「会話コンテキスト(記憶)を持つかどうか」 です。
1. チャットフロー
- 定義: チャットアプリケーション向けのワークフロー。
- 特徴:
- 会話履歴(メモリ)の保持: ユーザーとの対話履歴をシステムが自動的に管理し、文脈を踏まえた回答が可能です。
- チャットUI: ユーザー入力とAIの回答という対話形式のインターフェースが標準で提供されます。
- ストリーミング: 回答を逐次生成して表示する体験(タイプライター効果)に最適化されています。
- 用途: デジタルヒューマン、AIチャットボット、カスタマーサポート、対話型エージェント。
2. ワークフロー
- 定義: 汎用的なプロセス自動化のためのワークフロー。
- 特徴:
- ステートレス(記憶なし): 基本的に1回のリクエストで処理が完結します。過去の実行結果を自動で記憶しません(必要な場合は外部DB等への保存・参照ロジックを自作する必要があります)。
- 入出力重視: 変数を入力として受け取り、加工した結果を出力します。
- バッチ処理: 一括実行やAPI経由でのバックエンド処理に向いています。
- 用途: 記事生成ツール、翻訳API、データ分類・抽出、社内定型業務の自動化。
比較表
比較項目 | チャットフロー | ワークフロー |
デジタルヒューマンとの相性 | 最適 (文脈維持が必須のため) | 不向き (文脈管理が困難) |
UI | チャットウィンドウ (対話型) | フォーム入力 / API実行 |
記憶 (Memory) | あり (会話履歴を自動管理) | なし (1回ごとに独立) |
開始トリガー | ユーザーのチャットメッセージ | 変数入力 / スケジュール / APIコール |
出力形式 | メッセージ (ストリーミング推奨) | 構造化データ / テキスト結果 |
複雑なロジック | 可能 (会話中にツール使用などを挟む) | 得意 (データ処理に集中) |
選定ガイド:どちらを選ぶべきか?
Case A: デジタルヒューマン・接客ボットを作りたい
チャットフローを選択してください。 ユーザーが「さっきの話だけど…」と言及したり、話題が行ったり来たりする場合、チャットフローが持つ標準のメモリ機能(会話履歴)が必須となります。ワークフローでこれを再現しようとすると、履歴管理のロジックを全て自作する必要があり非効率です。
Case B: 記事作成やデータ要約ツールを作りたい
ワークフローを選択してください。 「テーマを入力したら、記事が出力される」「PDFを入れたら要約が返ってくる」といった、対話を必要としない「入力→処理→出力」の完結型タスクにはワークフローが最適です。
Case C: 複雑な処理もしたいが、チャットでも返したい
チャットフローを選択してください。 チャットフロー内部でも、ワークフローと同様に強力なロジック(HTTPリクエスト、コード実行など)を組むことができます。「裏側で複雑な検索や計算を行いつつ、ユーザーにはチャットで自然に返す」場合はチャットフローが正解です。
補足
※本ドキュメントはDifyの標準的な仕様(v0.6系以降のConversational Workflow概念)に基づいています。バージョンアップにより名称やUIが微調整される可能性があります。
お役に立ちましたか?
😞
😐
🤩
最終更新日 February 20, 2026