Workflow(工作流)是系统中将多个处理步骤编排为一个完整执行流程的核心概念。本教程系统讲解 AI 语境下 Workflow(以下简称 AI Workflow) 的定义、核心要素、主要类型、设计模式和应用场景,帮助读者建立完整知识体系。无论你是在构建 RAG 管线、多智能体协作系统,还是自动化数据处理流程,理解 Workflow 都是设计和实现可靠 AI 应用的关键。

前置教程

如想快速开始学习本教程,你可能需要先完成以下前置教程:

1. 什么是 Workflow

1.1 基本概念

Workflow(工作流)是对一系列处理步骤及其执行顺序的形式化描述。在 AI 语境下的 Workflow 定义了一个或多个 LLM(及传统处理步骤)如何按照特定逻辑组合在一起,协作完成一个复杂的整体任务。

传统软件中的 Workflow 早已存在——从一个 Web 请求经过多个中间件处理,到工厂生产线上的装配流程,都属于 Workflow 的范畴。AI Workflow 在此基础上引入了新的特性:

方面 传统 Workflow AI Workflow
处理单元 确定的函数、服务或人工操作 大语言模型(LLM)调用、向量检索、传统代码混合
输出确定性 确定性强,相同输入产生相同输出 概率性输出,相同输入可能产生不同结果
决策方式 基于硬编码的业务规则 基于模型推理的动态决策
错误处理 异常和重试逻辑明确 输出质量需额外校验,模型可能产生幻觉
流程结构 多数为固定拓扑 动态拓扑——流程可根据中间结果自调整

AI Workflow 的核心价值在于:将"单一 LLM 调用"这种不可控、不可观测的原子操作,组织为"多步 AI 处理管线"这种可控、可观测、可干预的系统化流程。

1.2 AI Workflow 的组成结构

一个典型的 AI Workflow 可以用以下结构来描述:

flowchart LR A[输入层] --> B[触发条件] --> C[输入数据] --> D{控制逻辑} D --> E[节点1
AI处理/工具调用] D --> F[节点2
AI处理/工具调用] D --> G[节点3
AI处理/工具调用] E --> H[最终结果] F --> H G --> H H --> I[输出层] I -.->|反馈回路| J[优化] J -.-> A style A fill:#d6eaf8,stroke:#2980b9 style B fill:#d6eaf8,stroke:#2980b9 style C fill:#d6eaf8,stroke:#2980b9 style D fill:#fdebd0,stroke:#e67e22 style E fill:#ebdef0,stroke:#8e44ad style F fill:#ebdef0,stroke:#8e44ad style G fill:#ebdef0,stroke:#8e44ad style H fill:#d5f5e3,stroke:#27ae60 style I fill:#d5f5e3,stroke:#27ae60 style J fill:#fadbd8,stroke:#c0392b

整体上,AI Workflow 包含三层核心结构:

层级 作用 典型组件
输入层 定义工作流的启动方式和数据来源 事件触发器(定时、Webhook、消息队列)、原始输入数据
处理层 核心业务逻辑,包含 LLM 调用和传统代码 LLM 调用节点、检索节点、代码函数节点、工具调用节点
输出层 产生最终结果并反馈 结果聚合、质量校验、反馈回路

1.3 Workflow 与 Agent 的关系

Workflow 和 Agent 是两个紧密相关但不同的概念:

维度 Workflow Agent
关注点 执行流程的编排与控制 自主决策与行动
控制模式 外部编排(预定义或动态规划) 内部自主(自我推理与决策)
典型结构 有向无环图(DAG)或状态机 循环:感知-推理-行动
适用范围 确定性高的流程化任务 需自主探索的开放任务
组合方式 Workflow 可包含 Agent 作为节点 Agent 可动态规划出 Workflow

Workflow 是"剧本",定义了每一步由谁做什么;Agent 是"演员",在剧本框架内自主完成自己的角色。一个复杂的系统通常是 Workflow 和 Agent 的结合体。

2. AI Workflow 的核心要素

2.1 节点(Node)

节点是 Workflow 中不可再分的最小执行单元,每个节点完成一个独立的处理步骤。节点的类型多种多样:

