COZE学习之路 第三期(工作流)
-
工作流
-
什么是工作流
Coze工作流支持通过可视化的方式,对插件、大语言模型、代码块等功能模块进行组合,从而实现复杂、稳定的业务流程编排。当目标任务场景包含较多的步骤,且对输出结果的准确性、格式有严格要求时,适合配置工作流来实现。
-
创建和删除工作流
-
在个人空间自定义创建工作流
-
登录扣子平台。
-
在左侧导航栏中选择工作空间,并在页面顶部空间列表中选择个人空间。
(注意:系统默认创建了一个个人空间,该空间内创建的资源例如智能体、插件、知识库是你的私有资源,其 他用户不可见。你也可以创建团队或加入其他团队,团队内的资源可以和其他团队成员共享。)
-
在资源库页面右上角单击 +资源,并选择工作流。


-
创建后页面会自动跳转至工作流的编辑页面,初始状态下工作流包含开始节点和结束节点。
(注意:开始节点用于启动工作流,结束节点用于返回工作流的运行结果。)
-
使用模板创建工作流
-
在左侧导航栏中选择模版,在右侧栏里依据需要选择主题,接着选择想要的工作流模板,点击进入该工作流界面。
-
如果是收费的,可以在试运行后,点击购买,在线支付,如果是免费的就直接点击复制,依据需要可选择复制添加至智能体或空间。之后的修改也可以去工作空间中的资源库界面打开。

1.3工作流的基本操作
添加节点:方法一:通过底部“添加节点‘按钮
方法二:通过输出节点拖动

基本操作(添加节点,数据流动,放大缩小,试运行等等操作就不过度解释了,自己动手实践一下就会了)
所以我们现在直接上案例:
整个聊天机器人:1.可以先让coze助手帮你生成一个聊天机器人的模版,没几下就有了。
同时记得关闭智能体中的支持在Prompt中调用功能,因为这可能导致在对话中同时触发长期记忆调用和工作流执行,影响交互质量

配置说明
输入:固定为 Query,表示需要从长时记忆中匹配的关键信息。
Query 可以通过两种方式设置:
-
引用模式:使用上游节点的输出结果
-
当前我们采用的是引用【开始】节点的用户输入,就会从长期记忆中匹配用户输入相关的内容。
-
-
输入模式:直接输入固定的文本
-
比如,“用户性格怎么样”,就会从长期记忆中匹配用户性格相关信息。
-
输出:固定为 outputList,格式为数组对象
-
包含与 Query 相关的长期记忆内容
有了上下文的长期记忆,接下来我们开始增加【大模型】节点
大模型节点:是调用大语言模型处理文本生成任务。直接通过+号选择大语言模型
选择你需要的模型,并且单击配置图标,调整模型配置
输入:配置要输入给大模型节点的内容。支持引入 Bot 的历史对话内容。
-
开启智能体对话历史后,上下文信息将自动携带进入大模型
-
参数名与变量值
-
参数名是你开始随便设置,建议设置成有一定命名规律的名称
-
参数值
-
引用:只接受前面连接过的节点的输出
-
输入:输入固定回复内容
-
-
提示词:
系统提示词:为对话提供系统级指导,如设定人设和回复逻辑。
用户提示词:向模型提供用户指令,如查询或任何基于文本输入的提问。

接着,增加文本处理,让大模型输出的内容能更加符合人类聊天习惯地输出给人类。
-
大模型会输出一段带有完整标点符号的文字,这直接输出给用户很多时候会很突兀。毕竟人类聊天时,很多时候会一句一句地回复,因为打字耗时,每句之间还会间隔几秒。另外不使用标点符号会看起来更随意,不那么死板。
-
文本处理的最终实现如下,看起来是不是有些接近人类了
-
让我们看下具体实现。
先添加【文本处理】&【代码】节点,将模型输出的一整段文本处理成结构化数据。
文本处理节点
文本处理节点用于各类输入数据的字符串处理,适用于二次内容摘要、文本拼接、文本转义等场景,如将多轮对话中的关键词拼接成文字转图片生成的提示。
两种工作模式:
把多段文字按照指定的顺序组合成一段完整的文字。
比如,你让 AI 分段总结了一篇文章,现在想把这些小总结合并成一个完整的段落,就可以用这个模式。
-
在这个模式下,你可以用这些方式引用变量:{{变量名}},{{变量名。子变量名}},{{变量名[数组序号]}}
-
如果直接引用一个数组类型的变量,默认会用逗号把数组中的内容连接起来。你也可以指定只要数组中的某一项。
示例:
-
字符串分隔
用特定的分隔符(比如 "||"、"////" 或 "----")把一段文字拆分成多个小段。这样做的目的是方便后续对不同部分进行不同的处理。
在聊天 bot 中,我们选择了众多符号作为分隔符
代码节点
代码节点支持通过编写代码来生成返回值。Coze 支持在代码节点中使用 IDE 工具,可以通过 AI 自动生成代码或编写自定义代码逻辑来处理输入参数并返回响应结果。
代码编写说明
参考代码示例来写一个函数的结构。你可以直接使用输入参数里的变量,并通过 return 一个对象来输出处理结果。
注意
-
不能写多个函数
-
即使只有一个输出值,也必须以对象的形式返回
-
输出中定义的参数名、类型与代码的
return对象必须完全一致 -
暂不支持在代码节点引入依赖包,代码中引入依赖的语句不生效
| 运行时 | 注意事项 |
| JavaScript | JavaScript 支持 TypeScript,提供静态语言编码体验。JavaScript 中,仅内置了 dayjs(版本 1.8.36) 和 lodash(版本 4.17.20) 两个三方依赖库。JavaScript 运行时遵循WinterCG规范,支持Minimum Common Web Platform API列举的大多数 API,具体可用的 API 你可以在 IDE 内编码时参考代码提示。 |
| Python | Python 中,仅内置了 requests_async 和 numpy 两个三方依赖库,requests_async 依赖库与 requests 类似,但需要 await。 Python 运行时暂不支持 Http.client 方式的请求。import requests_async as requestsasync def main(args: Args) -> Output: # you can get url by this way url = args.params['url'] response = await requests.get(url) ret = { 'code': response.status_code, 'res': response.text, } return ret |
使用 IDE 编写代码
扣子提供了网页版 IDE 环境供你使用,无需考虑代码部署等问题,只要关注代码逻辑即可。扣子 IDE 还提供了 AI 插件,辅助你进行代码生成。
在节点内的 Code 区域单击 在IDE中编辑 可通过 IDE 编辑和调试代码。
初步demo展示
篇幅太长了 分成两篇发 下篇将后半部分教程继续教你们,欢迎大家评论区讨论!
更多推荐
所有评论(0)