
DifyでDeepResearchを作る
はじめに
今回は、今話題のDeepResearchをDifyで作成しました。「検索キーワードを入力するだけで、検索を繰り返し実行してレポートを作成する」仕組みを構築しました。
日頃のリサーチ業務や情報収集において、手動で何度も検索しながらメモをまとめるのは大変ですが、Difyのワークフローを使えば、この一連の作業を自動化・効率化できます。
特に、複数のキーワードを段階的に調べる場面や、豊富な情報ソースを参照して最終的な分析レポートを作成したい場面で非常に有用です。
デモ動画
ここでは、実際にDeepResearchのワークフローを動かしている様子を動画でご紹介します。複数キーワードを自動生成しながら検索を繰り返していくため、最終的には充実したレポートが得られます。
DifyでDeep Research作ってみました!
— 岸田崇史 | Omluc (@omluc_ai) February 11, 2025
検索したいことをふわっと入力するだけで
検索クエリ作成〜検索を繰り返し実行し、レポートにまとめてくれる。
なによりこの文量のレポートが引用付きで出てくるのはとても嬉しい。
作成時間10分ちょっとでAIアプリをノーコードで作れるDify。… pic.twitter.com/CNqsI48q7M
無料のDifyコミュニティ「Dify Studio」
このDeepResearchアプリを含む構築事例は、無料のDifyコミュニティ「Dify Studio」の #note記事 チャンネルからダウンロードすることができます。
YAMLファイルをインポートすれば、同様のフローをすぐに利用可能です。ぜひ参加してみてください!

ワークフローの全体像
まずは、DeepResearchアプリのワークフロー概要図をご覧ください。
下記のように複数のノードが連動して、順番に処理を実行します。

開始ブロック:ユーザーが最初に「調べたいトピック」や「検索回数の上限」などを入力する部分
イテレーションブロック:設定した回数だけ繰り返し処理を行う仕組み
LLMブロック:ChatGPTなどのモデルを呼び出し、次に検索すべき具体的なキーワードを提案させる
Web検索ツール:Tavily Search等を使い、提案されたキーワードで実際のWeb検索を行う
変数管理・条件分岐:検索した情報を「発見事項」としてストックし、必要に応じてループを継続するか判定
最終LLMブロック:すべての検索結果を集約し、包括的なレポートを生成
終了ブロック:最終結果(レポート)を出力する
ワークフローの作り方
1. 開始ブロック
ユーザーから「検索したいトピック」や「検索を最大何回繰り返すか」といった情報を受け取ります。
2. LLMブロック(次の検索キーワード抽出)
まずはChatGPTなどのモデルを呼び出し、「どんなポイントがまだ調査できるか?」を尋ねます。
もし新たに調べたいキーワードがあれば、LLMの出力からそれを拾い、なければ検索を終了するよう制御を行います。
3. イテレーションブロック
検索を繰り返すための中核です。一度のフロー実行につき、指定した回数または「もう追加の調査は不要」となるまでループし、キーワードを順次更新していきます。
4. Tavily Search(Web検索ブロック)
実際にWeb検索を行い、結果をテキストとして取り出します。
検索エンジンや取得対象の範囲、上限件数など細かい設定が可能です。取得した結果は「発見事項リスト」に追記します。
5. IF/ELSEブロック
「まだ調べる必要があるか?」を判断するための条件分岐です。
LLMから「これ以上調査は不要」と返ってきた場合は、ここでイテレーションを終了します。引き続き調査が必要なら次のブロックに進みます。
6. 変数代入(assigner)ブロック
検索結果やキーワードを、会話の一時変数に記録します。
たとえば「検索済みキーワード一覧」や「今回取得した情報」などをまとめることで、最終的に全情報を一元管理できます。
7. LLMブロック(最終レポート作成)
全検索工程が終わったら、これまで蓄積してきた情報をもとに大きな分析レポートを生成します。
参考記事でいう「クレーム対策案」にあたる部分です。DeepResearchでは、集めた情報について「考察」「今後の見通し」「参考URLの引用」など、網羅的な文章を自動生成させます。
8. 終了ブロック
最後にすべての処理が完了した段階で、結果(レポート)をまとめて出力します。必要に応じてMarkdown形式やPDFダウンロードなどに加工することも可能です。
改善アイデア
自動返信との連携
調査結果をそのままSlackやメールで共有する仕組みを組み合わせれば、社内やクライアントに向けて即座にフィードバックを送れます。多言語対応
英語圏など海外の情報をリサーチする場合は、翻訳ブロックを追加して日本語に変換しながら取り込むと便利です。逆に、日本語の結果を英語に翻訳することも可能です。スコアリングと重要度判定
取得した情報に対して「信頼度」や「優先度」を算定できるようにすれば、大量の検索結果を扱う場合でも、より重要なトピックから先に深掘りする運用ができます。
まとめ
今回ご紹介したワークフローを使うことで、検索キーワードに応じた情報収集とレポート生成がワンストップで完結します。このユースケースがノーコード/ローコードで実現できるのが大きなメリットです。
株式会社Omlucでは、法人向けにDify導入支援のパッケージを提供しております。自社業務への適用や詳細な活用方法について、ぜひお気軽にご相談ください。