节点类型 功能描述 示例
LLM 调用节点 向大语言模型发送提示词并获取回复 文本摘要生成、翻译、代码生成
检索节点 从向量数据库或搜索引擎获取信息 知识库检索、Web 搜索
工具调用节点 调用外部 API、函数或服务 文件读写、数据库查询、发送邮件
代码节点 执行传统编程逻辑 数据清洗、格式转换、数学计算
条件节点 根据条件决定流程走向 分支选择、阈值判断
聚合节点 合并多个分支的结果 结果拼接、去重合并

2.2 数据流(Data Flow)

数据流定义了数据在各个节点之间的传递方式和转换关系。

  • 数据传递:每个节点接收输入数据,处理后产生输出数据,传递给下一个节点。数据格式可以是原始文本、结构化 JSON、向量、文件等。
  • 数据转换:节点之间的数据格式可能需要适配。例如检索节点输出向量列表,LLM 节点需要将其转为提示词中的上下文文本。
  • 上下文管理:工作流运行过程中产生的中间数据需要统一管理,确保每个节点能访问到所需的历史信息。
flowchart LR A[用户查询] --> B[查询重写
LLM] --> C[向量检索
向量数据库] B --> D[关键词检索
搜索引擎] C --> E[结果融合
代码] D --> E E --> F[回答生成
LLM] --> G[最终答案] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#ebdef0,stroke:#8e44ad style C fill:#d5f5e3,stroke:#27ae60 style D fill:#d5f5e3,stroke:#27ae60 style E fill:#fdebd0,stroke:#e67e22 style F fill:#ebdef0,stroke:#8e44ad style G fill:#fadbd8,stroke:#c0392b

2.3 控制流(Control Flow)

控制流定义了节点之间的执行顺序和条件逻辑,是 Workflow 的"大脑"。

控制模式 说明 Mermaid 表示
顺序执行 节点按固定顺序依次执行 A --> B --> C
条件分支 根据条件判断走哪个分支 A -->|条件1| B / A -->|条件2| C
并行执行 多个节点同时执行,互不等待 A --> B & C
循环迭代 重复执行某段流程直到满足条件 B -->|未通过| A / B -->|通过| C
子工作流 将一段流程封装为可复用的子流程 A --> SUB[子流程] --> C

2.4 触发器(Trigger)

触发器决定了 Workflow 何时开始执行。不同类型的触发器适用于不同的应用场景:

触发器类型 工作机制 典型场景
即时触发 用户主动发起,同步等待结果 实时问答、代码审查
事件触发 监听外部事件,事件到达时自动启动 新文件上传、消息到达
定时触发 按照设定的时间表周期性启动 日报生成、数据同步、定期巡检
条件触发 当某个条件满足时启动 数据指标超过阈值、监控告警

3. AI Workflow 的主要类型

3.1 线性流水线(Linear Pipeline)

线性流水线是最简单、最基础的 Workflow 类型,节点按固定顺序一个接一个执行,前一个节点的输出是后一个节点的输入。

flowchart LR A[步骤1
输入处理] --> B[步骤2
内容理解] --> C[步骤3
信息提取] --> D[步骤4
格式整理] --> E[输出结果] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#ebdef0,stroke:#8e44ad style C fill:#ebdef0,stroke:#8e44ad style D fill:#fdebd0,stroke:#e67e22 style E fill:#d5f5e3,stroke:#27ae60

适用场景

  • 固定流程的数据处理管线,如文档解析→信息提取→结构化输出
  • 没有分支选择的简单调用链
  • 原型验证阶段的快速实现

3.2 条件分支工作流(Conditional Branching)

条件分支工作流在流程中引入判断节点,根据中间结果决定后续走向,实现"如果-那么-否则"的逻辑。

