工作流是一系列可执行指令的集合,用于实现业务逻辑或完成特定任务。它为应用/智能体的数据流动和任务处理提供了一个结构化框架。工作流的核心在于将大模型的强大能力与特定的业务逻辑相结合,通过系统化、流程化的方法来实现高效、可扩展的 AI 应用开发。
想象你要组织一场班级晚会,需要做很多事情:定节目单、布置教室、安排零食、准备音乐等等。如果把这些任务比作 "工作流",那就像老师写了一份详细的《晚会筹备攻略》,里面把每件事的步骤都排好了顺序,比如:
-
先让文艺委员收集节目
-
生活委员计算需要多少零食
-
劳动委员带人布置教室
-
电教委员调试音响
-
班长最后检查所有环节
这个攻略就是 "工作流",它把复杂的任务拆解成明确的步骤,就像游戏通关攻略一样。现在如果有个特别聪明的 AI 同学(大模型),虽然它知道很多知识,但需要按步骤指挥它做事:先让它帮忙设计节目单,再用它的数学能力计算零食数量,最后用它的艺术细胞设计教室装饰。
这样把大 AI 的能力和具体任务步骤结合起来,就是工作流的作用 —— 就像给你的超级智能助手一个任务清单,让它既能发挥聪明才智,又不会跑偏做无用功。
扣子提供了一个可视化画布,你可以通过拖拽节点迅速搭建工作流。同时,支持在画布实时调试工作流。在工作流画布中,你可以清晰地看到数据的流转过程和任务的执行顺序。
工作流与对话流
扣子提供以下两种类型的工作流:
-
工作流(Workflow):用于处理功能类的请求,可通过顺序执行一系列节点实现某个功能。适合数据的自动化处理场景,例如生成行业调研报告、生成一张海报、制作绘本等。
-
对话流(Chatflow):是基于对话场景的特殊工作流,更适合处理对话类请求。对话流通过对话的方式和用户交互,并完成复杂的业务逻辑。对话流适用于 Chatbot 等需要在响应请求时进行复杂逻辑处理的对话式应用程序,例如个人助手、智能客服、虚拟伴侣等。
简单来说,
你可以把工作流想象成一条自动化的流水线,就像做汉堡的机器一样。比如说你要做一个汉堡,机器会按顺序完成:放面包→加生菜→放肉饼→挤酱料→盖上面包这些步骤。工作流就是把类似这样的步骤提前设置好,让电脑帮你自动完成。
举个你能理解的例子:比如老师让你做一份历史小报,如果用工作流的话,电脑会自动帮你:
-
上网找相关资料(就像在图书馆查书)
-
整理成大纲(像整理笔记)
-
设计排版(像用模板画画)
-
加上合适的图片(像贴贴纸装饰)
-
生成 PDF 文件(像装订成册)
整个过程就像有个小助手在帮你完成每个步骤,你只需要告诉它要做什么,它就会按顺序把每件事都做好,不用你手动一步步操作。这样既省时间又不容易出错,特别适合需要重复做类似事情的情况。
而对话流就像你和朋友发微信聊天时的流程。比如你想约朋友出去玩:
-
你问:"明天有空吗?"
-
朋友说:"有呀,去哪?"
-
你提议:"去看电影怎么样?"
-
朋友说:"想看哪部?"
-
你问:"《流浪地球 2》还是《满江红》?"
-
朋友选:"想看科幻片"
-
最后确定:"那就买下午 3 点的票啦!"
这种一问一答逐步推进的过程,就是对话流。智能客服、手机里的语音助手(比如 Siri)都是这样工作的,它们会根据你的回答一步步引导,完成订票、查天气、解决问题等复杂任务。就像有个机器人用聊天的方式,带你完成一个个步骤。
节点
工作流的核心在于节点,每个节点是一个具有特定功能的独立组件,代表一个独立的步骤或逻辑。这些节点负责处理数据、执行任务和运行算法,并且它们都具备输入和输出。每个工作流都默认包含一个开始节点和一个结束节点。
-
开始节点是工作流的起始节点,定义启动工作流需要的输入参数。
-
结束节点用于返回工作流的运行结果。
通过引用节点输出,你可以将节点连接在一起,形成一个无缝的操作链。例如,你可以在代码节点的输入中引用大模型节点的输出,这样代码节点就可以使用大模型节点的输出。在工作流画布中,你可以看到这两个节点是连接在一起的。
想象你要组装一个乐高机器人,工作流就像你组装乐高的步骤说明书。每个步骤就是一个 "节点":
-
开始节点就像说明书的第一页,告诉你需要准备哪些零件(比如需要准备马达、传感器、积木块等),这些就是 "输入参数"。
-
中间步骤就像说明书的每一页:
-
比如第 2 页教你怎么拼装底盘(这个就是一个节点)
-
第 3 页教你怎么安装马达(这是另一个节点)
-
每个步骤做完都会得到一个成果(比如装好的底盘),这就是 "输出"。
-
连接节点就像页码顺序:
-
必须按顺序做,比如必须先完成第 2 页的底盘,才能开始第 3 页的马达安装
-
前一步的成果(装好的底盘)会自动传给下一步使用
-
结束节点就是最后一步,比如测试机器人能不能动,这里会把最终成果展示给你看(比如机器人成功行走的视频),这就是 "运行结果"。
整个过程就像接力赛跑:
每个选手(节点)负责自己那一段跑道,必须把接力棒(输出结果)传给下个选手,最后才能完成整个比赛(工作流)。
实际使用
就像打游戏闯关一样:
-
打开扣子:就像登录 QQ 或微信一样,先进入扣子这个工具。
-
找到主菜单:页面左边有个叫【工作空间】的按钮,点它(相当于游戏的 "背包" 界面)。
-
进入资料库:在左边菜单里找到【资源库】,点进去(类似游戏里的 "仓库",存各种道具的地方)。
-
点击蓝色按钮:看右边会有一个明显的蓝色按钮写着【资源】,点它(像游戏里发光的宝箱按钮)。
-
选择模式:这时候会弹出一个选项,选【工作流】或【对话流】就行(工作流 = 自动做任务的流程,对话流 = 设计聊天机器人)。
就像玩游戏选关卡一样,跟着颜色和位置点按钮就行啦!
点击按钮,即可创建一个工作流/对话流。点击确定,创建完成
创建完成后,即可看到刚才创建的工作流。
鼠标悬浮在上面,点击右方的“三个点”即可看到:“切换为工作流”、“复制”、“删除按钮”
点击切换,可以从工作流切换到对话流。
点击复制,会复制出一模一样的工作流。
点击删除,即可将刚才创建的工作流删除(注意:删除后无法找回,请谨慎操作)
直接点击工作流,即可看到以下配置界面
我们在配置时,需要添加多个节点,以完成自己布置的任务。
下面我们以大模型节点为例
首先点击下方的“添加节点”按钮,再点击“大模型”按钮,就成功了
这样,还是不能运行的。我们还需要将他们连接起来
鼠标左键,按住这个“+”号,拖到右方的“+”号处。
注意拖动的方向,一定是先执行的节点连接到后执行的节点处。比如我们要先运行“开始节点”,才能运行“大模型节点”
连接成功后的样子:
这样就是一个完整的工作流啦。
不过它还不能运行哦,还需要修改哪些内容将在后面的章节中更新~
文章转载自:https://gwl1554ppni.feishu.cn/wiki/G8YSwgk7MiW7rbkxCLcc35VjnPf
欢迎关注公众号【AI技术开发者】