第14章 トラブルシューティング
この章では、Difyでアプリを作る・試す・公開して使う、それぞれの段階で起きるつまずきの確認と対処をまとめます。ここまでの各章で「エラーの対処は第14章」と案内した症状の受け皿になる章です。各項は「症状 → 原因 → 確認手順 → 対処」の形で書きます。
この章の使い方は次のとおりです。
- まず14-1冒頭の「エラー調査の基本手順」で、どの段階のつまずきかを特定します。
- そのうえで、14-1の段階別の表から症状を探します。動くが遅い場合は14-2、公開後の運用の疑問は14-3を見ます。
この章で扱わない内容は、次の場所で説明しています。
- 答えの内容が資料と合わない・根拠を拾えないなど、ナレッジ(保管庫)の登録・検索の設定は、第5章で説明しています。
- どのノードで止まったかを特定する切り分けの手順そのものは、第7章7-5「うまく動かないときの確認の順番」で説明しています。
- 各ノードの設定項目の意味は第10章、外部サービスとの接続は第11章で説明しています。
エラーの文言・画面の名称・配置は、バージョンや環境により本書の記載と異なることがあります(序章「本書の確認環境」参照)。本章に書くエラーの文言は要旨であり、画面にこのとおり表示されるとは限りません。
14-1. よくあるエラーと対処
エラー調査の基本手順(どの段階で起きたか → どこを見るか)
エラーが出たら、やみくもに設定を変える前に、次の2つを特定します。
- どの段階で起きたか:ノードを組んでいる最中(作成時)か、テスト実行・デバッグとプレビューで試したとき(テスト実行時)か、公開したあと(公開後)か。
- どこを見るか:段階ごとに、確認する場所が決まっています。
| 段階 | 起きることの例 | 見る場所 | 本章の項 |
|---|---|---|---|
| 作成時(ノードを組んでいる最中) | 線がつながらない、変数が候補に出ない、モデルが選べない | 編集画面(オーケストレーション。第9章9-2)のノードの設定欄 | 「作成時のつまずき」 |
| テスト実行時 | ノードにエラーが表示される、途中で止まる | エラーになったノードの「最後の実行」で入力と出力を確認(第7章7-5) | 「テスト実行時のエラー」 |
| 公開後 | 直したのに反映されない、利用者が使えない、API呼び出しがエラーを返す | ログの画面(第9章9-4)と、呼び出し側に返ったエラーの内容 | 「公開後のエラー」 |
あわせて、エラーの文言(またはその要旨)を控えておきます。文言はバージョンにより変わるため、本章の表では「〜という趣旨」で探してください。
テスト実行時に「どのノードで止まったか → 入ってきた値と出した値のどちらがおかしいか」をさかのぼる手順は、第7章7-5のとおりです。本章は、その先の「エラーの種類別に何を直すか」を扱います。
作成時のつまずき
ノードを組んでいる最中のつまずきです。多くは操作か設定の確認で解決します。
| 症状 | 主な原因 | 確認手順 | 対処 |
|---|---|---|---|
| ノードとノードの線がつながらない | 線を引く操作が第7章7-3の操作と違っている(引く場所・向き)ことが多い(一般的な確認事項) | 先に動くノードの端から、後に動くノードへドラッグしているかを確認する | 第7章7-3の操作どおりに、前から後ろへ引き直す |
| ノードの設定欄で、前のノードの変数が候補に出ない | そのノードまで線がつながっていない。または参照したいノードが流れの後ろにある | Shiftキーで変数のつながりを強調表示し、線と順序を確認する(第7章7-3) | 線をつないでから変数を選び直す |
| LLMノードでモデルの一覧に何も出ない・選べない | お使いの環境にAIモデルの接続(認証情報)が設定されていない | モデル選択の一覧が空かどうかを確認する | ワークスペースの管理者に、モデルの設定を依頼する(モデルの追加はプラグインで行う。第11章11-2) |
| アプリの作成・編集のボタンが画面に出ない | 自分の役割(ロール)に編集の権限がない。アプリとナレッジの作成・編集ができるのはエディター以上で、通常メンバーは公開済みアプリの利用のみ | 管理者に自分の役割を確認する | 編集が必要な場合は、役割の変更を管理者に依頼する |
| プラグインを導入する操作が表示されない | ワークスペースの設定で、導入できる人が制限されている(第11章11-2) | 管理者に導入権限の設定を確認する | 管理者に導入を依頼する |
| DSLファイルの取り込みでエラーが出る | ファイルの中身・バージョン・依頼文の問題 | 第12章12-3の表で切り分ける | 第12章12-3の対処を行う(繰り返す場合は次の項) |
同じインポートエラーが繰り返し出るとき(第12章12-3からの続き)は、次の順で切り分けます(一般的な確認手順です)。
- 第12章12-3の表の対処(ファイルの先頭・末尾の確認、生成AIへの修正依頼)を一巡します。
- それでも取り込めない場合、第12章12-2の依頼文の例のような小さな構成のDSLファイルを別に作り、取り込めるかを試します。
- 小さなファイルが取り込める場合は、元のファイル固有の問題です。修正依頼を繰り返すより、依頼文を見直してDSLファイルを作り直します(第12章12-4の目安のとおり)。
- 小さなファイルも取り込めない場合は、環境・バージョン側の問題の可能性があります。情報担当部署に相談するか、公式ドキュメントの最新の記載を確認します。
テスト実行時のエラー
第7章7-5の手順でエラーになったノードを特定したら、エラーの原因を「設定の誤り(自分で直せる)」と「外部サービス・環境側(時間を置く、または確認先に連絡する)」に分けて確認します。公式ドキュメントには、ノードの種類ごとに起きるエラーの種類の一覧があり、本項の表はその代表例です。

