8. 工作流


功能概述

工作流是扣子平台中用于编排复杂业务逻辑的核心工具。通过可视化的拖拽画布,你可以将大模型、插件、代码块等各种节点灵活组合,构建出高效、稳定的自动化处理流程。工作流的价值在于让 AI 不只是"回答问题",更能"执行任务"。工作流编辑器提供了从开始节点到结束节点之间的可视化流程编排界面,支持实时调试和运行测试。

一句话创建工作流

image-20260413203439674

在输入框上方选择「工作流」,输入需求。

image-20260413204157477

生成效果展示。

自定义创建工作流

image-20260413183248717

进入扣子编程平台,点击「新建项目」,选择「工作开发」类型。

image-20260413202824298

设置工作流的名称和描述。

image-20260413184416830

点击开始节点,添加两个输入变量:

  • 变量名:topic,变量类型:str. String,勾选必填
  • 变量名:style,变量类型:str. String,勾选必填

image-20260413184951973

点击底部「添加节点」,添加一个大模型节点并与开始节点连接。

image-20260413193552537

点击大模型节点进行配置:

  • 处理方式:单次

  • 模型:GLM-4.7(或其他可用模型)

  • 输入:添加两个变量值引用开始节点的 topicstyle

image-20260413193620979

填写大模型提示词。

  • 系统提示词:
  你是一位资深小红书内容创作者,擅长写各种风格的爆款文案。
  • 用户提示词:
  请根据主题{{input}},以"{{style}}"的风格写一篇小红书文案。
  要求:标题带emoji,正文300字以内,口语化有节奏感,结尾带3-5个话题标签。

image-20260413193815655

点击底部「添加节点」,添加一个选择器节点并与开大模型节点连接。

image-20260413194343400

点击选择器节点进行配置:

  • 条件分支 - 如果:选择引用开始节点的 style,条件设为 等于,值填 种草型

  • 可以点击右上角 "+" 添加更多条件分支(如"教程型")

  • 否则:作为默认分支处理

"如果"分支(种草型)→ 连接到图像生成节点(生成配图)

"否则"分支 → 直接连接到变量聚合节点(纯文案不配图)

image-20260413194614287

点击底部「添加节点」,添加一个图像生成节点并与选择器的如果节点连接。

image-20260413195033562

点击图像生成节点进行配置:

  • 点击「+」添加变量,变量名填 topic,类型 str.,变量值引用开始节点的 topic
  • 模型以及其他选项用户可自行配置

image-20260413195051165

填写提示词。

image-20260413195237003

点击底部「添加节点」,添加一个变量聚合节点并与选择器的否则节点图像生成节点连接。

image-20260413200036304

点击变量聚合节点进行配置:

  • 聚合策略:返回每个分组中第一个非空的值

  • Group1(配图结果):

    类型:Array<Image>

    变量值:引用图像生成节点的data输出

  • Group2(文案结果):

    类型:str.

    变量值:引用大模型节点的 output

这个节点的作用是:不管走了哪个分支,都能把结果统一汇总到一个变量中继续传递。

image-20260413200308177

点击底部「添加节点」,添加一个输出节点并与变量聚合节点和结束节点连接。

image-20260413201231902

点击输出节点配置两个变量并填写输出内容:

  • 变量名:image:类型 Array<Image>,引用 → 变量聚合 → Group1

  • 变量名:text:类型 str.,引用 → 变量聚合 → Group2

  • 输出内容:文案:{{text}} 配图:{{image}}

image-20260413201926882

点击结束节点配置两个变量:

  • 变量名: image,类型 Array<Image>,引用 → 变量聚合 → Group1

  • 变量名:output:类型 str.,引用 → 变量聚合 → Group2

image-20260413202144008

点击底部 「试运行」,输入:

  • style:种草型

  • topic:夏日防晒攻略

image-20260413202348494

运行效果展示。

image-20260413202621539

测试通过后,点击右上角「发布」即可。

可用节点类型

工作流支持丰富的节点类型,按功能分为以下几类:

节点分类包含节点
基础大模型、插件、工作流(子流程)
业务逻辑代码、选择器、意图识别、循环、批处理、变量聚合、异步任务
输入&输出输入、输出
数据库SQL自定义、新增数据、更新数据、查询数据、删除数据
知识库&数据知识库写入、知识库检索、知识库删除、变量赋值、长期记忆写入、长期记忆检索
图像处理图像生成、画板、抠图、提示词优化、画质提升、更多图像插件
音视频处理视频生成、视频提取音频、视频抽帧
组件问答、文本处理、HTTP 请求、JSON 序列化、JSON 反序列化
会话管理创建会话、修改会话、删除会话、查询会话列表
会话历史查询会话历史、清空会话历史
消息创建消息、修改消息、删除消息、查询消息列表

工作流设计原则

  • 模块化:将复杂流程拆分为独立的功能模块,每个模块用一个或一组节点实现
  • 可测试:每添加一个节点后都进行试运行,确保该步骤的输出符合预期
  • 错误处理:在关键节点后添加选择器节点,处理可能出现的异常情况
  • 性能优化:避免不必要的大模型调用,对于固定逻辑优先使用代码节点

实战示例

示例一:小红书笔记自动生成器

