Dify 工作流指南 2026:构建 AI 自动化管道
Dify 工作流是可视化的基于节点的 AI 管道,让您通过拖放方式连接 LLM、数据库、API 和代码。本指南解释每种节点类型,引导您构建第一个工作流,并展示三个经实践验证的管道示例。
什么是 Dify 工作流?
Dify 工作流是一个可视化管道构建器,让您连接节点来自动化多步骤 AI 任务。可以将其想象成 n8n 或 Zapier — 但原生为 AI 构建,具有用于调用 LLM、搜索知识库和处理结构化输出的一流节点。
与聊天机器人(逐轮对话式回应)不同,工作流执行从定义输入到定义输出的固定管道。您启动它,它按顺序(或并行)执行每个节点并提供结果。这使得工作流非常适合自动化、文档处理、数据扩充以及任何需要确定性运行的流程。
在内部,Dify 工作流使用有向无环图(DAG)引擎。每个节点从上游节点接收输出作为变量,处理后传递结果。您可以获得完整的可观测性 — 执行日志、每个节点的延迟、token 计数 — 全部内置。
核心节点类型
每个 Dify 工作流由这些基本节点类型构建。理解每种类型是开发高效管道的关键。
每个工作流的入口点。在这里您定义输入变量 — 例如名为 article_text 的文本字段、文件上传或 URL。所有后续节点都可以访问这些变量。
提示:保持输入简洁且类型明确。使用"text"表示字符串,"number"表示数值输入,"select"表示下拉选项。
核心 AI 节点。使用系统提示词和用户提示词调用任何配置的模型(GPT-4o、Claude、Gemini、Llama 等)。您可以使用 {{variable_name}} 嵌入上游节点的变量。
提示:当下游节点需要以编程方式解析 LLM 响应时,使用结构化输出模式(JSON Schema)。
通过向量相似度(RAG)搜索您的 Dify 知识库。传入搜索查询,获取最相关的文档块。将检索到的上下文与 LLM 节点连接,获得有据可查的事实性回答。
提示:根据您的上下文窗口调整 Top-K 参数(检索多少个块)。3-5 通常是最佳值。
直接在工作流中执行 Python 或 JavaScript。用于解析 JSON、转换字符串、计算值、过滤数组或脚本能做的任何事情。上游节点的输入变量作为本地变量可用。
提示:代码节点在沙箱环境中运行。无网络访问 — 外部调用请使用 HTTP 请求节点。
执行任何 REST API 调用 — GET、POST、PUT、DELETE。使用工作流变量配置请求头、查询参数和请求体。响应(JSON、文本或原始数据)可供下游节点使用。
提示:将敏感 API 密钥存储在 Dify 环境变量中,而不是硬编码在节点配置里。
条件分支。计算任意表达式(字符串比较、数值阈值、正则匹配、包含检查)并将工作流路由到不同分支。您可以添加多个"Else If"条件实现复杂路由逻辑。
提示:使用 IF/ELSE 进行错误处理 — 例如当 LLM 置信度低时,路由到备选响应而非不确定的结果。
使用 Jinja2 模板转换和格式化数据。将多个变量组合成字符串、格式化数据、遍历列表并应用条件逻辑 — 无需完整的代码节点。
提示:非常适合在传递给 LLM 节点之前,创建组合多个上游输出的动态提示词。
将来自多个并行分支的输出合并到单个变量中。当您的工作流分成并行路径时(例如同时调用两个不同的 LLM)且需要在结束节点之前合并结果时不可或缺。
提示:使用"array"模式将所有分支输出收集到列表中,然后用代码节点处理。
终止节点。定义工作流返回什么 — 一个或多个输出变量。通过 API 触发时,这些输出在 JSON 响应中返回。在 Chatflow 中使用时,结束节点的内容显示给用户。
提示:您可以有多个结束节点(每个 IF/ELSE 分支一个),根据路由返回不同输出。
构建您的第一个工作流
让我们构建一个简单的文章摘要器 — AI 管道的经典"Hello World"。它接受文章文本作为输入并返回三要点摘要。
创建新工作流应用
在 Dify Studio 中点击"+ 创建应用"→ 选择"工作流"。命名为"文章摘要器"并点击创建。您将进入带有空开始和结束节点的画布。
配置开始节点
点击开始节点。添加一个输入变量:命名为 article_text,类型设为"段落"(长文本)。这是用户(或 API 调用者)触发工作流时提供的内容。
添加 LLM 节点
点击画布上的"+"按钮。添加 LLM 节点。选择您的模型(如 GPT-4o Mini)。在用户提示词字段输入:请用恰好 3 个要点总结以下文章。力求简洁。
{{article_text}}
连接开始→LLM→结束
从开始节点的输出句柄拖线到 LLM 节点的输入。然后将 LLM 节点的输出连接到结束节点。结束节点应输出 LLM 节点的 text 变量。
测试
点击顶部栏的"运行"。右侧出现测试区域。在 article_text 字段粘贴任意文章文本并点击运行。您将看到输出和完整执行追踪 — 逐节点显示 token 数和延迟。
3 个工作流实践示例
这三个管道涵盖了最常见的 Dify 工作流实际模式,均经过实战验证,可直接用于生产。
内容摘要管道
接受任意文章文本并创建包含标题、3 个核心要点和一句话结论的结构化摘要。适用于内容团队、新闻简报编辑和研究助手。
LLM 提示词:"您是内容编辑。从以下文章中创建:(1) 吸引人的标题,(2) 恰好 3 个核心要点,(3) 一句话结论。格式为 JSON。文章:{{article_text}}"
客户支持分类
按意图(计费、技术、通用)对传入支持工单进行分类,并将每个类别路由到专业 LLM 响应。使用该方案的团队可将升级率降低 40-60%。
IF/ELSE 逻辑:当 intent == "billing" → 计费 LLM(了解定价、退款政策)。当 intent == "technical" → 技术 LLM(了解产品文档)。否则 → 通用支持 LLM。
文档问答管道
接受问题,从知识库检索最相关的文档块,并将其传递给 LLM 生成有据可查、引用来源的答案。非常适合法律文件、技术手册和内部知识库。
LLM 提示词:"仅根据提供的上下文回答问题。如果上下文中没有答案,请如实说明。上下文:{{retrieved_chunks}} — 问题:{{question}}"
通过 API 运行工作流
每个已发布的 Dify 工作流都会自动获得 REST API 端点。这样您就可以将工作流集成到应用程序中,从调度器触发,或将多个工作流串联在一起。
POST https://your-dify-instance/v1/workflows/run
curl -X POST 'https://your-dify-instance/v1/workflows/run' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"inputs": {
"article_text": "您的文章内容..."
},
"response_mode": "blocking",
"user": "user-123"
}' blocking
等待完整结果。最适合 30 秒以内的短工作流。
streaming
返回服务器发送事件流。最适合长工作流或将 LLM 流式传输到 UI。
常见问题
什么是 Dify 工作流?
Dify 工作流是一种可视化的基于节点的 AI 管道。您在画布上连接节点(LLM、代码、HTTP 请求、知识检索、条件判断)来自动化多步骤任务。与聊天机器人不同,工作流以固定管道从输入到输出运行 — 非常适合自动化和批处理。
何时应该使用工作流而不是聊天机器人?
对于具有明确输入/输出的自动化任务(总结文档、处理数据、分类)使用工作流。开放式对话使用聊天机器人。动态工具选择使用智能体。工作流是确定性的,更易于调试。
Dify 工作流可以按计划自动执行吗?
Dify 工作流可以通过 API 触发,您可以从任何调度器(cron、n8n、Zapier、GitHub Actions)调用它。Dify 本身没有内置调度器,但 API 触发器让通过外部工具进行时间安排变得很简单。
Dify 工作流可以调用外部 API 吗?
可以。HTTP 请求节点让您的工作流可以调用任何 REST API — 从外部服务获取数据、发送 Webhook、访问第三方平台。结合代码节点,可以在传递给 LLM 之前转换 API 响应。
托管 Dify 并构建工作流
Dify 工作流在自托管实例上运行最佳,您可以控制计算能力、无积分限制,并可处理无限工作流运行。在 Hetzner 上仅需 €3.79/月起步,或在 Elestio 上使用一键托管部署。