L1D-03 工作流编排基础:把重复步骤连成可控流程

保姆级教程 · 面向想把创作步骤标准化的人

项目 信息
课程系列 AI 创作入门 · L1-D 智能体/自动化
课程编号 L1D-03
难度等级 ★★★☆☆
适用人群 已选定平台或路线,想搭建第一个带审核节点工作流的人
预计学时 80-100 分钟
前置课程 L1D-01、L1D-02;参考 L1C-07 图片视频联动工作流
更新日期 2026 年 8 月
内容声明 本课的自动化只产出草稿和待办;涉及发布、删除、支付和用户回复时必须人工确认。

学习目标

学完本教程后,你将能够:

  1. 识别触发、处理、判断、人工审核和输出五类基础节点,知道每类节点的作用和设计要点。
  2. 用变量和字段把上一步结果可靠地传给下一步,不靠"让模型自己猜"。
  3. 异常、空数据和重复执行设置条件分支,让流程会判断、会失败、会恢复。
  4. 区分循环、批处理和定时触发的适用场景,避免无限调用和成本失控。
  5. 画出一条可测试的内容生产工作流,包含失败路径和审核节点。
  6. 工作流设计清单验收自己的流程,确保每条都达标。

前置准备

你需要什么

你不需要什么


一、工作流不是"把工具排成一排"

1.1 常见的错误流程

很多人第一次搭工作流,会画一条这样的线:

热点 → AI 写文 → AI 做图 → 自动发布

看起来很顺畅,但仔细想会发现一堆问题:

1.2 更可靠的版本

人工提交资料
  → 格式检查(缺字段则退回)
  → 生成提纲
  → 事实审核(人工)
  → 生成素材草稿(文案 + 配图描述)
  → 发布前检查(人工)
  → 人工确认 → 归档

区别在哪里:后者每一步都有明确的输入来源、输出格式和审核节点。节点越清楚,问题越容易定位;人工审核越早,错误扩散越少。

1.3 工作流的三条核心原则

  1. 输入有来源:每个节点的输入要么来自上一步的固定字段,要么来自人工提交,不能是"模型自己想出来的"。
  2. 输出有格式:每个节点的输出必须是固定字段(如 titlesummarysources),不能是自由文本。
  3. 失败有路径:每个节点都可能失败,必须预设"失败时怎么办"。

二、五类基础节点

节点是工作流的积木。任何工作流都由以下五类节点组合而成。

节点类型 作用 示例 设计提示
触发 启动流程 表单提交、定时、Webhook 明确谁能触发、重复触发怎么办
处理 转换或生成数据 摘要、分类、生成文案 输入输出字段必须固定
判断 根据条件走不同路径 是否有来源、是否敏感 条件要能被验证,避免模糊词
人工审核 人确认或补充 事实、标题、发布 写清审核人、时限和拒绝路径
输出 保存或提交结果 表格、草稿箱、通知 输出带任务 ID、版本和来源

2.1 触发节点

作用:决定流程什么时候开始、由谁触发。

三种常见触发方式:

触发方式 适合场景 风险提示
表单提交 人工提交选题、反馈 限制谁能提交,校验字段
定时触发 每日汇总、每周复盘 注意时区、节假日、失败通知
Webhook 外部系统事件触发 必须校验来源,限制可接收字段

设计要点:

2.2 处理节点

作用:把输入数据转换或生成为新数据。这是 AI 模型发挥作用的节点。

设计要点:

2.3 判断节点

作用:根据条件走不同路径,让流程会"判断"。

设计要点:

2.4 人工审核节点

作用:在关键位置停下来,让人确认或补充。

设计要点:

2.5 输出节点

作用:保存或提交结果。

设计要点:


三、变量与数据流转

3.1 变量是工作流的交接单

变量是节点之间传递数据的"交接单"。不要让下一节点"从上一段自然语言里猜",而要使用稳定字段。

{
  "task_id": "20260808-001",
  "topic": "AI 图片素材归档",
  "audience": "刚开始做图文的职场新人",
  "sources": ["人工提供链接 A", "历史内容表"],
  "fact_status": "pending_review",
  "draft": "...",
  "reviewer": "",
  "status": "draft"
}

3.2 字段设计三原则

  1. 一个字段只表达一件事:不要把"标题+链接+备注"堆进同一格。拆成 titleurlnote 三个字段。
  2. 来源可追溯:关键结论保存原始链接或资料编号。比如 source_url 字段,而不是"网上看到的"。
  3. 状态可枚举:用 draftreviewingapprovedrejected,不要只写"差不多好了"。枚举值让判断节点能工作。

