用 Dify 搭一个会「深挖」的研究工作流
普通搜索是查一圈就交差,深度研究是先找出自己「还不知道什么」,再一轮轮带着问题去补,最后给你一份带出处的报告。
现在大家都在聊 Deep Research,它和普通搜索的区别在哪?普通搜索是你给一个问题,它查一圈、给你几条链接就完事。深度研究更像一个认真的研究员:它会先意识到「这个问题我还有哪些没搞清楚」,然后带着这些缺口去做有针对性的检索,一轮不够就再来一轮,最后给你一份既有广度、又往下挖过、还带着出处的报告。
这种能力,用 Dify 的工作流能搭出来。我们把它拆成三个阶段来理解。
第一阶段:把研究的底子铺好
先配置初始参数——研究主题是什么、最多迭代几轮。然后用 LLM 节点分析一下意图:用户到底想研究什么、初步可以从哪些角度切入。这一步定调,后面才不会跑偏。
第二阶段:一轮轮地迭代深挖
这是最核心的部分。用循环(Loop)节点,让研究一轮轮往下走,每一轮都把已经查到的发现、用过的关键词、看过的链接、还没填上的缺口记下来,攒成「累积的知识」,而不是查完就忘的线性处理。Dify 的循环变量能让节点同时读到「这一轮」和「之前几轮」的产出,知识就这样一层层叠起来。
每一轮里,推理节点负责产出结构化的判断(用 JSON 固定格式,方便后面的节点稳定处理),Agent 节点则自己挑工具去执行检索——网页搜索、内容抓取、反思总结,该用哪个用哪个。
“深度研究的精髓,是让系统先承认「我还不知道什么」,再去补,而不是把第一次搜到的东西包装包装就交卷。
第三阶段:汇总成一份能交付的报告
迭代到设定的轮数或者缺口基本补齐,最后用一个汇总(Summary)节点,把这一路攒下来的发现整理成一份结构清晰、带引用出处的报告。出处这件事在研究场景里特别重要,它让读的人能回去核对,而不是盲信一段 AI 生成的文字。
我们踩过的经验
- 迭代轮数一定要设上限,否则成本和时间会失控,大多数问题三到五轮足够
- 结构化输出(JSON)是工作流稳定的关键,别让中间节点随意发挥
- 检索工具的质量决定上限,搜不到好资料,再多轮迭代也是空转
成本是必须盯住的一件事
深度研究最容易失控的就是成本。它会一轮轮地调用模型、做检索,token 烧得很快。除了设迭代上限,我们还会在工作流里加一个「缺口判断」:每轮结束让模型评估「还有没有值得继续挖的缺口」,没有就提前收尾,而不是非要跑满设定的轮数。该停就停,比一味多跑划算得多。
它适合什么、不适合什么
不是所有问题都值得上深度研究。一个事实性的小问题,普通检索几秒就答了,套上这套重型流程反而又慢又贵。它真正发光的地方,是那些「需要横跨多个来源、反复比对、最后要出一份成体系报告」的任务——竞品调研、行业分析、技术选型这类。先想清楚问题配不配得上这套流程,再决定用不用,别拿大炮打蚊子。
怎么知道它「挖对了」
深度研究有个隐患:报告看起来很丰满、引用也齐全,但里面某个关键判断其实是错的,或者它一开始就漏掉了一个重要方向,后面挖得再深也是偏的。所以光让它跑完不够,还得有办法验证质量。我们一般会在关键节点让它把「为什么这么判断、依据是哪几条」明确写出来,方便人抽查;也会盯着它最初拆解出的研究方向对不对——方向偏了,后面全白搭。
更稳的用法,是把它当成「帮你快速搭起研究骨架和素材」的助手,而不是「直接出终稿」的代笔。它挖出来的东西,人要回去抽查关键结论、补上它没想到的角度。机器负责广度和效率,人负责把关方向和判断对错——这条线,在研究这种容不得硬伤的场景里,尤其不能模糊。
搭一个深度研究工作流,门槛比想象中低,难的是调教它的节奏:既要让它挖得够深,又不能无止境地烧 token。把循环上限、结构化输出、检索工具这三件事配明白,一个像样的研究助手就立起来了。



