可视化工作流/工作流概念

5.1 工作流概念(Workflow Overview)

Pop 的可视化工作流(Workflow)是一个用于 自动化多步骤任务、组织多节点处理逻辑、构建应用程序 的核心系统。
它让用户无需编写复杂代码,就能通过拖拽节点、配置参数和连接流程,构建从简单到极其复杂的自动化逻辑。

工作流适用于:

  • AI 文档处理
  • 数据转换
  • 图表生成
  • 知识库维护
  • 项目自动化
  • 企业内部流程
  • 多模型协作与推理
  • 任意需要“多步骤串联”的场景

本章节将带你快速理解 Pop 工作流是什么、为什么需要它、它由哪些部分构成。


🧩 一、什么是工作流?

工作流(Workflow)是由多个节点(Node)组成的可视化流程图,每个节点承担一个功能,通过连接线将节点的输出作为下一个节点的输入,从而形成一个完整的流程。

示例结构:

开始 → 上传文档 → 分段 → AI 总结 → 生成报告 → 结束

Pop 会自动执行这些步骤,并把数据在节点之间传递。


🧱 二、工作流的核心组成

一个完整的 Pop 工作流由以下几部分构成:

工作流(Workflow)
 ├── 节点(Nodes)
 ├── 连线(Edges)
 ├── 输入参数(Inputs)
 ├── 输出参数(Outputs)
 ├── 全局变量(Variables)
 ├── 工作流运行容器(Runtime Engine)
 └── 布局(如工作流发布成应用)

下面逐项解释。


🔶 1. 节点(Node)

节点是工作流的最小执行单位。

每个节点完成一个功能,例如:

  • 调用 AI 模型
  • 生成 PDF
  • 读取 Excel
  • 执行 HTTP 请求
  • 写入数据库
  • 条件判断
  • 循环遍历
  • 格式化数据
  • 调用本地或远程的工具(MCP)

节点有输入(inputs)、输出(outputs)、配置(config)三类属性。


🔁 2. 连线(Edge)

连线连接两个节点:

节点 A(输出) → 节点 B(输入)

它决定流程执行顺序与数据传递方式。

连接行为包括:

  • 数据流:数据从一个节点传递到下一个节点
  • 控制流:决定流程走向(如条件节点的 true/false 分支)

🧮 3. 输入参数(Workflow Inputs)

工作流可以定义“入口参数”,例如:

  • 用户提供的内容
  • 运行时的变量
  • 应用运行时传入的参数
  • 表单输入

这些参数可以在节点中引用。


📤 4. 输出参数(Workflow Outputs)

工作流结束后可以返回:

  • AI 的最终结果
  • 文件链接
  • 数据对象
  • 图表 JSON
  • 模型推理结果等

这些输出可以用于:

  • 发布应用
  • 在布局管理器中绘制图表
  • 写入文件
  • 作为下一次调用的输入

🔧 5. 全局变量(Workflow Variables)

变量存储着工作流运行过程中的数据:

  • 系统变量
  • 节点输出缓存
  • 用户定义的变量
  • PSL 运行中产生的中间数据

变量可以在整个工作流中被后续节点访问。


🏃 6. 工作流运行容器(Runtime Engine)

Pop 内置了强大的运行引擎,用于:

  • 串行/并行执行节点
  • 管理数据传递
  • 捕获错误
  • 控制重试与补偿
  • 存储运行上下文
  • 处理多模型并发执行

这是工作流可靠运行的基础。


🖼 7. 工作流布局(Layout)

当一个工作流被“发布为应用”时,需要绑定一个前端布局
布局定义:

  • 页面结构
  • 组件(图表、文本、表格、输入框、按钮等)
  • 数据绑定(工作流输出 → UI 展示)

这使得即使不会写前端代码,也能构建可交互的小应用。


🎯 三、为什么要使用工作流?

✔ 将复杂过程可视化

降低理解与开发成本。

✔ 多步骤的自动化

减少重复操作,提高效率。

✔ 模型协作

将多个 AI 模型组合起来产生更强大的推理能力。

✔ 业务流程落地

例如:自动生成报告 / 自动客服流程 / 数据处理流水线。

✔ 模块化、可复用

节点和子工作流可被无限复用。


🧠 四、工作流与编程语言的关系

工作流 ≠ 代码
工作流 = 逻辑的可视化表达

对于复杂逻辑,Pop 提供 PSL(Pop Script Language)脚本,用于实现:

  • 数组处理
  • 字符串操作
  • 数据转换
  • 分支逻辑
  • 复杂控制结构

工作流与 PSL 互补,帮助用户实现完整自动化能力。


📌 五、小结

Pop 工作流是一套完整的可视化自动化引擎,包含:

功能 描述
节点系统 完成不同任务
连线系统 控制流程与数据传递
输入输出 定义入口与结果
变量系统 管理运行状态
布局系统 支持发布为应用
PSL 脚本 提供复杂逻辑支持