3.3 字段设计对照表

❌ 不好的字段 ✅ 好的字段 原因
info(一个字段塞所有) title + url + date 可读、可判断、可追溯
status: 差不多好了 status: reviewing 枚举值,判断节点能用
来源: 网上找的 source_url: https://... 可追溯,可核实
tags: 科技,数码,手机,苹果,新品 tags: ["科技","数码"] + keywords: ["手机","苹果","新品"] 分类和关键词分开

四、分支、循环与失败处理

4.1 条件分支

条件分支让流程会"判断"。设计分支时,规则要具体:

如果资料来源为空
  → 标记"待补资料"
  → 通知提交人
  → 结束本轮(不继续往下走)

如果包含敏感词
  → 进入人工审核
  → 审核通过 → 继续
  → 审核拒绝 → 退回修改

如果内容重复度过高(>80%)
  → 返回改写节点
  → 改写后再检查
  → 最多重试 2 次

否则
  → 进入草稿生成

关键:每个分支都要有明确终点,不能无限循环。

4.2 循环与批处理

当输入是一批 20 个选题时,不要让模型一次处理所有内容。应逐条处理、记录结果,再汇总:

读取选题列表(20 条)
  → 循环开始
    → 对每条执行检查
    → 写入结果表
  → 循环结束(20 条都处理完)
  → 汇总通过/待审/失败数量

循环设计的三条铁律:

  1. 有上限:最多循环 N 次,防止异常输入导致无限调用。
  2. 有停止条件:比如"遇到 3 次连续失败就停止"。
  3. 有成本控制:每次循环都可能产生 API 调用费用,设置总调用上限。

4.3 重试与幂等

网络超时不等于任务失败。为可重试节点设置有限次数重试(如最多 3 次,间隔递增)。

幂等性:为写入或发送操作设置唯一任务 ID,避免重跑时产生两份发布稿或重复通知。同一 task_id + stage + version 重试不会产生无法区分的重复结果。

幂等性示例:
  任务 ID: 20260808-001
  阶段: voice_synthesis
  版本: v1

  第一次执行 → 生成音频 A,保存
  超时重试 → 检查 task_id+stage+version 已有结果
           → 如果已有结果且完整,跳过
           → 如果没有结果,重新生成

五、定时触发与外部接入

5.1 定时触发

适合:每天汇总、每周复盘、每小时检查新数据。

配置要点:

5.2 Webhook

适合:外部系统发生事件时启动流程,例如表单提交、代码推送、支付完成。

配置要点:

5.3 人工触发

适合:高风险或低频任务。

一个"开始生成"按钮往往比误触的定时任务安全。对于涉及发布、付款、删除的任务,优先用人工触发,不要用定时触发。

5.4 外部 API 接入

当你需要让工作流调用外部 API(比如本项目 vbox 的 TTS 对外 API)时,注意:

L1D-06 会详细讲怎么把 API 封装成 Agent 工具,包括鉴权、限流和日志。


六、实战:搭一条"选题到待审核提纲"流程

6.1 目标

每周从人工提交的选题中,生成结构化提纲;任何事实不明内容都停在审核队列。

6.2 流程图

表单提交
  │
  ▼
格式检查 ──(缺字段)──→ 退回提交人
  │
  ▼
去重检查 ──(重复)──→ 标记"疑似重复" → 人工确认
  │
  ▼
资料摘要(只根据给定资料)
  │
  ▼
生成提纲(固定输出格式)
  │
  ▼
事实/敏感性判断
  │
  ├─(待核实项非空)──→ 人工审核
  ├─(涉及敏感主题)──→ 人工审核
  │
  ▼
保存至选题库(带版本号)
  │
  ▼
通知审核人

6.3 分步配置

  1. 触发节点:表单字段为 topicaudiencesource_urlsdeadline
  2. 格式检查:缺 topicsource_urls 时直接退回,不调用模型。节省成本。
  3. 去重节点:对比历史选题的标题与关键词,输出 dedup_status: new / suspected_duplicate
  4. 摘要节点:只根据给定 source_urls 生成摘要,并保留 sources 字段。找不到链接时标记 fetch_failed
  5. 提纲节点:固定输出 core_claimkey_points(3 个)、pending_verificationsuggested_format
  6. 判断节点:pending_verification 非空或涉及敏感主题时进入人工审核。
  7. 输出节点:审核通过后写入内容库,保留 task_idversion

6.4 验收样例

用以下三组输入测试:

