本阶段课程 · 工作流、MCP 与 Skills
工作流:节点、条件与数据传递状态、重试与重复执行MCP:应用与外部服务怎样连接Skills:可复用的任务方法
LESSON 25 / 36阅读约 7 分钟

工作流:节点、条件与数据传递

解释可视化流程怎样运行,哪些步骤适合规则,哪些适合模型。

工作流把一项任务变成可重复的步骤

工作流是提前定义好的步骤与分支。输入到达后,系统按既定条件执行,前一步的结果成为后一步的输入。它既可以包含普通程序操作,也可以在某一步调用模型。

例如收到一份报名表后,先检查联系方式,再比较剩余名额,最后生成相应通知。这些步骤的顺序已经由设计者规定,不需要模型每次重新发明一套报名流程。

节点、连接线和变量是什么意思

可视化平台常把步骤画成节点,节点之间的连接表示执行顺序和数据传递。变量是需要传给后续步骤的值,例如报名人数、用户原文或模型生成的通知。

组成在流程里负责什么报名示例
触发器决定什么时候开始收到一份表单
输入提供本次数据联系方式、当前人数
条件节点根据明确规则选择分支联系方式是否齐全,人数是否少于12
模型节点处理需要语言理解或生成的部分生成自然的通知草稿
工具节点读取或改变外部状态查询名单、登记报名
输出交付结果或状态草稿、登记编号或错误说明

“变量”没有神秘含义。上一节点输出了一段文字,下一节点需要使用,就通过约定字段引用它。若只在提示词里写变量名字,平台却没有实际替换值,模型收到的可能只是那个名字。

哪些地方用规则,哪些地方用模型

“人数是否小于12”是精确比较,普通程序即可稳定完成。把一段自然语言留言归纳成问题类别,则可能适合模型。把确定规则交给模型猜,往往增加了不必要的不确定性。

在报名流程中,程序先选出需要补信息、可以接收或应该候补的分支,再把选定状态交给模型组织通知。模型不能因为认为用户很着急,就擅自改变人数上限。

顺序不同,行为也会不同

假设一条报名既缺联系方式,活动又已经满员。如果流程先检查联系方式,就会请求补充;如果先判断名额,可能先告知满员。哪种行为合适取决于业务要求,需要在设计时明确。

检查流程时,不仅要测试正常情况,也要测试边界。例如当前人数11与12应进入不同分支;联系方式缺失时是否仍会写入名单;通知生成失败后,报名是否已经登记。每个问题都对应具体状态,而不是一句笼统的“自动处理”。

工作流什么时候比Agent更合适

如果步骤明确、分支有限、执行要求稳定,固定工作流通常比较容易检查和维护。Agent则适合需要根据新反馈选择后续动作的情况。两者可以组合:一个固定流程里可以包含Agent步骤,Agent也可以调用已经封装好的工作流。

先把任务分成清楚的输入、操作与结果,再判断哪一段真的需要动态决策。这样做出来的系统更容易解释,也更容易找到失败位置。

交互演示 · 工作流分岔路让三种报名情况走进正确的分支。 5 分钟 · 教学模拟

检查一下理解

已报名人数是否小于12,通常需要什么?

本节参考与继续阅读

下列章节用于核对概念与机制。本站以中文重新组织讲解,例子和练习为独立编写。

可选练习把报名处理变成三条明确分支,知道哪些地方根本不需要模型判断。
练习目标

把报名处理变成三条明确分支,知道哪些地方根本不需要模型判断。

打开“工作流分岔路”实验。上限固定为12人,实验每次只处理一条报名,输出预设通知草稿,不真实增加人数或发送消息。

报名规则
先检查是否有联系方式。没有就请求补充;有联系方式且当前人数少于12,生成确认草稿;已有12人或更多,生成候补草稿。

跟着做一遍

下面的结果是本站编写的对照示例。实际工具的措辞可能不同,按每步的关键条件检查即可。

01

处理一条正常报名

选“有名额,信息完整”,确认已报名人数为10、联系方式已勾选,点击运行。

做完后,展开结果对照
对照示例 · 不要求逐字相同

走“生成确认草稿”分支。如果正式接收这条报名,人数将由10变成11;实验本身不修改名单。

为什么这样做人数比较是明确规则,程序直接判断即可。模型可以负责把草稿写自然,但不应重新猜人数规则。

02

故意让它缺信息

选“缺少联系方式”,再把人数改成12,点击运行。

做完后,展开结果对照
对照示例 · 不要求逐字相同

先走“需要补充”分支。因为规则把联系方式检查放在前面,所以此时不会直接发送候补通知。

为什么这样做顺序会影响行为。你应先决定业务想怎样处理,再用例子检查程序是否遵守。

03

把分支接回可视化应用

如果做过Dify改写器,可按下方设计扩展;暂不搭建就把它画在纸上。

发给 AI 的内容
请把报名规则写成流程说明:输入current_count和has_contact;先检查联系方式;再比较人数是否小于12;分别输出need_info、accepted_draft、waitlist_draft。不执行发送和人数更新。
做完后,展开结果对照
对照示例 · 不要求逐字相同

输入→信息检查;缺少则补信息;齐全再比较人数;最后生成对应草稿。Dify可用条件节点表达分支,LLM节点只负责指定分支的文案。

为什么这样做先让固定分支正确,再加自然语言生成,调试会简单很多。

刚才用到的一个新词

工作流

由人提前规定步骤、条件和分支的流程,每次输入按这些规则前进。

没做出来?从这里排查

已满员仍生成确认草稿

检查比较条件是否应为“小于12”,并测试11和12这两个边界值。

文案说报名成功,但名单没更新

把输出叫“确认草稿”,或增加真正的登记动作并检查成功回执。

换一个例子验证

测试人数11、12和缺联系方式三种情况。

  1. 先写出每种情况的预期分支。
  2. 在实验中逐一运行并比对。
  3. 记录如果未来接入真实登记,需要在哪一步检查执行成功。
检查标准输入不同条件能稳定进入正确分支,草稿不会被误当成已经完成的动作。

完成状态仅保存在当前浏览器,可再次点击取消。