flowchart LR A[意图识别] --> B{是否需要检索?} B -->|是| C[知识库检索] B -->|否| D[直接生成回答] C --> E[生成回答] D --> E E --> F{质量达标?} F -->|是| G[返回结果] F -->|否| H[重新生成] --> E style A fill:#d6eaf8,stroke:#2980b9 style B fill:#fdebd0,stroke:#e67e22 style C fill:#d5f5e3,stroke:#27ae60 style D fill:#ebdef0,stroke:#8e44ad style E fill:#ebdef0,stroke:#8e44ad style F fill:#fdebd0,stroke:#e67e22 style G fill:#d5f5e3,stroke:#27ae60 style H fill:#fadbd8,stroke:#c0392b

适用场景

  • 根据输入内容动态选择处理路径(如分类→不同处理策略)
  • 质量门禁——校验输出质量后决定是否放行
  • 异常处理——遇到错误时走降级分支而非直接失败

3.3 循环与迭代工作流(Loop & Iteration)

循环迭代工作流允许流程重复执行某段处理步骤,直到满足特定条件为止。这是 AI Workflow 中特别重要的模式——因为 LLM 的单次输出质量不可保证,通过循环可对输出进行迭代优化。

flowchart LR A[初始生成] --> B[质量评估] B -->|不达标| C[原因分析] --> D[针对性优化] --> A B -->|达标或超限| E[输出结果] style A fill:#ebdef0,stroke:#8e44ad style B fill:#fdebd0,stroke:#e67e22 style C fill:#d6eaf8,stroke:#2980b9 style D fill:#ebdef0,stroke:#8e44ad style E fill:#d5f5e3,stroke:#27ae60

适用场景

  • 输出质量迭代优化(生成→评估→优化→再评估)
  • 代码调试(生成→运行→检查错误→修复→再运行)
  • 查询重写与重试(检索结果不佳→重写查询→重新检索)

3.4 并行与扇出工作流(Parallel Fan-out)

并行扇出工作流将任务拆分为多个可以独立执行的子任务,同时处理后再汇总结果。

flowchart LR A[输入任务] --> B[任务分解] B --> C1[子任务1] --> D1[独立处理] B --> C2[子任务2] --> D2[独立处理] B --> C3[子任务3] --> D3[独立处理] B --> C4[子任务N] --> D4[独立处理] D1 --> E[结果聚合] D2 --> E D3 --> E D4 --> E E --> F[最终输出] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#fdebd0,stroke:#e67e22 style C1 fill:#ebdef0,stroke:#8e44ad style C2 fill:#ebdef0,stroke:#8e44ad style C3 fill:#ebdef0,stroke:#8e44ad style C4 fill:#ebdef0,stroke:#8e44ad style D1 fill:#d5f5e3,stroke:#27ae60 style D2 fill:#d5f5e3,stroke:#27ae60 style D3 fill:#d5f5e3,stroke:#27ae60 style D4 fill:#d5f5e3,stroke:#27ae60 style E fill:#fdebd0,stroke:#e67e22 style F fill:#d5f5e3,stroke:#27ae60

适用场景

  • 多维度分析——同时从多个角度分析同一份数据
  • 批量处理——对大量独立数据项并行处理
  • 多渠道搜索——同时在多个数据源进行检索

3.5 多智能体协作工作流(Multi-Agent Collaboration)

多智能体协作工作流是当前 AI Workflow 的最复杂形态,多个具有不同角色和能力的 Agent 按照特定的交互模式协同工作。

三种典型的多智能体协作模式:

辩论模式:多个 Agent 针对同一问题各自分析并展开辩论,最终达成共识。

flowchart LR A[Agent A
数据分析师] -->|提出分析| D[仲裁Agent] B[Agent B
业务专家] -->|提出观点| D C[Agent C
风控专家] -->|提出风险| D D --> E[最终决策] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#ebdef0,stroke:#8e44ad style C fill:#fdebd0,stroke:#e67e22 style D fill:#d5f5e3,stroke:#27ae60 style E fill:#fadbd8,stroke:#c0392b

分工模式:一个 编排 Agent 将任务分解并分配给不同的 Specialist Agent,各 Agent 独立完成后再由 Orchestrator 汇总。

