Dify 中的深度研究工作流:分步指南
摘要:
本文详细介绍如何在 Dify 中构建“深度研究”(Deep Research)工作流。通过结合循环变量、结构化输出和 Agent 节点,实现从意图识别到迭代探索再到综合报告的自动化流程。该方案模拟专家思维,有效解决复杂问题的信息碎片化难题,提升调研效率与报告质量。
标准搜索查询往往难以应对复杂问题。无论是学术论文、市场分析还是代码调试,找到完整的答案通常意味着需要拼接数十次单独的搜索结果。深度研究(Deep Research) 应运而生——它直面这一日常挑战。Google Gemini、ChatGPT 和 DeepSeek-R1 等主流 AI 平台现已提供这项强大的功能。
深度研究的亮点在于其智能反馈循环:它能识别知识盲区,锁定具体问题,进行系统性探索,并最终交付综合报告。与传统搜索将信息碎片化不同,深度研究提供的答案既广泛又深入。
本指南将展示如何利用 Dify 中的三个关键组件构建深度研究工作流:循环变量(Loop Variables)、结构化输出(Structured Outputs)和 Agent 节点。你将创建一个能够独立进行研究并交付有意义见解的工作流。
工作流概览
Dify 中的这个深度研究遵循三个阶段:
- 意图识别 (Intent Identification)
工作流捕获你的研究主题,收集初始上下文,分析目标以确立清晰的方向。 - 迭代探索 (Iterative Exploration)
工作流利用循环变量评估现有知识、发现盲区、运行针对性搜索,并逐步构建研究成果。 - 综合总结 (Synthesis)
所有收集的信息被整合成一份带有适当引用的结构化报告。
它模拟了专家研究人员的思维过程:“我已经知道了什么?还缺什么?下一步该看哪里?”
第一阶段:研究基础
Start Node(开始节点)
首先,配置 Start 节点以包含必要的输入参数:
research topic:研究主题。需要探索的核心问题。max loop:最大循环次数。本次研究的迭代预算限制。

背景知识获取 (Background Knowledge Acquisition)
我们建议使用 Exa Answer 工具来收集初步信息,确保模型在深入之前理解相关术语。

意图分析 (Intent Analysis)
你需要使用一个 LLM(大语言模型)节点来挖掘用户的真实意图,从而区分表面问题与进一步的信息需求。

第二阶段:动态研究循环
Loop Node(循环节点):研究引擎
Loop 节点驱动整个研究工作。在 Dify 中,它跨迭代传递信息,使每个周期都建立在前一次发现的基础上。
我们的深度研究工作流跟踪六个关键变量:
findings:新发现的知识点。executed_querys:已执行的搜索查询(防止重复)。current_loop:当前循环计数器。visited_urls:来源追踪,用于正确引用。image_urls:视觉内容参考链接。knowledge_gaps:识别出的信息缺口/需求。

循环变量与标准变量的根本区别:
- 普通引用 (Normal references) 遵循线性路径:节点 1 → 节点 2 → 节点 3。
- 带前次迭代引用的循环 (Loop with Previous Iteration Reference) 创建知识网络:节点可以访问当前和之前迭代的输出结果。
这种设计能够积累知识,避免重复劳动,并使每次循环的焦点更加精准。

Reasoning Node(推理节点):提出更好的问题
Reasoning 节点配合结构化输出格式使用,其 JSON 结构如下:
{
"reasoning": "所选行动路径的详细理由...",
"search_query": "针对知识缺口提出的具体后续问题",
"knowledge_gaps": "回答原始问题仍需要的信息"
}
通过启用 LLM 节点中的 Dify 结构化输出编辑器,你将获得一致的 JSON 格式。下游节点可以可靠地处理这些数据,从而清晰地提取推理路径、搜索目标和知识缺口。



Agent Node(智能体节点):执行研究
好的问题只是开始。有效的研究需要果断的行动,而这正是 Agent 节点的强项。
这些节点充当自主研究人员,为每个上下文选择最合适的工具。我们的工作流赋予 Agents以下能力:
发现工具 (Discovery Tools)
exa_search:进行网页搜索并收集结果。exa_content:从特定来源获取完整内容。
分析工具 (Analytical Tools)
think:作为系统的反思引擎,灵感来源于 Claude 的 Think Tool。它使 Agent 能够评估发现、识别模式并确定下一步行动。这类似于研究人员暂停下来整理笔记并规划方法的过程。
我们可以通过仅向 Agents 提供它们所需的信息来优化性能:只提供来自上一个 LLM 节点的 search_query(搜索查询),而不是整个上下文。这种聚焦的方法提高了工具选择的准确性。

URL 提取 (URL Extraction)
工作流会自动从 Agent 响应中识别 URLs 和视觉引用,从而正确追踪所有信息来源。

在每次迭代中,Agent 通过收集信息、处理内容和整合发现来完成完整的研究循环。
变量赋值 (Variable Assignment)
每个周期结束后,Variable Assigner(变量分配器)节点会更新研究状态。这确保了每次迭代都建立在前一次工作的基础上,而不是重复劳动。

第三阶段:研究综合总结 (Research Synthesis)
当多个探索循环完成后,Final Summary(最终摘要)节点将收集所有累积的变量——发现、来源和支持数据——以生成一份全面的报告。
我们设置此节点以保持适当的 Markdown 引用格式并编译完整的参考文献列表。工作流还在关键位置配置了 Answer 节点,以便在整个研究过程中提供流式更新。这些更新逐步构建最终报告,提供具有有效引用的深入分析,结合了分析的深度与学术的可信度。

结论
本深度研究指南展示了 Dify 智能体工作流所能实现的能力。我们将专家的研究方法数字化,并通过自动化加速了这一过程。
研究的未来不仅仅在于拥有更多的数据,更在于以更聪明的方式探索这些数据。利用这些模式,立即构建你的研究引擎吧。
引用资源 (Reference)
- https://github.com/dzhng/deep-research
- https://github.com/jina-ai/node-DeepResearch
- https://github.com/langchain-ai/local-deep-researcher
- https://github.com/nickscamara/open-deep-research