05-工作流编排

📅 2026/7/21 11:59:55
05-工作流编排
Dify 工作流编排Workflow / Chatflow适用版本Dify Community Editionv1.16.0面向读者零基础已会做简单 Chatbot想做多步骤应用阅读时长约 30 分钟前置04-核心概念与基础使用.md目标理解节点、学会拖拽连线从零搭一个「多步工作流」。1. 为什么要学工作流聊天助手适合「一问一答」。但现实任务往往是多步的比如「收到用户问题 → 先判断是咨询还是投诉 → 咨询就查知识库回答投诉就生成工单并通知人工 → 最后统一回复用户」这种「有判断、有分支、有顺序」的任务用Workflow工作流或Chatflow对话流最合适。类型区别选它当…Workflow非对话跑一遍出结果像程序批处理、自动化、一次性生成Chatflow对话 节点结合带流程的聊天机器人新手建议先学Workflow理解「节点连线」的套路再学Chatflow。2. 核心思想节点 连线 DAG工作流是一张有向无环图DAG节点Node每个步骤如「调用大模型」「查知识库」「判断条件」。连线Edge数据从 A 流到 BB 能用到 A 的输出。开始节点入口定义输入参数。结束节点出口定义最终返回什么。开始 ──▶ [LLM 写草稿] ──▶ [条件判断] ──┬─ 是 ─▶ [知识检索] ──▶ 结束 └─ 否 ─▶ [代码处理] ──▶ 结束名词解释 · 什么是 DAG有方向数据单向流、无环不会绕回自己死循环的图。保证流程能跑完。3. 节点大全v1.16.0 常用3.1 逻辑类节点作用开始 Start流程入口定义输入变量如{{用户问题}}结束 End流程出口定义输出IF/ELSE 条件分支根据条件走不同分支Switch 多分支一个变量多个取值各走各的路迭代 Iteration循环处理列表如逐条总结多篇文章变量聚合 Variable Aggregator把多条分支的结果汇到一起3.2 大模型类节点作用LLM调用大模型生成/理解文本问题分类器 Question Classifier先给问题分类再分流如售前/售后/投诉参数提取器 Parameter Extractor从一段话里抽出结构化字段如日期、金额3.3 知识 / 数据类节点作用知识检索 Knowledge Retrieval从知识库取相关片段RAG模板转换 Template用变量拼出固定格式文本变量赋值 / 赋值修改流程中的变量值3.4 工具 / 执行类节点作用工具 Tool调用任意内置或 MCP 工具搜索、代码…代码 Code跑一小段 Python/JS 处理数据如格式化、计算HTTP 请求调用外部 APIAgent 节点在工作流里嵌入一个会自主调用工具的子智能体3.5 交互类v1.14 重点节点作用Human-in-the-Loop人工审核 / 人工输入流程中途暂停等真人审核/填写后再继续v1.14 引入v1.15 表单支持下拉/文件上传HITL人工介入是 v1.14 的王牌功能比如「AI 生成了退款金额先暂停让主管点『批准/驳回』再继续执行」。表单可通过 WebApp 或邮件送达审核人。4. 思维链可视化v1.15 新特性v1.15 起Workflow / Chatflow 运行时会把模型的**「思考过程」**流式显示在一个独立的「思考面板」里最终答案保持干净。刷新页面后思考记录仍在CLI 和工作流预览里也能看到。对教学很有用学员能清楚看到 AI「先想了什么、再得出什么结论」便于理解和排错。5. 动手从零搭一个「智能客服分类工作流」场景用户提问 → 先分类咨询 / 投诉 / 其他→ 咨询走知识库回答投诉走工单模板其他走兜底回复。步骤 1新建 Workflow「 创建应用」→工作流Workflow→ 名称「智能客服分流」。步骤 2配置「开始」节点点「开始」节点添加输入变量用户问题文本框。步骤 3加「问题分类器」从节点面板拖入问题分类器连到开始节点。配置输入用户问题分类咨询类/投诉类/其他可让 LLM 根据提示自动分类。步骤 4分三路咨询类 → 知识检索节点选择你建好的「产品知识库」返回相关片段给 LLM 节点总结回答。投诉类 → 模板转换节点拼出「已收到您的投诉工单号 {{随机}}我们会尽快联系您」。其他 → 直接 LLM 节点用模型生成友好兜底回复。步骤 5「结束」节点把三路结果都接到一个变量聚合再连到「结束」输出最终回复文本。步骤 6运行测试点「运行 / 预览」输入不同问题如「怎么退货」属咨询「你们服务太差」属投诉观察是否走对分支。✅ 跑通即说明你掌握了「节点 分支 聚合」的核心套路。6. 常见编排错误与排查现象原因解决节点灰色连不上类型不匹配如把数组接给单值检查上游输出类型加「模板/代码」转换流程卡住不结束某分支没连到结束确保每个分支最终汇入结束变量取不到值变量名拼错或未在「开始」声明检查{{变量名}}与开始节点一致工作流预览一直转圈Celery 队列缺workflow_based_app_execution见 02-安装与部署.md 第 2 节想让 AI 中途等人没加 HITL 节点拖入「人工输入 / 审核」节点并配置表单7. 进阶小贴士迭代节点处理「一个列表多项」时如 10 条评论逐条打分用迭代 内部 LLM 节点。代码节点需要精确格式化日期、金额、JSON时用 Python 比让 LLM 更靠谱。Agent 节点某一步需要「灵活决策」而非固定流程时嵌入一个 Agent 子节点。模板节点把多个变量拼成发给用户的固定话术减少 LLM 调用、省 Token。8. 名词速查本篇词意思DAG有向无环图工作流的底层结构节点 Node一个处理步骤HITL人工介入 / 人工审核节点思维链 CoT模型「思考过程」的可视化9. 动手练习按第 5 节搭出「智能客服分流」工作流并测试三种输入。挑战给「投诉类」分支加一个HITL 人工审核节点配置一个「批准/驳回」按钮表单。挑战用迭代节点实现「输入 3 条用户反馈逐条生成改进建议并汇总」。完成后进入 06-知识库与RAG实战.md学习怎么让 AI 真正「读得懂你的资料」。下一步06-知识库与RAG实战.md —— 上传文件、切片、检索告别 AI 胡说。