flowchart LR A[编排Agent] -->|分配任务| B[前端开发] A -->|分配任务| C[后端开发] A -->|分配任务| D[测试验证] B -->|提交代码| E[整合结果] C -->|提交代码| E D -->|提交报告| E style A fill:#ebdef0,stroke:#8e44ad style B fill:#d6eaf8,stroke:#2980b9 style C fill:#d5f5e3,stroke:#27ae60 style D fill:#fdebd0,stroke:#e67e22 style E fill:#fadbd8,stroke:#c0392b

流水线模式:每个 Agent 专注于单一环节,前一 Agent 的输出直接作为后一 Agent 的输入,形成生产流水线。

flowchart LR A[需求分析Agent] -->|需求文档| B[系统设计Agent] -->|设计文档| C[代码编写Agent] --> D[代码审查Agent] -->|通过| E[测试验证Agent] -->|测试报告| F[部署发布Agent] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#ebdef0,stroke:#8e44ad style C fill:#d5f5e3,stroke:#27ae60 style D fill:#fdebd0,stroke:#e67e22 style E fill:#fadbd8,stroke:#c0392b style F fill:#d5f5e3,stroke:#27ae60

4. AI Workflow 的应用场景

4.1 数据处理与 ETL 管线

在传统 ETL(提取、转换、加载)的基础上引入 LLM 调用节点,实现非结构化数据的智能处理。

阶段 传统处理 AI 增强处理
提取 从数据库/文件读取结构化数据 从 PDF、图片、音视频中提取非结构化信息
转换 格式转换、字段映射、聚合计算 文本分类、实体识别、语义清洗、翻译
加载 写入目标数据库或数仓 写入向量数据库、知识图谱

典型工作流

flowchart LR A[原始文档] --> B[OCR识别
AI] --> C[文本分块
代码] --> D[内容分类
LLM] D --> E[向量化
嵌入] --> F[向量数据库] D --> G[生成摘要
LLM] --> H[元数据存储] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#ebdef0,stroke:#8e44ad style C fill:#fdebd0,stroke:#e67e22 style D fill:#ebdef0,stroke:#8e44ad style E fill:#d5f5e3,stroke:#27ae60 style F fill:#d5f5e3,stroke:#27ae60 style G fill:#ebdef0,stroke:#8e44ad style H fill:#fadbd8,stroke:#c0392b

4.2 RAG 检索增强生成管线

RAG(Retrieval-Augmented Generation)是 Workflow 模式在问答系统中的典型应用。一个完整的 RAG 管线包含多个协同工作的步骤:

flowchart LR A[用户提问] --> B[查询重写
LLM] B --> C[向量检索] B --> D[关键词检索] C --> E[结果融合
重排序] D --> E E --> F[上下文组装] --> G[生成回答
LLM] --> H[引用核查
LLM] H -->|不通过| G H -->|通过| I[最终答案] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#ebdef0,stroke:#8e44ad style C fill:#d5f5e3,stroke:#27ae60 style D fill:#d5f5e3,stroke:#27ae60 style E fill:#fdebd0,stroke:#e67e22 style F fill:#d6eaf8,stroke:#2980b9 style G fill:#ebdef0,stroke:#8e44ad style H fill:#fdebd0,stroke:#e67e22 style I fill:#d5f5e3,stroke:#27ae60

4.3 内容生成管线

内容生成管线将内容创作从"一次性提示"升级为"多步骤、可控、可迭代"的工业化流程。

示例:长文生成工作流

flowchart LR A[主题输入] --> B[资料调研] --> C[生成大纲] --> D{大纲确认?} D -->|修改| C D -->|通过| E[分章节撰写] --> F[章节1
LLM] --> H[整合润色
LLM] E --> G[章节N
LLM] --> H H --> I[质量审查] -->|达标| J[定稿输出] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#d5f5e3,stroke:#27ae60 style C fill:#ebdef0,stroke:#8e44ad style D fill:#fdebd0,stroke:#e67e22 style E fill:#fdebd0,stroke:#e67e22 style F fill:#ebdef0,stroke:#8e44ad style G fill:#ebdef0,stroke:#8e44ad style H fill:#ebdef0,stroke:#8e44ad style I fill:#fdebd0,stroke:#e67e22 style J fill:#d5f5e3,stroke:#27ae60

4.4 自动化决策系统

