news 2026/6/22 23:53:09

Dify 第2课:工作流编排实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dify 第2课:工作流编排实战

面试目标:能白板画出至少 3 种工作流模式,并且讲清楚每种模式适合什么场景。


1. 先搞清楚:Dify 的几种应用类型

打开你的 Dify 后台,创建应用时你会看到三种类型:

类型说明面试价值
对话型聊天机器人,一问一答
文本生成型输入→输出,单次处理
工作流型多步骤编排,有分支有循环

面试必问:“工作流和 Agent 有什么区别?”

工作流是确定性的,每一步固定;Agent 是自主性的,自己决定调用什么工具。面试时把这点讲清楚,面试官就会觉得你有深度。


2. 核心节点一览(面试重点)

打开工作流编辑器,左边就是节点面板。这 7 种是你必须掌握的:

节点作用面试话术
LLM调用大模型最基本的,没它不行
知识检索从知识库里搜RAG 的核心
代码执行跑 Python/JS 代码补足 LLM 的计算短板
HTTP 请求调第三方 API打通外部系统
条件分支if/else 逻辑工作流的大脑
迭代循环处理列表批量处理
变量聚合合并多路输出并联节点的汇合点
模板转换转换数据格式数据清洗/重组

面试加分:“Dify 的工作流是DAG(有向无环图),所以天然支持并行执行——你可以让知识检索、LLM、HTTP 请求同时跑,最后用变量聚合节点汇总结果。”


3. 动手:3 个实战工作流

你现在就打开 Dify 后台自己搭,我当你的架构师。

🏗️ 实战 1:智能客服 RAG 问答
用户输入 ↓ ┌─────────────┐ │ 知识检索 │ ← 从知识库里搜相关文档 └──────┬──────┘ ↓ ┌─────────────┐ │ LLM 生成 │ ← 结合检索结果 + 用户问题生成回答 └─────────────┘ ↓ 输出

面试点:“这个架构解决了 LLM 的幻觉和时效性问题,把知识源和推理过程分离。”

🏗️ 实战 2:内容审核 + 自动回复
用户输入 ↓ ┌─────────────┐ │ LLM 审核 │ ← 判断内容是否合规 └──────┬──────┘ ↓ 条件分支 ├── 违规 → 拒绝回复 + 记录 └── 正常 → ┌─────────────┐ │ LLM 回复 │ └─────────────┘

面试点:“条件分支让工作流有了决策能力,这在需要内容安全审核的场景下非常关键。工作流的优势就在这里——每一圈处理都可以被审计和优化。”

🏗️ 实战 3:多工具 Agent(高阶)
用户输入 ↓ ┌─────────────┐ │ 意图识别 │ ← 小模型判断用户想干嘛 └──────┬──────┘ ↓ 条件分支(路由) ├── 查天气 → HTTP 请求(天气 API) ├── 写代码 → 代码执行(Python) └── 一般问答 → LLM 直接回复 ↓ 变量聚合 → 输出

面试核弹:“这个架构其实就是 Agent 的雏形。Dify Agent 的底层就是多轮工作流——每轮 Agent 调用相当于在工作流里跑一次工具选择-执行-结果回传的循环。”


4. 变量的作用域(高频考点)

工作流里最坑人也最常考的就是变量作用域

变量类型作用范围示例
系统变量整个会话sys.query,sys.dialogue_count
节点变量只在自身节点某个 LLM 的输出
环境变量整个 AppAPI Key、配置参数
会话变量整个对话周期用户名、上下文

面试话术:“变量作用域的设计直接决定了工作流的可维护性。我在项目里设定了一个原则:环境变量管配置、会话变量管状态、节点变量管数据流。三层不混用,排查问题的时候直接定位到层。”


5. 课后任务

打开 Dify 后台,搭实战 1(RAG 问答)

  1. 创建一个工作流类型应用
  2. 拖一个知识检索节点(需要先建个知识库,丢一个文本进去)
  3. 再接个LLM节点,提示词里引用{{节点名.result}}
  4. 运行测试

下节课预告:第3课:RAG 知识库与检索策略— 这也是面试里问得最多的方向之一

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 23:52:44

飞思卡尔DSP56724/56725多核音频处理器信号接口设计与实战配置

1. 多核音频处理器信号接口设计思路拆解在嵌入式音频系统设计里,选对处理器只是第一步,真正考验工程师功力的,往往是如何把芯片的“手脚”——也就是各种信号接口——用对、用好、用活。飞思卡尔的Symphony DSP56724和DSP56725这对多核音频处…

作者头像 李华
网站建设 2026/6/22 23:41:35

Next.js入门:从React玩具到生产级应用的跃迁

1. 为什么“Getting Started With Next.js”不是一句客套话,而是前端工程师的分水岭我带过三届校招前端实习生,每届都安排同样的入门任务:用原生 React 写一个带路由和数据请求的博客首页。结果总有一半人卡在第三天——不是写不出组件&#…

作者头像 李华
网站建设 2026/6/22 23:33:33

PUBG智能压枪工具终极指南:如何通过图像识别实现精准自动化控制

PUBG智能压枪工具终极指南:如何通过图像识别实现精准自动化控制 【免费下载链接】PUBG-Logitech PUBG罗技鼠标宏自动识别压枪 项目地址: https://gitcode.com/gh_mirrors/pu/PUBG-Logitech 在竞技射击游戏中,稳定的压枪能力往往是高手与普通玩家的…

作者头像 李华
网站建设 2026/6/22 23:32:39

如何在浏览器中快速运行Linux:WebVM完整使用指南

如何在浏览器中快速运行Linux:WebVM完整使用指南 【免费下载链接】webvm Virtual Machine for the Web 项目地址: https://gitcode.com/GitHub_Trending/we/webvm WebVM是一个革命性的浏览器沙箱技术,让你无需后端服务器就能在浏览器中安全运行x8…

作者头像 李华
网站建设 2026/6/22 23:31:54

3步精通TranslucentTB:让Windows任务栏焕然一新的终极指南

3步精通TranslucentTB:让Windows任务栏焕然一新的终极指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 你是否厌倦了Windo…

作者头像 李华
网站建设 2026/6/22 23:29:26

QLocalServer + QLocalSocket+QProcess

目录 整体架构说明 公共文件 MsgStruct.h(两个项目都要有) 工程一:MainApp(主程序,QLocalServer + QProcess) MainApp.pro MainApp.h MainApp.cpp main.cpp(主程序入口) 工程二:SubProcess(子程序,QLocalSocket 客户端) SubProcess.pro SubClient.h Sub…

作者头像 李华