【人工智能通识专栏】第三十五讲:工作流(Workflow)
欢迎关注【人工智能通识】专栏
目录
12.2.1 认识工作流
12.2.2 基于Coze搭建工作流
12.2.3 向智能体添加工作流
本节将带你认识工作流的基本概念,了解如何设计工作流,赋予智能体规划、协调与执行复杂任务的能力。
12.2.1 认识工作流
智能体主要依赖对话式的交互模式,擅长处理独立的问题或单一的任务节点。而工作流是一种自动化、可重复的任务序列,它将复杂任务拆解为若干步骤,并按照设定规则依次执行。工作流为智能体的任务处理和数据流动提供了一个结构化框架。
工作流的引入,意味着智能体从一问一答的“对话模式”转变为触发后自动执行的流程模式。其本质在于,将我们从逐步指导AI完成任务的操作中解放出来,专注于设计能够自动解决一类问题的智能系统。
工作流的核心要素
工作流的核心要素主要包括以下三个方面:
1. 任务顺序:明确任务的先后关系,规定每个步骤在整个流程中的位置。例如,在论文写作中,必须先完成文献检索,才能进行内容总结和撰写。
2. 参与角色:确定每个步骤由谁来执行,可以是人工,也可以是智能体、插件或外部系统。不同角色各司其职,确保流程高效推进。
3. 规则条件:设定任务流转的触发机制和执行条件,例如“当文献检索结果超过10篇时,才进入摘要阶段”,或“只有管理员审核通过后,才能进入发布环节”。
这些要素共同构成了工作流的基本框架,使复杂任务能够被拆解、组织并自动化执行。
工作流的设计模式
工作流的核心思想在于把复杂任务拆解为一系列相互衔接的子任务。如何进行任务拆解与衔接,则要借助不同的工作流设计模式来实现。常用的工作流设计模式主要有六种。
1、链式工作流(Chain Workflow): 将复杂任务拆解为一系列步骤的提示链,每个前序步骤的输出直接作为后序步骤的输入,形成单向流程。适用于任务流程明确且无分支的任务,如单据审批、报告生成。
2、路由式工作流(Routing Workflow):通过决策节点对输入进行分类,并将任务分配至专门的处理路径,对不同类别问题采用不同解决方案。适用于任务入口多样但可分类的任务,如多轮对话分流、文档类型识别。
3、并行化工作流(Parallel Workflow):先将任务分解为多个子任务并行处理,再对子任务的输出进行聚合,可以大幅提高运行速度。适用于包含独立子模块的任务,如实时监控、高频交易。
4、规划式工作流(Planning Pattern):自主拆解目标、规划任务,调用其他模块或工具逐步执行计划的流程模式。智能体不再是执行用户预定义的子任务,从简单的“指令-执行”机器,发展为“思考-规划-行动”的自主系统。适用于多步骤、多角色协作的复杂项目,如产品迭代、活动策划。
5、评估优化式工作流(Evaluator-Optimizer):通过一个生成器生成输出响应、一个评估器对输出进行评估和反馈,构成迭代循环式的自动化流程,多次循环逐步优化直到满足终止条件。这是更高级、更智能的自动化形式,适用于对输出质量要求很高的任务,如代码、法律文书、医疗报告的生成。
6、协作式工作流(Collaborative Workflow):将任务分解为多个相互关联的步骤,通过多个智能体扮演不同角色(协调者、执行者、验证者),分工负责、协同完成的结构化流程。这已不仅是任务的自动化,而是强调定义任务边界与协作关系,适用于多智能体系统。
工作流将大模型的强大能力与特定的业务逻辑相结合,通过系统化、流程化的方法来实现高效、可扩展的AI应用开发。工作流的应用范围十分广泛,尤其适用于业务处理、人事行政、财务管理和客户服务等具有标准化流程的领域。
12.2.2 基于Coze搭建工作流
在Coze平台中,工作流是一种将多个任务、操作或工具按照特定的顺序和逻辑进行组合编排的流程,用于自动化地处理复杂的业务场景。Coze工作流支持通过可视化的方式,对插件、大语言模型、代码块等功能模块进行组合,使它们能够协同工作,实现高效、准确的功能输出和复杂、稳定的业务流程。
工作流的节点
Coze使用节点编排工作流,节点连接定义了任务的执行顺序和数据的流动路径。每个节点是一个具有特定功能的独立组件,代表一个独立的步骤或逻辑,负责处理数据、执行任务和运行算法。
工作流的节点类型包括:开始节点、结束节点、输出节点、插件节点、子工作流节点、代码节点、SQL自定义节点、新增数据节点、查询数据节点、更新数据节点、删除数据节点、问答节点、批处理节点、循环节点、变量聚合节点、变量节点、选择器节点。
每个工作流都默认包含一个开始节点和一个结束节点。开始节点是工作流的起始节点,定义启动工作流需要的输入参数。结束节点用于返回工作流的运行结果。
创建工作流
1. 进入Coze平台的“个人空间”,在左侧导航栏中选择“资源库”(图12-12①),点击右上角“资源”按钮(图12-12②),在下拉框中选择“工作流”,显示如图12-12所示的弹窗“创建工作流”弹窗。
2. 在“创建工作流”弹窗中,输入工作流的名称(图12-12③)和描述(图12-12④),点击“确认”跳转到工作流编辑页面。工作流名称只允许使用字母、数字和下划线。
图12-12:在Coze平台创建工作流
图12-13:初始的工作流画布
3. 在工作流编辑页面,初始的工作流画布如图12-13所示,包含开始节点和结束节点,你可以通过拖拽节点迅速搭建工作流。
编排工作流
4、使用工作流模板。
Coze提供了5个工作流模板:文本拆分、生成PPT、意图识别、生成封面和总结摘要。本例使用“生成封面”模板,单击画布下方的image_cover卡片(图12-13①)将其作为工作流模板。
5. 节点的添加与删除。
(1)在工作流画布中,点击底部“添加节点”按钮(图12-14①)显示节点菜单,从中选择需要的节点类型。
如图12-14所示,要添加一个大模型节点用于文本生成,只需单击选中“大模型”选项(图12-14②)即可完成节点添加。类似地,可以依次添加其它需要的工作流节点。
(2)本例不需要使用模板中的“画板" 节点。将鼠标移至节点卡片右上角“…”按钮(图12-14③),单击“删除”可以删除“画板”节点。
图12-14:添加与删除工作流的节点
6. 连接节点,构建工作流程。
节点连接定义了任务的执行顺序和数据的流动路径。点击一个节点的输出锚点,拖拽出一条连线,将其拖动并释放到另一个节点的输入锚点上,就建立了两个节点之间的连接。
按照任务执行顺序连接节点。如图12-15所示,例如将“开始”节点的输出连接到“大模型”节点(图12-15①),将“大模型”节点的输出连接到“结束”节点(图12-15②)。
图12-15:连接节点构建工作流程
节点参数配置
按照任务执行顺序,依次配置节点的输入输出参数。
7. 修改“开始”节点的配置参数。
(1)如图12-16所示,单击初始节点(图12-16①),在右侧显示节点配置区。
(2)模板中的初始节点包括3个变量,本例只要使用变量title用于输入成语。点击变量image_prompt、content之后的“-”按钮(图12-16②),删除这两个变量。
图12-16:修改开始节点的参数配置
8. 配置文本生成大模型节点的输入输出参数。
(1)单击大模型节点,在右侧显示节点配置区。
(2)修改节点名称:点击右上角“…”按钮(图12-17①),选择“重命名”(图12-17②),可以将节点名称修改为“大模型_文本生成”。
(2)模型配置:点击当前模型选框(图12-17③),可以调出模型选择菜单,从中选取所需的模型,例如使用DeepSeek-V3.1模型。
(3)配置节点输入:设置变量“title",并将其配置为“开始”节点的输出变量“title”(图12-17④)。
(4)编写系统提示词和用户提示词(图12-17⑥)。
将大模型的角色设为“成语学习助手”,编写一段系统提示词。也可以单击按钮(图12-17⑤)使用 AI 自动优化提示词。
(5)配置节点输出值:设置输出变量“output”,变量类型为 String(图12-17⑦)。
图12-17:大模型节点的参数配置
9. 配置配图提示词生成大模型节点的输入输出参数。
(1)修改节点名称:将节点名称修改为“大模型_配图提示词生成”。
(2)模型配置:选择“豆包-工具调用”模型。
(3)配置节点输入:设置变量“title”,并配置为“开始”节点的输出变量“title”。
(4)编写系统提示词和用户提示词。将模型角色设为“图像提示词生成器”,编写提示词并使用 AI 自动优化提示词。
(5)配置节点输出:设置输出变量“words”,变量类型为String。
10. 配置成语图像生成节点的输入输出参数。
(1)修改节点名称:将节点名称修改为“成语图像生成”。
(2)模型配置:选择“通用-Pro”图像生成模型,设置图像比例为16:9(1024*576)。
(3)配置节点输入:设置变量“prompt”,并配置为“大模型_配图提示词生成”节点的输出变量“words”。并将变量“prompt”设置为提示词。
(4)节点默认输出变量“data”的变量类型为 Image,“msg”的变量类型为String。
11. 修改“结束" 节点的配置参数。
(1)设置输出变量“content”,并配置为“大模型_文本生成”节点的输出变量“output”。
(2)设置输出变量“image”,并配置为"成语图像生成"节点的输出变量“data”。
测试和发布工作流
12、工作流的测试。
(1)如图12-18所示,单击底部的”试运行“按钮(图12-18①),在右侧显示试运行区。
(2)在试运行输入栏中输入测试内容,例如输入成语“刻舟求剑”(图12-18②),然后单击下方“试运行”按钮(图12-18③)就行测试。
(3)运行结果如图所示,生成成语图片(图12-18④)和解释造句的文本(图12-18⑤)。
(4)运行成功的节点下方会出现“运行成功”显示条,点击后可查看节点的输入和输出。工作流全部运行完成后,在工作流图标后面会出现“运行成功”显示条(图12-18⑥)。
图12-18:工作流运行测试
13、发布工作流。
单击右上角“发布”按钮,填写版本号和版本描述,发布工作流。
发布后,在“个人空间”的“资源库”中,就会显示创建的工作流“learn_idioms”。
12.2.3 向智能体添加工作流
在Coze平台中,智能体是负责感知、决策和交互的“大脑”,而工作流是智能体执行复杂、固定任务的“执行工具”。智能体通过调用工作流,能将智能对话与精准高效的自动化操作无缝结合,完成更强大的任务。
工作流只是执行特定任务的标准化流程和工具,需要通过智能体才能实现与用户的交互。为智能体添加工作流,并在提示词中引用工作流,智能体就会按照工作流设定的流程来响应用户需求。用户与智能体进行对话,智能体会将用户的输入内容解析为工作流的输入参数,传递到工作流,工作流根据预设的逻辑运行,并将结果传送回智能体输出。
创建智能体
1. 登录Coze开发平台,在导航栏选择“工作空间-项目开发”,点击右上角“ +项目”,在创建项目弹窗中点击“创建智能体”。
2. 在“创建智能体”弹窗选择“AI创建”,填写描述需求“成语学习:解释成语并配图,用成语造句”,然后单击“生成”。Coze根据描述创建一个智能体“成语小博士”。
3. 进入智能体编排页面。
如图12-19所示,系统已经自动完成了人设与回复逻辑和编排等智能体的基本设置。我们要在此基础上,为智能体添加上节中创建的工作流“learn_idioms”。
图12-19:AI创建的智能体“成语小博士”
添加工作流
4. 添加工作流“learn_idioms”。
(1)在中间“编排”面板中,单击“技能-工作流”后面的加号“+”(图12-19①),弹出“添加工作流”窗口。
(2)选择需要添加的工作流“learn_idioms”,单击后面的“添加" 按钮(图12-20①),就将工作流添加到智能体中。
图12-20:向智能体添加工作流
图12-21:在智能体提示词中引用工作流
5. 在左侧“人设与回复逻辑”区域,引用工作流的名称来调用工作流。
(1)如图12-21所示,在提示词中输入符号“{}”,就自动展开已添加的插件和工作流。单击工作流后的“添加”按钮(图12-21①),就在提示词中引用工作流“learn_idioms”。
(2)修改“人设与回复逻辑”中的提示词,说明何时调用工作流“learn_idioms”及处理方法。
调试与发布
6. 在右侧“预览与调试”面板中,可以实时调试智能体。
(1)如图12-22所示,在“预览与调试" 区域的对话框中输入成语“叶公好龙”,可以测试智能体的效果。智能体调用工作流“learn_idioms”进行处理,输出内容包括成语解释、成语造句和配图。单击“图片链接”,可以查看生成的图片。
(2)单击调试按钮(图12-22①)打开“调试详情”显示区,在“调用树”(图12-22②)记录了模型及工作流“learn_idioms”调用的详情。
图12-22:测试在智能体引用工作流
7. 调试完成后,单击“发布”按钮(图12-22③),将智能体发布到各种渠道中。
设置异步运行
工作流通常默认为同步运行,智能体需要等待工作流全部执行完成后,才能将结果反馈给用户。如果工作流较为复杂,或包含耗时较长的节点,就可能出现运行延迟,甚至导致智能体误判为超时,在工作流结束前就中断了对话。如果工作流或节点运行超时,智能体可能无法提供符合预期的回复。
在这种情况下,可以将工作流设置为异步运行。设置为异步后,智能体的对话不再依赖工作流的即时结果,而是会先返回一条预设的回复,让用户能够继续与智能体交互。当工作流执行完成后,智能体会根据最初触发的指令再给出最终的处理结果。
1. 将鼠标移至工作流右侧单击“设置”按钮(图12-22④),跳出设置弹窗。
2. 单击“异步运行”之后的滑动开关,开启异步运行,并设置回复内容。回复内容是工作流在异步运行时,智能体回复用户的默认文案。
通过工作流,我们可以把零散的功能和任务串联起来,实现自高效的自动化与流程化处理,从而让智能体真正具备端到端的“全程代办”的能力。进一步地,当多个智能体协同工作、并与应用开发深度融合,就能构建更强大的智能系统,这将是下一节的重点。
往期回顾:
【人工智能通识专栏】第三十四讲: 智能体(AI Agent)
版权声明:
本文版权属于 江苏理工学院 周敏(zhoumin@jsut.edu.cn),转载必须标注原文链接:
https://blog.csdn.net/AI_zhiyu/article/details/152517290