設定の誤りが原因のエラー(自分で直せるもの)
| 症状(エラーの要旨) | 主な原因 | 確認手順 | 対処 |
|---|---|---|---|
| 変数が見つからない(LLMノード) | 指示文が、存在しない変数を参照している。ノードを削除したあとの参照切れが典型 | 指示文の中の変数と、前のノードの出力を突き合わせる(第7章7-3・7-4) | 変数を選び直す |
| 指示文(プロンプト)が空 | LLMノードに指示文を書いていない | LLMノードの設定欄を開く | 指示文を書く |
| モデルが選ばれていない | LLMノードでモデル未選択 | モデル選択の欄を確認する | モデルを選ぶ |
| モデルの認証情報がない | 選んだモデルに、環境側の接続設定(認証情報)がない | 他のモデルなら動くかを試す | 管理者にモデルの設定を依頼する |
| 認証の設定が正しくない(HTTPリクエスト) | APIキーや認証形式の設定漏れ・誤り | 認証の形式とキーの値を、呼び出し先の仕様と突き合わせる(第11章11-3) | 設定を直す |
| URLが正しくない(HTTPリクエスト) | URLの誤記。変数を差し込んでいる場合は、変数の中身が想定と違う | 「最後の実行」で、実際に送られたURLを確認する | URLまたは差し込む変数を直す |
| 応答が大きすぎる(HTTPリクエスト) | 呼び出し先の応答が上限(10MB)を超えた | 呼び出し先の応答の大きさを確認する | 呼び出しの条件で応答を絞る |
| ツールに渡した項目が合っていない | ツールの設定項目と、渡している変数の内容・型が不一致 | ツールノードの設定を確認する(第11章11-1) | 設定または前のノードの出力を直す |
| ツールが見つからない・使えない | ツール(プラグイン)が未導入、または認証情報が未設定 | 導入済みプラグインと認証情報を確認する(第11章11-2) | 導入・認証を行う |
| プログラムの実行エラー・出力の型の不一致(コード実行ノード) | 書いたプログラムの誤り、または戻り値の型が出力変数の型と合っていない | 「最後の実行」で入力とエラー内容を確認する | プログラムと出力変数の定義を直す(第10章10-4) |
外部サービス・環境側が原因のエラー
| 症状(エラーの要旨) | 主な原因 | 確認手順 | 対処 |
|---|---|---|---|
| 接続に失敗した | 呼び出し先までネットワークがつながらない。庁内ネットワークから外部に接続できない環境が典型 | 同じ環境から呼び出し先に接続できるかを情報担当部署に確認する(第11章冒頭) | 接続できる環境・経路を情報担当部署と調整する |
| 呼び出し先のサービスが一時的に利用できない | 外部サービス側の停止・混雑 | 時間を置いて再実行する | 続く場合は、そのサービスの提供元の稼働情報を確認する |
| 呼び出しが多すぎる(回数制限) | 短時間に呼び出しすぎて、モデル・サービス側の回数制限にかかった | 時間を置いて再実行する | 繰り返し起きる場合は、実行の頻度・繰り返しの件数を見直す |
| 利用の割当量を超えた | モデル・サービスの契約上の利用枠を使い切った | 契約・プランの利用状況を管理者に確認する | 枠の追加・プランの見直しを所属で判断する |
| 応答が返らないまま時間切れになる | 呼び出し先の応答が遅く、待ち時間の上限(タイムアウト)を超えた | 「最後の実行」の所要時間と、呼び出し先の状態を確認する | タイムアウトの設定値を見直す(HTTPリクエストの設定は第11章11-3)。呼び出し先側が遅い場合は提供元に確認する |
エラーで流れ全体を止めない設定(エラー処理)
LLM・HTTPリクエスト・コード・ツールの4種類のノードでは、失敗したときの動きを エラー処理(失敗時にどう続けるかをノードに決めておく設定)で選べます。第11章11-3で触れた「失敗したら別の流れに進める」設定がこれです。
| 選択肢 | 失敗したときの動き | 使いどころ |
|---|---|---|
| なし(既定) | そこで流れ全体が止まり、エラーが表示される | 作成・テスト中。止まらないと困る重要な処理 |
| デフォルト値 | あらかじめ決めた値を出力して、流れを続ける | 一時的な失敗でも、利用者に案内文を返したいとき |
| 失敗分岐 | 失敗したときだけの別の流れに進む | 担当者への通知、代わりの処理、失敗の記録 |
- 失敗分岐の先では、エラーの種類と内容が入った変数(error_type・error_message)を使えます。通知文への差し込みや、記録に使えます。
- イテレーションの繰り返し中のエラーは、「終了」「エラー時継続」「失敗結果を除去」の3つから選びます(第10章10-3)。
- 失敗時の再試行を使う場合は、回数の上限と間隔を必ず設定します(第11章11-3のとおり)。
エラー処理は「止めない」ための設定であり、原因が直るわけではありません。失敗分岐に流れた記録をログ(第9章9-4)で確認し、原因側も直してください。
公開後のエラー
| 症状 | 主な原因 | 確認手順 | 対処 |
|---|---|---|---|
| 編集したのに、公開中のアプリが変わらない | 編集内容は、公開の操作をするまで公開中のアプリに反映されない(第9章9-2)。公開すると現在の設定で置き換わる | 編集画面で公開の操作を行ったかを確認する | 公開(更新の公開)を実行する。利用者側では画面を開き直してもらう(一般的な確認事項) |
| WebアプリのURLを開けない・相手が使えない | URLの共有誤り。またはWebアプリのアクセス制限(誰が使えるか・ログインが必要か)の設定 | 公開の画面でURLとアクセスの設定を確認する(第2章2-7・第9章) | 正しいURLを共有し直す。アクセスの設定を利用者の範囲に合わせる |
| スケジュールトリガーが時刻になっても動かない | 未公開・無効化など(14-3のQ2で説明) | 14-3のQ2の順で確認する | 同左 |
| API呼び出しがエラーを返す | 次の表のとおり、ステータスコード(処理結果を表す3桁の番号。第11章11-3)で切り分ける | 呼び出し側に返ったエラーの内容を確認する | 次の表のとおり |
APIのエラーは、応答に「コード・メッセージ・状態」の3項目が含まれて返ります。ステータスコード別の意味と対処は次のとおりです。
| ステータスコード | 意味 | 確認・対処 |
|---|---|---|
| 400 | 呼び出しの内容またはアプリの設定が正しくない。アプリ側のモデルの認証情報が未設定の場合もここに含まれる | 呼び出しの項目を仕様と突き合わせる。モデル設定のエラーの場合は、アプリ側でモデルの設定を確認する |
| 401 | 認証に失敗(APIキーがない・値が違う) | キーの値と、ヘッダーの書き方(Authorization: Bearer)を確認する(第11章11-4) |
| 403 | アクセスが許可されていない(権限・プランの制限) | アプリの公開設定と契約内容を確認する |
| 404 | 呼び出し先が存在しない | 呼び出し先のURLを確認する。呼び出し先はアプリの種類ごとに異なるため、そのアプリのAPIアクセスの画面(第9章9-3)と公式リファレンスで確認する |
| 429 | 呼び出しが多すぎる | 時間を置いて再試行する。再試行には必ず上限を設ける(第11章11-3) |
| 500番台 | Dify側の内部エラー | 時間を置いて再試行する。続く場合は提供元の稼働情報を確認する |
設定の誤り(400・401・404)は、再試行しても直りません。呼び出し側の設定を直してから試します。
14-2. 動きが遅いときの見直しどころ
「遅い」もエラーと同じ進め方で、まず「どこで時間がかかっているか」を特定し、その場所だけを見直します。当てずっぽうに設定を変えないでください。なお、本書は「この設定にすれば速くなる」という一律の値は書きません。効果は処理の内容と環境によるため、変更は1つずつ行い、変更の前後で所要時間を比べて確かめます。
確認の順番
- テスト実行のトレーシングで、ノードごとの所要時間を見ます(第7章7-5)。どのノードがどの順に動いて何秒かかったかが表示されるため、一番時間のかかっているノードを特定できます。
- 公開後は、ログで応答時間と処理の過程を見ます(第9章9-4)。特定の使われ方だけ遅いのか、全体が遅いのかもここで分かります。
- 特定したノードに応じて、次の表の順に見直します。
ノード別の見直しどころ
| 時間がかかっているノード | よくある事情 | 見直しどころ |
|---|---|---|
| LLM | 生成する文章が長いほど時間がかかる。所要時間はモデルによっても変わる(一般的な確認事項) | 指示文で、答えの長さ・項目を必要な範囲に指定する。お使いの環境で選べる別のモデルに変えて、トレーシングの所要時間で前後を比べる |
| HTTPリクエスト | 呼び出し先の応答が遅い。または失敗と再試行を繰り返しており、再試行の分だけ待っている | 「最後の実行」で失敗の有無と所要時間を確認する。再試行の回数・間隔とタイムアウトの設定を見直す(第11章11-3)。呼び出し先側が遅い場合はDifyでは直せないため、提供元に確認する |
| イテレーション | 件数の分だけ繰り返すため、件数に比例して時間がかかる | 処理モードを並列(複数件を同時。最大10件)にできるかを検討する(第10章10-3) |
| エージェント | AIが判断と実行を繰り返すため、所要時間が読みにくい | 手順が決まっている処理なら、通常のノードのつなぎで組み直す(第10章10-5の使い分けのとおり)。最大反復回数の設定も確認する |
| 知識検索 | ナレッジ側の検索設定による | 第5章5-2の検索の設定と、5-4の考え方を参照する |
処理は同じでも、待たされ感を減らす
処理そのものの時間は変わりませんが、結果の見え方を変えることで、利用者が待たされていると感じる時間を減らせます。
- API連携では、応答の返り方をストリーミング(途中経過を少しずつ返す方式)にできます(第11章11-4)。
- チャットフローでは、回答ノードを流れの途中に複数置くと、できたものから順次表示されます(第10章10-2)。
14-3. 運用でつまずきやすい点のQ&A
公開したあと、日々使う中でよく出る疑問です。
Q1. 公開したあとに直したのに、利用者の画面が変わらない
14-1「公開後のエラー」の1つ目のとおりです。編集は、公開の操作をするまで公開中のアプリに反映されません。直したら「編集 → テスト実行で確認 → 公開」までを1セットで行う運用にしてください。
Q2. スケジュールトリガーを設定したのに、時刻になっても動かない
- 症状:時刻・間隔を設定したのに、ワークフローが自動で実行されない。
- 原因:設定の誤りのほか、「公開していない(編集内容は公開の操作をするまで反映されません。14-1)」「トリガーが無効になっている(無効のトリガーはワークフローを実行しません)」が典型です。
- 確認手順:
- アプリの種類がワークフローであること、スケジュールトリガーが1つだけで、時刻・間隔が正しいことを確認します(第2章2-8)。
- アプリを公開済みであることを確認します。
- トリガーが有効になっていることを確認します。
- 実際に実行されたかどうかを、ログの一覧(第9章9-4。「トリガー方法」の列でどこから実行されたかが分かります)で確認します。
- 置けるトリガーの数や月あたりの実行回数は契約プランにより異なるため、上限に達していないかを管理者に確認します。
- 対処:未公開なら公開し、無効なら有効にします。上限の問題なら、実行の頻度か契約を見直します。
Q3. どれくらい使われているかを知りたい
利用件数・利用者数・トークン使用量の集計はモニタリング、1件ずつの中身はログで確認します(第9章9-4・9-5)。
Q4. 複数人で同じアプリを編集してよいか
- 編集できるのは、役割がエディター以上のメンバーです。通常メンバーは公開済みアプリの利用のみできます。
- 公式ドキュメントでは、複数人での同時編集と、キャンバス上のコメント機能が説明されています。同じ箇所を同時に変えた場合は、最後の編集が反映されるとされています。使える機能の範囲は環境・バージョンにより異なります。
- 上書きし合う事故を防ぐため、同じアプリを同時に直さない(直す担当と時間を決めて声をかけ合う)運用をおすすめします(一般的な確認事項)。大きく変える前には、次のQ5の控えを取ってください。
Q5. 誤って壊した・消したとき、元に戻せるか
- 編集の直後なら、元に戻す(Ctrl+Z)で戻せます(第7章7-4)。
- それ以外は、事前にエクスポートしたDSLファイルの控えがあれば、取り込んで変更前の構成に戻せます(第12章12-5)。公開は現在の設定での置き換えのため、公開の前と、大きく変える前にエクスポートしておく習慣が有効です。
Q6. 入力したデータや記録は、どこに残るか・いつまで残るか
- 利用者が入力した文とアプリの答えは、ログにそのまま残ります(第9章9-4)。閲覧・共有は所属の個人情報の取り扱いルールに従ってください。
- クラウド版では、アプリと記録はDifyの提供元が運用するサーバー(庁外)に保存されます。セルフホスト版では、自組織で用意したサーバーに保存されます。
- 保存される場所の地域や保存期間の定めは、本書の確認日時点の公式ドキュメントでは確認できませんでした。契約・利用規約の確認が必要な場合は、情報担当部署を通じて提供元に確認してください。
- どのデータを入れてよいかは、お使いの環境のルールに従ってください(序章0-5)。個人情報や外部に出せないデータを質問・入力に書かない運用が基本です。
まとめ:つまずいたときの見方
- どの段階で起きたかを特定する(作成時/テスト実行時/公開後)。
- 段階ごとの見る場所を開く(ノードの設定欄/「最後の実行」/ログ)。
- 本章の表で症状を探し、対処する。設定の誤りは直し、外部・環境側は時間を置くか確認先に連絡する。
- 遅いときは、トレーシングで場所を特定してから1つずつ見直す(14-2)。
- 本章で直らない場合は、章末の出典にある公式ドキュメントの最新の記載を確認するか、情報担当部署に相談する。
出典一覧
本章の記述の根拠です(いずれも確認日:2026-08-14)。
| 内容 | 出典 |
|---|---|
| ノードの種類ごとのエラーの一覧(LLM:変数が見つからない・プロンプトが空・モデル未選択・認証情報なし/HTTPリクエスト:認証設定・URL不正・応答10MB上限/ツール:パラメータ不一致・未導入/コード:実行エラー・出力の型不一致)とシステムレベルのエラー(接続失敗・一時停止・回数制限・割当量超過) | https://docs.dify.ai/en/cloud/use-dify/debug/error-type.md |
| エラー処理(対象はLLM・HTTP・コード・ツールの4ノード。「なし/デフォルト値/失敗分岐」の3択、error_type・error_message変数、イテレーションの3方式) | https://docs.dify.ai/en/cloud/use-dify/build/predefined-error-handling-logic.md |
| APIのエラー(応答はコード・メッセージ・状態の3項目。400=リクエストまたはアプリ設定が無効〔モデル認証情報未設定を含む〕・401=APIキー欠落または無効・403=アクセスやプランの制限・404=リソース不在・429=呼び出し過多・500=Dify側エラー。設定の誤りは再試行しても直らない) | https://docs.dify.ai/en/api-reference/guides/errors.md |
| 公開の操作(「公開」で最新の内容が有効になる・公開すると現在の設定で置き換わる・Webアプリのアクセス制御・レート制限の設定) | https://docs.dify.ai/en/cloud/use-dify/publish/README.md |
| メンバーの役割(オーナー・管理者・エディター・通常メンバーの4区分。アプリとナレッジの作成・編集・削除はエディター以上、通常メンバーは公開済みアプリの利用のみ) | https://docs.dify.ai/en/cloud/use-dify/workspace/team-members-management.md |
| 複数人での同時編集(エディター以上が同時編集可・同じ箇所は最後の編集が反映・キャンバスのコメント機能) | https://docs.dify.ai/en/self-host/use-dify/build/workflow-collaboration.md |
| トリガー(無効のトリガーはワークフローを実行しない・公開済みトリガーの一覧表示・置ける数と月あたりの実行回数は契約プランによる) | https://docs.dify.ai/en/cloud/use-dify/nodes/trigger/overview.md |
| 実行の記録(トレーシングでノードの実行順・所要時間・データの流れが見える・「最後の実行」で入力・出力・所要時間・公開後はログの画面で確認) | https://docs.dify.ai/en/cloud/use-dify/debug/history-and-logs.md |
前の章:第13章 チュートリアル