メインコンテンツへスキップ
⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。

Difyアプリ

Difyはエージェンティックアプリの構築のために作られています。Studioでは、ドラッグ&ドロップインターフェースを使ってエージェンティックワークフローを素早く構築し、アプリとして公開できます。公開されたアプリには、API、Web、またはMCPサーバーとしてアクセスできます。Difyは2つの主要なアプリタイプを提供しています:ワークフローとチャットフローです。新しいアプリを作成する際には、アプリタイプを選択する必要があります。
ワークフローまたはチャットフローをアプリタイプとして選択することをお勧めします。しかし、これらに加えて、Difyはさらに3つの基本的なアプリタイプも提供しています:チャットボット、エージェント、テキストジェネレーターです。22087830d0a6478d42d0c60e6eb88d19bca27be3c645f2bb0968d51330b7da72.pngこれらのアプリタイプは、底層では同じワークフローエンジン上で動作しますが、よりシンプルなレガシーインターフェースが付属しています:chatbot-interface.png

ワークフロー

単一ターンのタスクを処理するワークフローアプリを構築します。WebアプリインターフェースとAPIにより、多くのタスクを一度にバッチ実行することが簡単にできます。
根本的に、ワークフローはDifyの他のすべてのアプリタイプの基盤を形成します。
ワークフローをどのように、いつ開始するかを指定できます。2 種類の開始ノードがあります:
  • ユーザー入力:直接的なユーザー操作または API 呼び出しによってアプリを起動します。
  • トリガー:アプリケーションがスケジュールに従って自動的に実行されるか、特定のサードパーティイベントに応答します。
ユーザー入力とトリガー開始ノードは相互に排他的です—同じキャンバスで両方を使用することはできません。切り替えるには、現在の開始ノードを右クリック > ノードの変更 を選択します。または、現在の開始ノードを削除して新しいノードを追加します。
ユーザー入力によって開始されたワークフローのみが、スタンドアロンの Web アプリまたは MCP サーバーとして公開したり、バックエンドサービス API を介して公開したり、他の Dify アプリケーションでツールとして使用したりできます。

チャットフロー

チャットフローは、会話のターンごとにトリガーされる特別なタイプのワークフローアプリです。ワークフロー機能に加えて、チャットフローには、会話固有のカスタム変数を保存・更新する機能、大規模言語モデルノードでメモリを有効にする機能、チャットフロー実行中のさまざまなポイントでフォーマットされたテキスト、画像、ファイルをストリーミングする機能があります。 ワークフローとは異なり、チャットフローはトリガーを使用して開始することはできません。

Dify ドメイン固有言語

すべてのDifyアプリは、Dify独自のドメイン固有言語でYAMLファイルとしてエクスポートでき、これらのドメイン固有言語ファイルから直接Difyアプリを作成することもできます。これにより、アプリを他のDifyインスタンスに移植したり、他の人と共有したりすることが簡単になります。

変数

変数は、情報を保存する後でその名前を参照することで、その情報を見つけて使用できます。Difyアプリを構築する際には、さまざまなタイプの変数に遭遇します: 入力: アプリのエンドユーザーが記入するために、ユーザー入力ノードで任意の数の入力変数を指定できます。 CleanShot 2025-08-04 at 14.34.04@2x.png さらに、ユーザー入力ノードには、フロー内で後から参照できる一連の入力変数が用意されています。アプリタイプ(ワークフローまたはチャットフロー)に応じて、提供される変数が異なります。
  • ワークフロー
  • チャットフロー
変数名
データ型
説明注記
sys.user_idStringユーザー ID:ユーザーがワークフローアプリケーションを使用するときに、システムが各ユーザーに自動的に割り当てる一意の識別子。異なるユーザーを区別するために使用されます。
sys.app_idStringアプリ ID:システムが各アプリに自動的に割り当てる一意の識別子。このパラメータは、現在のアプリケーションの基本情報を記録するために使用されます。このパラメータは、開発能力を持つユーザーが個別のワークフローアプリケーションを区別・特定するために使用されます。
sys.workflow_idStringワークフロー ID:このパラメータは、現在のワークフローアプリケーション内のすべてのノード情報を記録します。このパラメータは、開発能力を持つユーザーがワークフロー内に含まれるノードの情報を追跡・記録するために使用できます。
sys.workflow_run_idStringワークフロー実行 ID:ワークフローアプリケーションの実行時状態と実行ログを記録するために使用されます。このパラメータは、開発能力を持つユーザーがアプリケーションの履歴実行記録を追跡するために使用できます。
sys.timestampString各ワークフロー実行の開始時刻。
ユーザー入力は各ワークフロー実行の開始時に設定され、更新することはできません。 出力: 各ノードは、後続のノードで参照できる 1 つ以上の出力を生成します。例えば、大規模言語モデルノードには以下の出力があります: CleanShot 2025-08-04 at 14.28.57@2x.png 入力と同様に、ノード出力も更新することはできません。 環境変数: 環境変数を使用して、アプリ固有のAPIキーなどの機密情報を保存します。これにより、シークレットとDifyアプリ自体を明確に分離でき、アプリのドメイン固有言語を共有する際にパスワードやキーが漏洩するリスクを回避できます。環境変数も定数であり、更新することはできません。 会話変数(チャットフローのみ): これらの変数は会話固有です。つまり、単一の会話内でのマルチターンチャットフロー実行を通じて持続するため、ToDoリストやトークンコストなどの動的な情報を保存・アクセスできます。変数アサイナーノードを使用して会話変数の値を更新できます: 2935cb58851e5c5407a08dde49f7d9738bb13aa0e64df24278e2104b316f6af6.png

変数参照

入力フィールドを設定する際に、ドロップダウンから選択することで、任意のノードに変数を簡単に渡すことができます: CleanShot 2025-08-04 at 15.13.33@2x.png また、/スラッシュを入力し的の変数を選択することで、複雑なテキスト入力に変数値を挿入することもできます。 image.png