はじめに
Difyには、ワークフロー(Workflow) と エージェント(Agent) の2つの主要な仕組みがあります。
それぞれ独立した機能として利用できますが、ワークフローをエージェントのツール(Tool)として組み込むこともできます。
この記事では、「知識検索ワークフロー」 をツール化し、エージェントから呼び出すことで、
知識ベースとWeb検索を横断的に行えるようにしてみます。
この記事でやること
Dify上で以下を実施します。
- Step1:知識検索専用のワークフローを作る
- Step2:そのワークフローを「ツール」として公開
- Step3:エージェントがそのツールを呼び出して回答を生成
結果的に、
「質問 → エージェント → ワークフロー(知識検索) → 回答」
という流れを構築します。
Step1:知識検索のワークフローを作る
事前に「Qiita記事」というナレッジベースを作成しておきました。
開始ノードから入力されるクエリに対して、このナレッジを参照する「知識検索」ブロックを作成します。
この回答結果を「終了」の出力としておきます。
Inputノード:質問(クエリ)を受け取る
- Knowledge Searchノード:「Qiita記事」ナレッジを参照
- Endノード:検索結果をそのまま出力
「公開する」を押してワークフローを公開します。
Step2:ワークフローを「ツール」として公開
ワークフローの公開後、「ワークフローをツールとして公開する」をクリックして設定を行います。

ツールコールの名前に任意の名前(ここではknowledge_search)します。
あとの設定はデフォルトのままで、保存します。
Step3:エージェントからツールを呼び出す
呼び出したいエージェントからツールを追加します。
「ツールを追加」から「ワークフロー」をクリックすると、先程作成した「知識検索」のワークフローが出てきました。
試してみる
Qiita記事のナレッジとして以下の記事が登録されています。
https://qiita.com/yushibats/items/c1e3fddfcb8ec49d5059
「OCIでDifyを使う時のやり方を教えて」と尋ねると、まずは質問内容をより明確にする質問が行われました。
その後、補足の回答を入れると、記事の内容を教えてくれました。
またナレッジには登録していない「AWSでDifyを使う時のやり方を教えて」という質問をしてみます。
そうすると該当する内容が、先程登録した知識ベースにはないので、別のツールとしてWeb検索が行われ、画像のように回答を生成してくれました。
このように、エージェントは状況に応じて
知識検索ツール or Web検索を自動で切り替えながら回答してくれます。
Difyの「エージェント × ワークフロー」連携を使うことで、
検索・要約・外部API呼び出しなどを部品化し、
柔軟に組み合わせることができます。




