最近有很多同学咨询:扣子更新后,把工作流和对话流分开了,一直没搞明白工作流和对话流到底有什么区别和联系,到底应该如何选择使用,能不能帮不太理解的同学解答一下。
的确,扣子改版后,有很多同学使用还不太习惯,不了解这两种流程的区别,不知道该如何选择。那今天斜杠君就写一期教程,带大家一文搞懂「工作流」和「对话流」,希望对大家有所帮助。
接下来,话不多说,斜杠君用最简单的方式教给大家。 大家可以关注收藏,以免之后找不到,而且也不会错过我后面的教程。
一、基础概念介绍
1、工作流
工作流用于处理功能类的请求,通过顺序执行一系列节点来实现特定功能。它适合数据的自动化处理场景,如生成行业调研报告、制作海报、生成绘本等任务。
2、对话流
其实对话流也是工作流,只不是是一种特殊的工作流。专门设计用于处理对话场景的请求。它通过对话方式与用户交互,并能够完成复杂的业务逻辑处理。每个对话流都绑定了一个会话,可以读取历史消息并记录当前对话,实现类似"记忆"的功能。
二、差异对比
1、节点功能差异
(1) 开始节点:
- 工作流:无预置参数,完全自定义
- 对话流:包含两个必选的预置参数
- USER_INPUT:获取用户在对话中的原始输入
- CONVERSATION_NAME:标识对话流绑定的会话
这里要注意:因为「对话流」有默认「USER_INPUT」参数,所以在智能体中,单Agent模式只能引入对话流。
(2) 大模型节点:
- 工作流:大模型节点和意图识别节点不支持对话历史功能
- 对话流:支持读取对话历史,会话上下文会与用户问题一起传递给大模型
(3) 应用智能体用户界面
1、工作流:
支持多样化的组件类型包含布局组件和展示组件等丰富选择。
2、对话流:
专注于AI对话组件,可将对话流打包为聊天面板,支持在移动端或网页端展示。
(4) 应用发布渠道对比
1、工作流
- 支持发布到API
- 绑定界面后可发布到模板、商店
- 不支持发布到社交渠道、Web SDK、小程序
2、对话流
- 支持全平台发布
- 包括API&SDK、小程序、社交渠道、商店、模板等所有Coze提供的发布渠道
三、应用场景
1、工作流适用场景
- 批量数据处理
- 自动化任务执行
- 生成报告、海报等一次性任务
- 无需持续对话交互的功能型应用
2、对话流适用场景
- AI助手开发
- 智能客服系统
- 虚拟伴侣应用
- 需要上下文理解的对话式应用
3、如何选择使用哪种
(1) 如果你需要搭建一个智能体,智能体本身支持上下文和会话能力,那么可以随意选择工作流或对话流,注意不要添加会话类节点即可。
(2) 如果你需要搭建一个对话式的 AI 应用,例如 AI 助手、智能体客服等基于对话方式交互的 AI 应用,应该使用对话流。对话流中的大模型可以读取会话上下文、管理会话,还可以搭建对话式的用户界面,发布到各种社交通讯软件中。
(3) 如果你需要搭建一个工具类的 AI 应用,批量处理数据、实现任务流程的自动化,可以选择工作流实现。
四、API调用区别
1、工作流调用
- 支持通过API执行工作流
- 支持流式响应的工作流执行
2.对话流调用:
- 通过专门的执行对话流API进行调用
五、流程转换
当然「工作流」和「对话流」也可以相互转的转换,但转换后会发生一些变化。
1、对话流转工作流
对话流转换为工作流后,会有以下影响:
- 大模型节点失去对话历史读取能力
- 无法绑定会话功能
- 开始节点预置的「USER_INPUT」和「CONVERSATION_NAME」参数转为可编辑参数
2、工作流转对话流
工作流转换为对话流后,会有以下影响:
- 自动为流程添加「USER_INPUT」和「CONVERSATION_NAME」两个预置参数
- 参数不可删除或修改
- 获得对话历史功能
好了,到这里「工作流」和「对话流」的区别和联系就为大家讲解完了。
简单来说:工作流和对话流是Coze平台上两种互补的流程类型。工作流适合处理独立的功能性任务,而对话流则专注于提供持续的对话交互体验。