工作流结构:开始 → 搜索插件(必应/头条) → 大模型(生成笔记) → 结束

开始节点:
  - topic(String):用户输入的话题

搜索插件节点:
  - 输入:query 引用开始节点的 topic
  - 输出:搜索结果(标题、摘要等)

大模型节点:
  - 模型:豆包 · 1.8 · 深度思考
  - 输入:topic 引用开始节点,search_result 引用搜索插件输出
  - 系统提示词:你是一位小红书爆款写手,擅长将资料整合成吸引人的笔记。
  - 用户提示词:根据话题"{{topic}}"和以下搜索资料:{{search_result}},生成一篇小红书风格笔记。要求:标题带emoji,正文300字以内,口语化有节奏感,结尾带3-5个话题标签。

结束节点:
  - output(String):引用大模型节点的 output

示例二:智能客服工作流

工作流结构:开始 → 意图识别(大模型) → 选择器(分支判断) → 不同处理节点 → 变量聚合 → 结束

开始节点:
  - question(String):用户提出的问题

大模型节点(意图识别):
  - 输入:question 引用开始节点
  - 用户提示词:分析以下用户问题的意图,只返回一个分类标签:售前咨询、售后问题、投诉建议。用户问题:{{question}}

选择器节点:
  - 条件1:大模型输出 == "售前咨询" → 连接售前大模型节点
  - 条件2:大模型输出 == "售后问题" → 连接售后大模型节点
  - 否则 → 连接投诉处理大模型节点

三个分支大模型节点:
  - 售前节点提示词:你是售前顾问,根据问题"{{question}}"给出产品介绍和推荐。
  - 售后节点提示词:你是售后客服,根据问题"{{question}}"给出解决方案。
  - 投诉节点提示词:你是客服主管,根据问题"{{question}}"给出安抚和处理方案。

变量聚合节点:
  - 聚合策略:返回每个分组中第一个非空的值
  - Group1(String):分别引用三个分支大模型节点的 output

结束节点:
  - output(String):引用变量聚合的 Group1

示例三:销售数据分析工作流

工作流结构:开始 → 查询数据(数据库节点) → 代码节点(统计计算) → 大模型(生成报告) → 结束

开始节点:
  - time_range(String):查询时间范围,如"2025年Q1"

查询数据节点(SQL自定义):
  - SQL:SELECT product, SUM(amount) as total, COUNT(*) as orders FROM sales WHERE period = '{{time_range}}' GROUP BY product
  - 输出:查询结果列表

代码节点(Python):
  - 输入:data 引用查询数据节点的输出
  - 代码逻辑:计算总销售额、同比增长率、Top3产品等关键指标
  - 输出:统计结果的 JSON 字符串

大模型节点(生成报告):
  - 输入:stats 引用代码节点输出
  - 用户提示词:根据以下销售统计数据:{{stats}},生成一份简洁的销售分析报告,包含整体概况、亮点产品、问题预警和改进建议。

结束节点:
  - output(String):引用大模型节点的 output

示例四:多语言翻译工作流

工作流结构:开始 → 选择器(判断目标语言) → 不同翻译大模型节点 → 变量聚合 → 结束

开始节点:
  - text(String):要翻译的原文
  - target_lang(String):目标语言,如"英文"、"日文"、"韩文"

选择器节点:
  - 条件1:target_lang == "英文" → 英文翻译节点
  - 条件2:target_lang == "日文" → 日文翻译节点
  - 否则 → 通用翻译节点

三个大模型节点:
  - 英文节点提示词:你是专业英文翻译,请将以下内容翻译为地道的英文:{{text}}
  - 日文节点提示词:你是专业日文翻译,请将以下内容翻译为自然的日文:{{text}}
  - 通用节点提示词:请将以下内容翻译为{{target_lang}}:{{text}}

变量聚合节点:
  - 聚合策略:返回每个分组中第一个非空的值
  - Group1(String):分别引用三个翻译节点的 output

结束节点:
  - output(String):引用变量聚合的 Group1

示例五:内容审核工作流

工作流结构:开始 → 大模型(审核检测) → 选择器(通过/不通过) → 通过走数据库存储 / 不通过走建议生成 → 变量聚合 → 结束

开始节点:
  - article(String):用户提交的文章内容
  - author(String):作者名称

大模型节点(审核检测):
  - 输入:article 引用开始节点
  - 用户提示词:审核以下文章内容,检查是否存在违规(涉黄、涉暴、虚假信息、广告引流等)。如果通过返回"通过",不通过返回"不通过:具体原因"。文章内容:{{article}}

选择器节点:
  - 条件:大模型输出 包含 "通过"(且不包含"不通过") → 走存储分支
  - 否则 → 走修改建议分支

存储分支(新增数据节点):
  - 将 article 和 author 写入数据库
  - 输出结果:"文章审核通过,已成功入库。"

修改建议分支(大模型节点):
  - 输入:article 引用开始节点,reason 引用审核节点的 output
  - 用户提示词:文章审核未通过,原因:{{reason}}。请针对原文给出具体的修改建议,帮助作者改进内容。原文:{{article}}

变量聚合节点:
  - Group1(String):分别引用存储分支的结果和修改建议节点的 output

结束节点:
  - output(String):引用变量聚合的 Group1

评论

0
还没有评论,来写第一条吧