ガイド

Difyのエージェントノード完全ガイド:ノード一覧・使い方・LLMノードとの違いまで徹底解説

室谷東吾
監修者室谷東吾(@0x__tom

株式会社MYUUU 代表取締役 / 日本最大級AIコミュニティ「.AI」創設者(累計2,000名超)/ セプテーニ・ホールディングス(電通グループ)と資本業務提携 / 著書「お金を使わず、AIを働かせる『Dify』活用」(ぱる出版、3刷)/ Xフォロワー約2万人

テキトー教師
監修者テキトー教師(@tekitoo_T_cher

.AI 認定講師 / 教育×AIの専門家 / 累計300名以上にAI活用を指導 / 「テキトーに学ぶ」がモットーの実践派講師 / Xアカウント

Difyのエージェントノード完全ガイド:ノード一覧・使い方・LLMノードとの違いまで徹底解説

Difyのエージェントノード完全ガイド:ノード一覧・使い方・LLMノードとの違いまで徹底解説

室谷室谷
今回はDifyのエージェントノードについて、一から整理していきましょう。これ、.AI(ドットエーアイ)のコミュニティでも「ワークフロー内でエージェントを動かしたいけど、どうすればいい?」という声がかなり多いテーマなんですよね。
テキトー教師テキトー教師
講座でも必ず質問が出ます。「AIエージェントアプリとチャットフロー内のエージェントノードって何が違うの?」というのが定番です。

Difyのノード一覧を見て「エージェントって書いてあるけどよくわからない」と思う人が多いみたいで・・・
室谷室谷
正直、Difyを使い始めたときに最初に迷う部分ですよね。ノードの種類が多いし、エージェントアプリという概念もあるし。

今回はそこを整理しながら、エージェントノードの具体的な使い方まで掘り下げていきます。
テキトー教師テキトー教師
前回はDifyのナレッジベースの使い方を解説しましたが、今回はワークフローの「頭脳」にあたるエージェントノードがテーマです。これが使いこなせると、Difyで作れるものの幅が一気に広がりますよ。

Difyのエージェントノードとは?LLMノードとの違い

室谷室谷
まず根本的なところから確認しましょう。エージェントノードって何か、という話ですが・・・簡単に言うと「LLMに自律的な判断とツール実行を委ねるノード」です。
テキトー教師テキトー教師
LLMノードとの比較が一番わかりやすいと思います。整理するとこういう構造です。
項目LLMノードエージェントノード
動き方1回プロンプトを送って1回回答が返る目標達成まで繰り返し推論・ツール実行
ツール利用事前に決めた処理のみ複数ツールを自分で選んで逐次実行
適したタスクテキスト生成・変換・分類調査・複数ステップが必要な複合タスク
コスト比較的安い繰り返し実行のぶんトークン消費多め
制御しやすさ高い(出力が予測しやすい)低め(推論次第で動きが変わる)

LLMノードとエージェントノードの動作の違い(公式ドキュメントより)

室谷室谷
この表が本質を突いてるんですよね。LLMノードは「1回聞いて1回答えてもらう」ツールですが、エージェントノードは「目標を渡して、達成するまで自分で考えて動いてもらう」ツールです。

経営者的に言うと、前者は「タスクリストを渡す」感覚で、後者は「ゴールを伝えて任せる」感覚です。
テキトー教師テキトー教師
コミュニティのメンバーさんが一番つまずくのが「どっちを使えばいいか」という判断なんですよね。単純なテキスト生成とか要約ならLLMノードで十分ですし、Webを調べてまとめるとか、複数の情報源を横断する処理が必要な場合にエージェントノードを使うのが基本です。
室谷室谷
ちなみに「Dify エージェント LLM 違い」って検索する人がかなり多いんですけど、そのままですね。LLMは処理ユニットで、エージェントはそのLLMに自律性を持たせた構造です。
テキトー教師テキトー教師
エージェントノードの中でもLLMを使いますしね。「エージェントノードの内部でLLMが推論している」と理解すると整理しやすいです。

Difyのノード一覧:全ノードの役割と使い分け

室谷室谷
エージェントノードを理解する前に、Difyのノード全体像も把握しておきたいですね。「Dify ノード 一覧」「Dify ノード 種類」が気になる人も多いと思うので、ここで整理しましょう。
テキトー教師テキトー教師
Difyのワークフローで使えるノード、2026年4月時点では以下のようなラインナップになっています。
カテゴリノード名主な用途
入出力ユーザー入力(開始ノード)ユーザーからの入力を受け取る
入出力回答ノードユーザーへの回答を出力
入出力出力ノード(終了ノード)ワークフローの終了・変数出力
AI処理LLMノードテキスト生成・変換・分類
AI処理エージェントノード自律的なタスク実行
AI処理知識検索ノードナレッジベースの検索・RAG構築
AI処理パラメータ抽出ノードテキストから構造化データを取り出す
AI処理質問分類器入力を条件分岐させる
ロジックIf-Elseノード条件分岐
ロジックイテレーションノード配列の各要素にループ処理
ロジックLoopノード反復処理・逐次改善
データ処理コードノードPython/JavaScriptの実行
データ処理テンプレートノードテキストの組み立て
データ処理変数集約ノード複数の変数を一つにまとめる
データ処理変数代入ノード変数への値の代入
データ処理ドキュメント抽出ノードファイルからテキスト抽出
データ処理リスト演算子ノード配列のフィルタ・ソート
外部連携HTTPリクエストノード外部APIとの通信
室谷室谷
これだけあると最初は圧倒されますよね(笑)でも実際によく使うのは限られていて、LLMノード・エージェントノード・HTTPリクエストノード・コードノード・If-Elseノードあたりを押さえれば大半のワークフローは作れます。
テキトー教師テキトー教師
講座で最初に教えるのは「開始→LLM→回答」の3ノード構成で、そこから「エージェントノードに変えると何が変わるか」という流れで教えると理解しやすいんですよね。ノードを「接続」「切断」「削除」するだけで動きが変わる体験ができるので、コミュニティのメンバーさんもそこで感覚をつかんでくれます。
室谷室谷
Difyのノード操作で言うと、ノードのコピーや複製(Cmd+D)、整理(Cmd+O)のショートカットキーを覚えておくと作業スピードが全然違いますね。複雑なワークフローを作るときに絶対使います。
テキトー教師テキトー教師
ノードの接続解除は「ノード 接続解除」「ノード 切る」ってよく検索されるんですよね。接続線を選択してDeleteキーで削除できます。

地味に知らない人が多いポイントです(笑)

エージェントノードの基本設定と使い方

Dify公式ドキュメントのエージェントノード設定画面(公式サイトより)

室谷室谷
では実際のエージェントノードの設定を見ていきましょう。「Dify エージェント ノード 使い方」を具体的に解説します。
テキトー教師テキトー教師
まずエージェントノードをキャンバスに追加すると、設定パネルが開きます。主な設定項目はこんな感じです。
室谷室谷
整理するとこうなります。
  1. エージェント戦略の選択 — Function CallingかReActを選ぶ(Marketplaceから追加戦略もインストール可能)
  2. モデルの選択 — 使用するLLMを選択(GPT-4系、Claude系など)
  3. ツールの設定 — エージェントが使えるツールを追加
  4. 指示(Instructions)の設定 — エージェントの役割・目標を記述
  5. クエリの設定 — 処理対象の入力変数を指定
  6. 最大反復数の設定 — ループを何回まで許可するか(単純なタスクは3-5回、複雑な調査は10-15回が目安)
  7. メモリの設定 — 会話履歴を保持するか
テキトー教師テキトー教師
このうち一番重要なのが「エージェント戦略」と「ツールの設定」と「指示」の3つですね。指示が雑だと動きも雑になるというのは、エージェントノードでは特に顕著で・・・
室谷室谷
LLMノード以上にプロンプトの質が直接結果に影響しますよね。MYUUUでエージェントを組んでいても、指示文の書き方ひとつで出力の質が全然変わります。

エージェント戦略:Function CallingとReActの違い

室谷室谷
「Dify エージェント ノード ReAct」「Dify React エージェント」という検索もよくあるので、ここは丁寧に解説しておきたいですね。
テキトー教師テキトー教師
Function CallingとReActは、エージェントの「考え方のパターン」の違いです。
室谷室谷
Function Callingは「GPT-4やClaudeに標準で備わっているツール呼び出し機能をそのまま使う」戦略です。LLMが内部で「このツールを呼ぶ」という判断をして実行します。

シンプルで高速なんですよね。
テキトー教師テキトー教師
ReActは「Reasoning(推論)とAction(行動)を交互に繰り返す」戦略です。「考えて→動いて→結果を見て→また考えて→また動く」というサイクルを回します。

複雑な問題を段階的に解決するのに向いています。
室谷室谷
実用上の選び方を言うと・・・シンプルな検索や計算なら Function Calling、複数の情報を組み合わせて考えるリサーチ系タスクはReActが向いています。ただ正直、最近のGPT-4やClaude 3.5以降のモデルだとFunction Callingで大半のケースに対応できる印象ですね。
テキトー教師テキトー教師
Marketplaceからは追加のエージェント戦略プラグインもインストールできます。Chain-of-Thought系やより高度な戦略も選べるので。

Dify側が「誰でも新しい戦略を開発できる」オープンなアーキテクチャにしているので、これは面白いですよね。
室谷室谷
Dify2.0の発表のときに「もはやLangGraphもMastraもいらないかも」と書いたんですけど、エージェントノードの拡張性がそのくらい高くなってきているんですよ。
テキトー教師テキトー教師
Dify2.0でキュー駆動グラフエンジンが搭載されて、並列処理と組み合わせたエージェント構成がさらに柔軟になりましたよね。エージェントノードがワークフローの中で独立したサブグラフとして動けるようになってきた感じがします。

ツールの設定:エージェントに何を持たせるか

室谷室谷
「Dify エージェント ツール」の設定は、エージェントの能力そのものを決める部分ですよね。ここが面白いところで。
テキトー教師テキトー教師
ツールにはいくつかの種類があります。
  • Marketplaceのツール: Web検索、GitHub、Slack、Notionなど。Dify Marketplaceからインストールして使う
  • ワークフロー連携ツール: 別のDifyアプリをツールとして呼び出す
  • カスタムツール: 独自のAPIをツールとして定義する
  • MCPツール: MCPサーバーに接続してツールを取得する(「Dify MCP エージェント」構成)
室谷室谷
MYUUUでよく使うのはWeb検索ツールとHTTPリクエスト経由の社内APIですね。「Dify MCP エージェント」の組み合わせも最近試していますが、MCPでツールの幅が一気に広がりました。
テキトー教師テキトー教師
ツールの説明文(ツールdescription)をちゃんと書くことが超重要で・・・「このツールは〇〇のときに使う」を明確に書かないとエージェントが的外れなツールを選んでしまうんですよね。コミュニティのメンバーさんがここで詰まっているケースを結構見てきました。
室谷室谷
そうなんですよ。エージェントはツールの説明文を読んで判断するので、その説明文の質がそのままエージェントの動作精度に影響します。
テキトー教師テキトー教師
「Dify エージェント ファイルアップロード」もよく質問されます。PDFや画像などのファイルをエージェントに渡す場合、入力ノードでファイルを受け取って、ドキュメント抽出ノードでテキスト化してからエージェントに渡すのが基本パターンです。

エージェントノード自体は直接ファイルを読み込む構造ではないので。
室谷室谷
ここ、ハマるポイントですね。ファイルは「テキストに変換してからエージェントに渡す」という流れを意識するといいです。

エージェントノードの出力変数を活用する

室谷室谷
エージェントノードには、実行後に参照できる出力変数が複数あります。「Dify エージェント コンテキスト」という観点でも重要な部分ですね。
テキトー教師テキトー教師
エージェントノードが出力する変数、整理するとこうなります。
  • 最終回答(text): エージェントの最終的な回答テキスト
  • ツール出力(tool_outputs): 各ツール呼び出しの結果一覧
  • 推論トレース(json): ステップごとの推論プロセス(特にReAct使用時に詳細)
  • 反復回数(usage.iterations): 推論サイクルの回数
  • 成功ステータス(status): タスクが正常完了したかどうか
室谷室谷
この推論トレースが地味に便利なんですよね。エージェントがなんでその結論に至ったかを追跡できるので、デバッグするときにめちゃくちゃ役に立ちます。
テキトー教師テキトー教師
「エージェントが変な動きをしている」という場合、推論トレースを見ると「ここで間違った判断をした」というポイントが見つかることが多いです。指示文を改善するヒントにもなります。
室谷室谷
ワークフロー内でエージェントノードの後に別のノードを繋ぐ場合、この出力変数を使って次の処理に渡せます。例えばエージェントが調べた内容を{{エージェントノード.text}}でLLMノードに渡して、さらに要約させるとか。
テキトー教師テキトー教師
下流ノードへの変数の渡し方はLLMノードと同じ記法なので、使い慣れれば直感的に組めますよね。

エージェントアプリとエージェントノードの違い:どちらを使うべきか

室谷室谷
ここで「Dify エージェント アプリ」と「エージェントノード」の違いを整理しておきたいですね。「Dify チャットボット エージェント 違い」「Dify チャットフロー エージェント 違い」という検索もよくあるので。
テキトー教師テキトー教師
Difyにはアプリの種類が複数あって、ここが最初に混乱するポイントですよね。整理するとこうなります。
種類特徴向いているケース
チャットボット(Chatbot)シンプルな会話型AI。LLMとの1対1の会話FAQボット、簡単な質問応答
チャットフロー(Chatflow)会話形式でワークフローを実行。ノードを組み合わせ可能複雑な条件分岐がある会話型AI
ワークフロー(Workflow)非対話型の自動処理。APIでも呼び出せるバッチ処理、定型業務自動化
AIエージェント(Agent)エージェントが自律的にツールを使って会話ツールを使いながら会話を進める高度なチャットボット
室谷室谷
エージェントアプリはいわば「最初からエージェント機能が組み込まれたアプリ」で、エージェントノードは「チャットフローやワークフローの中でエージェント機能を使うためのパーツ」です。
テキトー教師テキトー教師
「Dify エージェント チャットボット 違い」で迷っている人に説明するときは「エージェントアプリが冷凍食品なら、エージェントノードはその食材を使いこなすレシピ」って言ってますw
室谷室谷
うまいたとえですね。Copilotエージェント(「Dify copilot エージェント」として検索されるもの)もDifyのアプリ種別の一つで、埋め込み型のアシスタントとして使います。
テキトー教師テキトー教師
実務的な選び方としては、「特定のページに組み込むちょっとしたAIアシスタントが欲しい」→エージェントアプリ、「既存のワークフローの一部でAIに自律的な判断をさせたい」→エージェントノード、という感じで使い分けると整理しやすいです。
室谷室谷
MYUUUのユースケースで言うと、社内ツールに組み込んだAIアシスタントはエージェントアプリで、SEO記事生成パイプラインのリサーチ部分はチャットフロー内のエージェントノードを使っています。

エージェントノードの実践的な構築例

室谷室谷
ここからは実際の構築例を見ていきましょう。「Dify エージェント 作成 例」「Dify エージェント 事例」を探している人向けに、典型的なパターンをいくつか紹介します。

検索エージェント:最新情報を自動収集する

テキトー教師テキトー教師
「Dify 検索エージェント」として一番よく使われるパターンですね。Web検索ツールを使って、ユーザーの質問に対して最新情報を調べて答えるエージェントです。
室谷室谷
構成はシンプルで。
  1. 入力ノード(ユーザーの質問を受け取る)
  2. エージェントノード(Web検索ツールを使って調査)
  3. 回答ノード(エージェントの回答をユーザーに返す)

これだけで動くんですよね。

テキトー教師テキトー教師
エージェントノードの指示文にこんな内容を書くと精度が上がります。
あなたは情報収集の専門家です。
ユーザーの質問に対して、以下の手順で回答してください:

1. まず質問の意図を理解する
2. 検索ツールを使って最新の情報を収集する
3. 収集した情報を整理して、信頼性の高い情報源をもとに回答する
4. 回答の末尾に参考にした情報源を記載する

日本語で回答すること。
室谷室谷
「DifyでRAGエージェントを作りたい」という場合は、これに知識検索ノードをツールとして組み合わせます。Web検索ツールで外部情報を調べながら、社内ナレッジベースも参照できるようになるので、いわば「社内外ハイブリッド検索エージェント」が作れます。
テキトー教師テキトー教師
「Dify RAG エージェント」「Dify 知識 検索 ノード」を組み合わせた構成は、企業向けのAIアシスタントでよく使うパターンです。外部情報は実際のWebから、社内固有の情報はナレッジベースから、という使い分けが自動でできます。

マルチエージェント構成:複数エージェントを連携させる

室谷室谷
「Dify マルチエージェント」の話もしておきたいですね。これが最近のトレンドで。
テキトー教師テキトー教師
複数のエージェントノードを連携させる構成ですよね。例えばリサーチエージェントと要約エージェントを直列に繋いで、「調べる→まとめる」という分業体制を作れます。
室谷室谷
MYUUUでも似た構成を使っていて、「競合分析エージェント」「レポート生成エージェント」「品質チェックエージェント」を直列に並べたワークフローを動かしています。各エージェントが専門分野に特化しているので、1つのエージェントに全部やらせるより品質が安定します。
テキトー教師テキトー教師
並列処理ノードと組み合わせて複数のエージェントを同時に走らせる構成も可能です。例えば「競合A分析」「競合B分析」「競合C分析」を並列で実行して、最後に結果を集約する、という構成ですね。
室谷室谷
これが「Dify 並列 ノード」と組み合わせた本領発揮ですよね。並列処理と自律エージェントが組み合わさると、人間が手動でやると半日かかるリサーチ業務が数分で終わります。
テキトー教師テキトー教師
コミュニティのメンバーさんが作ったSEO記事自動生成ワークフローも日本経済新聞に取り上げられたり・・・Difyのエージェント活用、社会的な注目度が上がってきていますよね。

HTTPリクエストノードとコードノード:エージェントと組み合わせる実践技

室谷室谷
エージェントノードだけで全部解決しようとすると、ときどき詰まるポイントがあります。そこで役立つのがHTTPリクエストノードとコードノードです。
テキトー教師テキトー教師
「Dify HTTP ノード」「Dify HTTP リクエスト ノード」の使い方も整理しておきましょう。
室谷室谷
HTTPリクエストノードは「外部のAPIを直接叩く」ノードです。エージェントノードのカスタムツールとして設定することもできますし、エージェントとは別にワークフロー上で独立して使うこともできます。
テキトー教師テキトー教師
設定はシンプルで、URL・HTTPメソッド・ヘッダー・ボディを設定するだけです。認証はAPIキー・Basic認証・Bearer認証に対応しています。

レスポンスはJSONのフィールドに直接アクセスできるので、{{HTTPリクエストノード.body.data.items[0].name}}みたいな感じで後続ノードに渡せます。
室谷室谷
「Dify urlエンコード」に関しては、URLの変数はDifyが自動でエンコードしてくれます。日本語が混じるAPIを叩くときも基本的に問題ないですね。

ただしDify webhook ノード経由で受け取ったデータが文字化けしている場合は、コードノードでデコード処理を挟む必要があることがあります。
テキトー教師テキトー教師
コードノードはPythonかJavaScriptが実行できます。「Dify Python ノード」「Dify コード ノード」で検索してくる人も多いですが、ユースケースは主にデータ加工ですね。
室谷室谷
例えばエージェントが返してきたJSON形式のテキストをパースして必要なフィールドだけ抽出したり、複数の変数を結合してひとつの文字列にまとめたり。エージェントの出力をそのまま次のAPIに渡せない形式のときにコードノードで変換します。
テキトー教師テキトー教師
こういう構成です。
def main(agent_output: str) -> dict:
    import json
    
    # エージェントが返したJSON文字列をパース
    data = json.loads(agent_output)
    
    # 必要なフィールドだけ抽出
    return {
        "company_name": data.get("company", {}).get("name", ""),
        "revenue": data.get("financials", {}).get("revenue", 0),
        "summary": data.get("analysis", {}).get("summary", "")
    }
室谷室谷
これをエージェントノードの後に繋ぐだけで、エージェントの出力を構造化データに変換できます。コードノードの出力変数はそのまま後続のLLMノードやHTTPリクエストノードに渡せます。

イテレーションノードとLoopノード:繰り返し処理の使い分け

室谷室谷
「Dify イテレーション ノード」「Dify Loop ノード」の違いについても整理しておきましょう。
テキトー教師テキトー教師
これも「どっちを使えばいい?」と聞かれることが多いですね。
室谷室谷
一言で言うと・・・イテレーションノードは「配列の各要素に同じ処理をする」、Loopノードは「条件が満たされるまで同じ処理を繰り返す」です。
テキトー教師テキトー教師
具体例で言うと、イテレーションノードは「10件の商品リストそれぞれに対して説明文を生成する」用途です。配列の要素数だけ処理を繰り返します。

Loopノードは「品質スコアが80点以上になるまでLLMに改善させる」用途です。条件を満たすまでループします。
室谷室谷
エージェントノードと組み合わせる場合は、イテレーションノードの方が多いですね。「複数の検索キーワードについてそれぞれエージェントに調べさせて、結果を配列に集めてから集約する」という構成です。
テキトー教師テキトー教師
イテレーションノードでよく使うパターンが「並列処理モード」です。デフォルトは逐次処理(1件ずつ)ですが、並列モードに切り替えると複数の要素を同時に処理できます。

10件のリストを並列処理すれば、逐次処理の10分の1の時間で終わります。
室谷室谷
「Dify 並列 ノード」との使い分けは・・・固定したブランチを同時に走らせたい場合は並列処理ノード、配列の各要素を並列で処理したい場合はイテレーションノードの並列モードです。
テキトー教師テキトー教師
Loopノードは品質改善ループに向いていますね。「LLMに文章を生成させる→品質チェック→基準に満たなければ改善指示を加えて再生成」というサイクルを自動化できます。

エージェントノードのデバッグ:うまく動かないときの対処法

室谷室谷
ここで「Dify エージェント ノード」を使っていて詰まるポイントをまとめておきたいですね。
テキトー教師テキトー教師
「Dify 回答 ノード ない」「Dify エージェントノードが不安定」という問題、よく相談されます。エージェントが期待通りに動かないときの典型的な原因と対処法を整理します。
室谷室谷
主なトラブルシューティングはこんな感じです。
症状原因対処法
エージェントが同じツールをループしてる指示文が曖昧、または最大反復数の設定ミス指示文に「ループを避けること」を追記、最大反復数を下げる
ツールを呼び出してくれないツールの説明文が不十分ツールのdescriptionに「いつ使うか」を明記する
回答の品質が低いモデルの能力不足、または指示が雑より高性能なモデルに変更、指示を具体的に書き直す
無限ループになる終了条件が設定されていない最大反復数を必ず設定する(推奨:5-15回)
実行コストが高い不必要に多くのツール呼び出しをしているFunction Calling戦略に変更、指示文で効率を指示する
テキトー教師テキトー教師
「エージェントが不安定で期待通りの回答を得られない」場合の代替策として、「公開エージェント×API実行」という手法もあります。エージェントアプリとして別に作成・公開して、そのAPIをHTTPリクエストノードから叩くという方法です。
室谷室谷
これはなかなかマニアックな裏技ですね(笑)。でもワークフロー内のエージェントノードがどうしても安定しない場合の現実的な選択肢です。
テキトー教師テキトー教師
「Dify ドキュメント レビュー」のような用途だと、エージェントノードよりもLLMノード+コードノードの組み合わせの方が安定することもあります。用途に合ったノードを選ぶのが重要ですね。
室谷室谷
Difyのエージェントを使い込むと分かるんですが、「エージェントにすべてを任せる」より「エージェントと固定ロジックを組み合わせる」方が安定して高品質な結果が得られることが多いです。最近のワークフロー型が「相対的にキツくなってる」と書いたのは文脈がありまして・・・
テキトー教師テキトー教師
「LLMの精度が上がってエージェントが賢くなった」のと「ワークフロー的な設計の限界が見えてきた」の両方がある感じですよね。

エージェントノードとワークフロー全体の設計思想

室谷室谷
少し抽象的な話をすると、エージェントノードはDifyのワークフロー設計の中で「自律性と制御性のトレードオフ」を体現したノードなんですよね。
テキトー教師テキトー教師
「Dify と は ai エージェント」という検索でたどり着く人もいますが、本質的にはそこですよね。DifyはAIエージェント開発ツールとして、エージェントの自律性をワークフローの中でどう扱うか、というアーキテクチャを追求しています。
室谷室谷
経営者的に言うと、「全部AIに任せてコントロールを失う」か「全部ルールベースで書いてスケールしない」かの中間を探るのがDifyのエージェントノードです。「Dify llm エージェント 違い」という問いの本質もここにあります。
テキトー教師テキトー教師
教える側から見ると、エージェントノードを使いこなすためには「どこをLLMに委ねて、どこを固定ロジックにするか」という判断力が必要になります。これはDifyのスキルの中でも少し上級の領域ですね。
室谷室谷
「生成AI エージェント Dify」「AI エージェント 開発 ツール Dify」というキーワードで調べている人も多いですが、DifyはAIエージェント開発プラットフォームとして本格的に進化していますね。
テキトー教師テキトー教師
2026年現在、DifyがワークフローツールからAIエージェント開発プラットフォームへと軸足を移してきているのが、使っていてよく分かります。エージェントノードはその象徴的な機能です。

Difyエージェントノードの出力変数とコンテキスト管理

室谷室谷
「Dify エージェント コンテキスト」「Dify LLM ノード コンテキスト」の管理について少し深掘りしましょう。複雑なワークフローを作るときに必ず出てくるテーマです。
テキトー教師テキトー教師
エージェントノードのメモリ設定は「チャットフロー内で使う場合」に関係してきます。メモリを有効にすると、同じ会話セッション内で過去のやりとりをエージェントが覚えています。

無効にすると毎回フレッシュな状態でスタートします。
室谷室谷
チャットフロー内で「前の会話を踏まえた回答」が必要な場合はメモリを有効に。バッチ処理的に独立したタスクを処理する場合はメモリ不要です。

メモリを有効にするとトークン消費も増えるので、コスト面も考慮が必要ですよね。
テキトー教師テキトー教師
「Dify ノード ブロック」として概念を理解するときに重要なのが、各ノードはスコープが独立しているという点です。あるノードで作った変数を参照するには、明示的に変数セレクターで指定する必要があります。

エージェントノードの出力も同様で、後続のノードで{{エージェントノード名.text}}と書いて参照します。
室谷室谷
「Dify 変数 代入 ノード」を使うと、変数の値を別の変数に代入して会話をまたいで保持できます。これを使ったセッション状態管理は、少し高度な構成ですが実務では結構使います。

パラメータ抽出ノードとエージェントを組み合わせる

テキトー教師テキトー教師
「Dify パラメータ 抽出 ノード」もエージェントと組み合わせて使うと強力ですよね。
室谷室谷
パラメータ抽出ノードは「自然言語から構造化データを取り出す」ノードです。ユーザーが「東京から大阪まで来週の月曜に新幹線で行きたい」と入力したとき、{出発地: "東京", 目的地: "大阪", 日付: "来週月曜", 交通手段: "新幹線"}という構造化データに変換できます。
テキトー教師テキトー教師
エージェントノードの前にパラメータ抽出ノードを置いて、ユーザーの入力を整理してからエージェントに渡す、という構成がよくあります。
室谷室谷
「Dify 質問 ノード」とも組み合わせることができて、パラメータが揃っていない場合はユーザーに追加質問して、揃ったらエージェントが実行する、というインタラクティブな構成も作れます。
テキトー教師テキトー教師
「Human Input(人的介入)ノード」も2025年から追加された機能ですね。エージェントが実行前に人間のレビューを待つ、というワークフローを組めます。

高リスクな操作の前に確認ステップを挟む用途で使われています。
室谷室谷
自動化しすぎると怖いケースもありますからね。エージェントが外部APIを叩く前に「本当に実行しますか?」という確認を挟む設計は、エンタープライズ向けには特に重要です。

Difyエージェントノードのベストプラクティスまとめ

室谷室谷
改めて「Dify エージェント 設定」「Dify エージェント 構築」のベストプラクティスを整理しておきましょう。
テキトー教師テキトー教師
.AIのコミュニティやMYUUUでの実践から見えてきたポイントをまとめます。
室谷室谷
指示文の書き方で言うと、こういうフォーマットが効果的です。
## 役割
あなたは[役割の説明]の専門家です。

## 目標
[エージェントに達成させたいゴール]

## 制約
- [禁止事項や制限]
- 最大X回のツール呼び出しで完了させること

## 出力形式
[期待する出力の形式と内容]
テキトー教師テキトー教師
指示文に「制約」セクションを入れるのが重要で、特に「最大X回のツール呼び出し」を明示することでコスト爆発を防げます。
室谷室谷
モデルの選択も重要で、エージェントノードでよく使われるモデルは以下のようなイメージです。
用途おすすめモデル
高精度な調査・推論GPT-4.x系、Claude 3.5以降
コスト重視のバッチ処理GPT-4o-mini、Claude 3 Haiku
日本語特化GPT-4o、Claude 3.5 Sonnet
ローカル実行Llama 3系(Ollama経由)
テキトー教師テキトー教師
「Dify エージェント モデル」の選び方は、精度とコストのバランスです。開発中はHaikuやminiで安く試して、本番に向けて高性能モデルに切り替えるのが実践的ですね。
室谷室谷
「Dify エージェント 連携」という観点では、外部サービスとの連携がDifyの強みです。Notionにデータを書き込む、Slackに通知を送る、Google Sheetsを更新するといった連携がツールプラグインで実現できます。

FAQ:よくある質問

室谷室谷
最後に「Dify エージェント ノード」に関してよく聞かれる疑問にまとめて答えておきましょう。
テキトー教師テキトー教師
では一問一答形式でいきましょう。

エージェントノードと通常のチャットボットアプリの違いは?

室谷室谷
エージェントノードは「チャットフローやワークフローの中のパーツ」です。通常のチャットボットアプリ(エージェントアプリ含む)はDifyの外から見えるアプリとして公開できますが、エージェントノードは他のノードと組み合わせて使う内部コンポーネントです。

エージェントノードでTokenを使いすぎてコストが高い。どうすれば?

テキトー教師テキトー教師
3つの対策があります。1つ目は最大反復数を下げる(5回以下)。

2つ目はモデルをGPT-4.x系からmini系に変更する。3つ目は指示文でツール呼び出しの効率を指示する(「必要最小限のツール呼び出しで完了させること」と書く)です。

エージェントノードの出力をJSON形式で取得できるか?

室谷室谷
エージェントノードの出力変数のうち、json変数が推論トレースをJSON形式で出力します。ただし最終回答テキストをJSON形式にしたい場合は、指示文に「JSON形式で回答すること」と書き、後続のコードノードでパースするのが確実です。

チャットフローとワークフロー、どちらにエージェントノードを入れるべき?

テキトー教師テキトー教師
ユーザーと会話しながら動くなら→チャットフロー、バッチ処理や定型業務自動化なら→ワークフローです。エージェントノードはどちらでも使えますが、メモリ機能が有効なのはチャットフローのみです。

まとめ

室谷室谷
今回はDifyのエージェントノードについて、基本からベストプラクティスまで解説しました。まとめると・・・
テキトー教師テキトー教師
大事なポイントを整理するとこうなります。
  • エージェントノード vs LLMノード: LLMノードは1回処理、エージェントは繰り返し自律処理
  • 戦略選択: シンプルなタスクはFunction Calling、複雑な推論はReAct
  • ノード一覧: 2026年時点で19種類以上のノードが存在、用途で使い分け
  • ツール設定: ツールのdescriptionの質がエージェントの動作精度に直結
  • マルチエージェント: 複数エージェントを並列・直列に組み合わせてスケール
  • コスト管理: 最大反復数の設定と適切なモデル選択が重要
室谷室谷
エージェントノードはDifyの進化の象徴で、「ワークフロー型の制御性」と「エージェント型の自律性」を組み合わせた設計が本当によくできていると思います。Dify 1.0.0でエージェントノードが登場してから、Difyで作れるものの幅が一気に広がりましたね。
テキトー教師テキトー教師
「まずはシンプルな検索エージェントから始めて、徐々に複雑な構成に挑戦する」というのが学習ステップとしておすすめです。公式ドキュメントのも参考にしてください。
室谷室谷
.AI(ドットエーアイ)のコミュニティでもDify活用の事例が毎週のように上がっています。実際の構築例を見たい方はぜひコミュニティを覗いてみてください。

出典

.AI TIMES一覧に戻る