チャットフローとワークフローの違い

Dify でアプリケーションを作成する際、主に選択肢となるのがチャットフローワークフローです。 これらは共に「ノードを繋いでロジックを組む」というビジュアルオーケストレーション機能を持ちますが、設計思想と対応するユースケースが明確に異なります。

主な違い

最大の違いは 「会話コンテキスト(記憶)を持つかどうか」 です。

1. チャットフロー

  • 定義: チャットアプリケーション向けのワークフロー。

  • 特徴:

    • 会話履歴(メモリ)の保持: ユーザーとの対話履歴をシステムが自動的に管理し、文脈を踏まえた回答が可能です。

    • チャットUI: ユーザー入力とAIの回答という対話形式のインターフェースが標準で提供されます。

    • ストリーミング: 回答を逐次生成して表示する体験(タイプライター効果)に最適化されています。

  • 用途: デジタルヒューマン、AIチャットボット、カスタマーサポート、対話型エージェント。

2. ワークフロー

  • 定義: 汎用的なプロセス自動化のためのワークフロー。

  • 特徴:

    • ステートレス(記憶なし): 基本的に1回のリクエストで処理が完結します。過去の実行結果を自動で記憶しません(必要な場合は外部DB等への保存・参照ロジックを自作する必要があります)。

    • 入出力重視: 変数を入力として受け取り、加工した結果を出力します。

    • バッチ処理: 一括実行やAPI経由でのバックエンド処理に向いています。

  • 用途: 記事生成ツール、翻訳API、データ分類・抽出、社内定型業務の自動化。

比較表

比較項目
チャットフロー
ワークフロー

デジタルヒューマンとの相性

最適 (文脈維持が必須のため)

不向き (文脈管理が困難)

UI

チャットウィンドウ (対話型)

フォーム入力 / API実行

記憶 (Memory)

あり (会話履歴を自動管理)

なし (1回ごとに独立)

開始トリガー

ユーザーのチャットメッセージ

変数入力 / スケジュール / APIコール

出力形式

メッセージ (ストリーミング推奨)

構造化データ / テキスト結果

複雑なロジック

可能 (会話中にツール使用などを挟む)

得意 (データ処理に集中)

選定ガイド:どちらを選ぶべきか?

Case A: デジタルヒューマン・接客ボットを作りたい

circle-info

チャットフローを選択してください。 ユーザーが「さっきの話だけど…」と言及したり、話題が行ったり来たりする場合、チャットフローが持つ標準のメモリ機能(会話履歴)が必須となります。ワークフローでこれを再現しようとすると、履歴管理のロジックを全て自作する必要があり非効率です。

Case B: 記事作成やデータ要約ツールを作りたい

circle-info

ワークフローを選択してください。 「テーマを入力したら、記事が出力される」「PDFを入れたら要約が返ってくる」といった、対話を必要としない「入力→処理→出力」の完結型タスクにはワークフローが最適です。

Case C: 複雑な処理もしたいが、チャットでも返したい

circle-info

チャットフローを選択してください。 チャットフロー内部でも、ワークフローと同様に強力なロジック(HTTPリクエスト、コード実行など)を組むことができます。「裏側で複雑な検索や計算を行いつつ、ユーザーにはチャットで自然に返す」場合はチャットフローが正解です。

補足

※本ドキュメントはDifyの標準的な仕様(v0.6系以降のConversational Workflow概念)に基づいています。バージョンアップにより名称やUIが微調整される可能性があります。

最終更新