测试组 输入 期望结果
正常组 资料完整的普通主题 生成提纲,进入选题库
缺数据组 没有来源链接 格式检查退回,不调用模型
重复组 与历史内容重复的主题 标记"疑似重复",进入人工确认

三个结果都应可解释,且不应自动进入发布环节。


七、工作流设计清单

把这张清单复制到笔记里,每次设计工作流时逐项检查:

[ ] 目标有明确输入、输出和完成标准
[ ] 每个节点都有字段定义(不是自由文本)
[ ] 关键事实保留来源(source_url 或资料编号)
[ ] 空输入、重复输入、超时和失败都有路径
[ ] 循环有数量上限(最多 N 次)
[ ] 自动动作前有权限检查
[ ] 发布、付款、删除、对外回复设为人工确认
[ ] 结果可按 task_id 查询、重试和归档
[ ] 设置调用次数或预算上限
[ ] 审核节点有负责人和时限
[ ] 失败时有通知机制
[ ] 写入操作幂等(重试不产生重复结果)

FAQ:常见问题

Q1:什么时候该用分支,什么时候让模型判断?

硬规则用分支,软判断用模型 + 人工复核。

权限检查、状态判断、是否有资料这类"非黑即白"的规则,用判断节点(分支)——确定性高、成本低。语气匹配度、选题潜力这类"灰度判断",可以让模型给建议,但最终由人复核。

Q2:工作流需要多少节点才算专业?

节点数量不代表质量。能用最少节点清楚表达规则、且失败可恢复,就是好流程。一个 5 个节点但每个都经过测试的工作流,比一个 20 个节点但没人知道异常路径的工作流可靠得多。

Q3:怎样避免模型输出破坏后续节点?

固定 JSON 或表格字段,校验必填项。不合格就回到"补充或人工审核"节点,不把自由文本直接传到执行节点。具体做法:

  1. 处理节点的提示词里写明"请输出 JSON 格式,包含以下字段:..."
  2. 下一节点接收前,先校验字段是否齐全、类型是否正确。
  3. 校验不通过 → 进入"格式修复"节点或人工审核,不继续往下走。

Q4:定时任务和 Webhook 能混用吗?

可以,但要避免冲突。比如同一个任务既被定时触发又被 Webhook 触发,可能导致重复执行。解决方法:用 task_id 做幂等控制,同一个 task_id 只执行一次。

Q5:工作流跑了一段时间后变慢了,怎么办?

排查以下几点:


进阶避坑指南

坑 1:没有失败路径

现象:工作流跑着跑着突然不动了,也不知道卡在哪里。

原因:真实运行中会遇到链接打不开、模型限流和字段为空等各种情况。没有预设失败路径,流程只会静默停住,你甚至不知道它停了。

处理:每个节点都问自己"如果这步失败了怎么办?"。答案写入流程:标记失败原因 → 通知人工 → 继续或终止。关键节点失败时必须有通知,不能让失败静默。

坑 2:把审核放在最后

现象:自动化跑完了文案、配图、配音、视频,最后统一审核,发现事实错误,全部要重做。

原因:事实错误一旦被用于生成图片、配音和多平台版本,返工成本是 10 倍以上。审核放最后,等于让错误通过了所有下游环节。

处理:审核应靠近源头。至少在以下位置设审核点:

  1. 母稿/事实审核(最前)
  2. 视觉草稿审核(中间)
  3. 发布前审核(最后,但不应该是唯一的审核)

坑 3:不保留中间结果

现象:工作流出了问题,但只保存了最终结果,无法知道是资料的问题、提示词的问题还是工具的问题。

原因:没有中间数据就无法定位问题根源。每次"重跑"都像盲盒——不知道改了什么会影响什么。

处理:每个关键节点至少保存:状态(success/failed)、输出摘要、时间戳、调用次数。这样出了问题可以精确定位"是第 3 步的资料摘要出了问题,还是第 4 步的提纲生成出了问题"。


最重要的三句话

  1. 工作流的交接靠字段和状态,不靠"让下一步自己理解"。
  2. 先设计异常与审核,再连接生成工具——失败路径比成功路径更重要。
  3. 把可重复的小流程跑稳,才值得扩大自动化范围,先小后大。

下一站预告

掌握节点与数据流后,下一篇《L1D-04 自媒体自动化场景实战:从选题到复盘》会把这些基础组合为创作者真正会反复使用的五类场景:选题监控、内容初产、多平台分发、数据回收和评论/私信助手。


教程版本:v1.0 最后更新:2026-08 内容时效:各平台的节点名称和触发方式不同,但字段、审核、异常与权限原则通用。以当前平台文档为准。