AI Workflow 可用于构建半自动化或全自动化的决策系统,结合规则引擎和 LLM 推理。

flowchart LR A[输入事件] --> B[规则过滤] --> C[代码节点] --> D{需要分析} D -->|是| E[智能分析
LLM] --> F[决策分类] D -->|否| F F --> G[自动处理] --> J[自动执行] --> M[工具节点] F --> H[需要审批] --> K[人工审批] --> M F --> I[无法处理] --> L[升级处理] --> M M --> N[通知] M --> O[转高级系统] M --> P[记录日志] style A fill:#d6eaf8,stroke:#2980b9 style B fill:#d6eaf8,stroke:#2980b9 style C fill:#fdebd0,stroke:#e67e22 style D fill:#fdebd0,stroke:#e67e22 style E fill:#ebdef0,stroke:#8e44ad style F fill:#fdebd0,stroke:#e67e22 style G fill:#d5f5e3,stroke:#27ae60 style H fill:#fadbd8,stroke:#c0392b style I fill:#fadbd8,stroke:#c0392b style J fill:#d5f5e3,stroke:#27ae60 style K fill:#fadbd8,stroke:#c0392b style L fill:#fadbd8,stroke:#c0392b style M fill:#d5f5e3,stroke:#27ae60 style N fill:#ebdef0,stroke:#8e44ad style O fill:#ebdef0,stroke:#8e44ad style P fill:#ebdef0,stroke:#8e44ad

5. AI Workflow 工具与框架

当前主流的 AI Workflow 工具可以分为以下几类:

类别 代表工具 核心优势 适用场景
AI 应用框架 LangGraph, LangChain 深度集成 LLM,内置 Agent 支持 构建 AI 应用
LLM 平台内置 Dify, Coze, 百度千帆 可视化编排,低代码 快速原型和业务集成
事件驱动平台 AWS Step Functions, Azure Logic Apps 云原生,弹性扩展 云环境下的微服务编排

6. 总结

6.1 核心内容回顾

  • Workflow 定义:将多个 AI 处理步骤编排为完整执行流程的系统化方法,是 AI 应用从"单次调用"走向"工业化生产"的核心架构理念。
  • 核心要素:节点(Node)、数据流(Data Flow)、控制流(Control Flow)、触发器(Trigger)四大要素构成任何 AI Workflow 的基础。
  • 主要类型:线性流水线、条件分支、循环迭代、并行扇出、多智能体协作,按复杂度递增排列。
  • 工具选择:AI 应用框架(LangGraph)、LLM 平台内置工具(Dify)各有其适用场景。

6.2 常见问题与解答

问:Workflow 和直接调用 LLM API 有什么区别?

直接调用 LLM API 适合单一、简单的任务。Workflow 的优势体现在需要多步处理、条件判断、结果校验、人机协作等复杂场景——它将不可控的单次 LLM 调用升级为可控、可观测、可干预的系统化流程。

问:什么时候应该使用 Workflow,什么时候应该使用 Agent?

没有绝对的界限。一般来说:如果任务的处理路径相对明确、步骤固定,使用 Workflow 更可控;如果任务需要大量自主探索和决策,使用 Agent 更灵活。实践中二者常结合——Workflow 定义整体骨架,Agent 作为其中的自主节点。

问:AI Workflow 如何保证输出质量?

主要通过三种方式:一是在关键节点后插入质量校验步骤(循环校验模式);二是引入人工审核环节,对 AI 输出进行确认;三是为 Workflow 配置日志和监控,通过持续观测发现质量问题。

问:Workflow 中的 LLM 调用失败怎么办?

生产级别的 Workflow 设计应包含以下容错策略:对瞬时故障(限流、超时)配置自动重试;对持续性故障配置降级路径(如使用备用模型或简化处理逻辑);记录失败上下文以便后续分析和手动恢复。

问:什么是 Workflow 的可观测性?

可观测性是指能够了解工作流内部运行状态的能力。包括:每个节点的执行耗时、输入/输出日志、错误和异常记录、执行路径追踪等。良好可观测性的 Workflow 在出问题时可以快速定位原因。