エージェント
Last updated
Last updated
エージェントノードは、Difyチャットフローやワークフローにおいて自律的なツール呼び出しを実現するコンポーネントです。異なるエージェント推論戦略を統合することで、大規模言語モデル(LLM)が実行時に動的にツールを選択・実行し、多段階推論を可能にします。
チャットフローやワークフローのエディタで、コンポーネントパネルからエージェントノードをキャンバスにドラッグします。
ノード設定パネルで エージェント戦略 をクリックします。
ドロップダウンメニューから推論戦略を選択します。Difyは Function Calling と ReAct を標準装備しており、Marketplace → エージェント戦略 カテゴリから追加インストール可能です。
ユーザー指示を事前定義された関数/ツールにマッピングし、LLMが意図を識別→適切な関数を選択→パラメータ抽出という明確なツール呼び出しメカニズムです。
特徴:
• 高精度: 明確なタスクに直結するツールを直接呼び出し
• 外部連携容易: API/ツールを関数化して統合可能
• 構造化出力: 下流ノード処理向けの定型化された情報出力
思考(Reason)と行動(Act)を交互に繰り返す戦略です。LLMが現状分析→ツール選択→実行→結果評価のサイクルを問題解決まで継続します。
特徴:
• 外部リソース活用: モデル単体では困難なタスクを実行可能
• 処理追跡性: 思考プロセスが可視化され説明性が向上
• 広範な適用: Q&A/情報検索/タスク実行など多様なシナリオに対応
開発者は公開リポジトリへ戦略プラグインを提供可能で、審査後Marketplaceで公開されます。
選択した戦略に応じた設定項目が表示されます。標準装備のFunction Calling/ReActでは以下を設定:
モデル: エージェントを駆動するLLMを選択
ツールリスト: 「+」で呼び出し可能ツールを追加
検索: インストール済みツールから選択
認証: APIキーなどの認証情報を入力
説明とパラメータ: ツールの用途説明とパラメータ設定
指示文: タスク目標とコンテキストを定義(Jinja構文で上位ノード変数参照可)
クエリ: ユーザー入力を受け取る変数
最大実行ステップ数: 処理サイクルの上限値
出力変数: ノードが出力するデータ構造
実行時には詳細なログが生成されます。基本情報(入出力/トークン使用量/処理時間/状態)に加え、「詳細」から各処理ステップの出力を確認可能です。