第6章:工作流编排

把复杂任务分解成清晰步骤,像工厂流水线一样高效处理,让 Bot 拥有"程序思维"!

一、什么是工作流?

工作流(Workflow)是将复杂任务分解成一系列有序步骤的执行流程。

🏭 工厂流水线比喻

想象一个汽车制造工厂:

    原材料 → 冲压车间 → 焊接车间 → 涂装车间 → 总装车间 → 成品汽车
             (步骤1)     (步骤2)     (步骤3)     (步骤4)
            

每个车间只负责一道工序,按部就班,最终产出成品。

Bot 的工作流也是类似的原理:

    用户输入 → 理解意图 → 判断类型 → 选择处理方式 → 执行操作 → 生成回复
               (节点1)    (节点2)      (节点3)        (节点4)    (节点5)
          
💡 工作流的核心价值

把"一锅粥"式的复杂逻辑,变成清晰的步骤链条。每个步骤职责明确,易于调试和优化。

二、什么时候需要工作流?

直接提示 vs 工作流

场景 直接提示 工作流
简单问答 ✅ 适合 不需要
单步骤任务 ✅ 适合 不需要
多步骤处理 ⚠️ 容易出错 ✅ 推荐
需要条件判断 ⚠️ 不稳定 ✅ 推荐
调用多个 API ❌ 难以控制 ✅ 推荐
需要数据转换 ❌ 难以控制 ✅ 推荐

工作流适用场景

🤖

智能客服

判断问题类型 → 查询知识库/创建工单 → 生成回复

📊

数据分析

获取数据 → 清洗处理 → 分析计算 → 生成报告

📝

内容生成

收集素材 → 提取要点 → 生成草稿 → 润色优化

🔍

多源搜索

同时搜索多个来源 → 汇总结果 → 去重排序 → 输出

💡 选择建议

如果任务步骤超过 2 步,或需要根据不同条件走不同分支,建议使用工作流。

三、工作流界面介绍

Coze 的工作流编辑器采用可视化设计,直观易懂。

界面组成

┌─────────────────────────────────────────────────────────────────┐
│  顶部工具栏                                                      │
│  [运行] [发布] [版本]                                    帮助   │
├──────────┬──────────────────────────────────────┬───────────────┤
│          │                                      │               │
│  节点库   │                                      │   测试面板    │
│  ────────│         画布(工作区)                │   ─────────── │
│          │                                      │   输入框      │
│  🟢 开始  │         ┌─────────┐                 │               │
│  🔵 大模型 │    ┌───→│  节点A  │───┐             │   运行结果    │
│  🟡 知识库 │    │    └─────────┘   │             │   ─────────── │
│  🟠 插件  │    │                  ↓             │   变量监控    │
│  🔴 选择器 │    │    ┌─────────┐   │             │   执行日志    │
│  ⚫ 结束  │    └───→│  节点B  │───┘             │               │
│          │         └─────────┘                  │               │
│          │                                      │               │
└──────────┴──────────────────────────────────────┴───────────────┘
          

各区域功能

区域 功能说明
节点库 左侧栏,包含各种可用节点类型,拖拽到画布使用
画布 中间区域,工作流的可视化编辑区,可缩放、拖动画布
测试面板 右侧栏,可输入测试数据、查看运行结果和变量状态
顶部工具栏 运行、发布、版本管理等功能按钮

基本操作

  1. 添加节点:从左侧节点库拖拽到画布
  2. 连接节点:点击节点输出点,拖动到下一节点输入点
  3. 配置节点:点击节点打开配置面板
  4. 删除节点:选中节点按 Delete 或右键删除
  5. 移动画布:按住空格键拖动或滚动鼠标
  6. 缩放画布:Ctrl + 滚轮 或使用缩放按钮

四、基础节点类型详解

🟢 开始节点

作用:接收用户输入,是工作流的起点

特点:每个工作流必须有且只有一个开始节点

┌─────────────────┐
│    🟢 开始      │
│                 │
│  输入参数:      │
│  • query        │
│  • user_id      │
│  • session_id   │
└────────┬────────┘
         │
         ▼
          

配置要点:

  • 定义工作流需要接收的参数
  • 设置参数名称和数据类型
  • 可设置默认值(可选)

🔵 大模型节点

作用:调用 AI 模型处理文本任务

用途:理解语义、生成回复、总结提炼、判断分类

┌─────────────────┐
│    🔵 大模型     │
│                 │
│  模型:GPT-4    │
│                 │
│  提示词:        │
│  请分析以下文本  │
│  的情感倾向...   │
└────────┬────────┘
         │
         ▼ result
          

配置要点:

  • 选择模型(GPT-3.5 / GPT-4 / Claude 等)
  • 编写提示词(可使用变量)
  • 设置温度参数(创造性 vs 稳定性)
  • 指定输出变量名

🟡 知识库节点

作用:从知识库中检索相关信息

用途:问答、资料查询、事实检索

┌─────────────────┐
│   🟡 知识库     │
│                 │
│  选择知识库:    │
│  📚 产品手册     │
│                 │
│  查询内容:      │
│  {{query}}      │
└────────┬────────┘
         │
         ▼ search_result
          

配置要点:

  • 选择已创建的知识库
  • 设置查询内容(通常使用变量)
  • 调整检索条数(返回几条结果)
  • 设置相似度阈值(过滤不相关内容)

🟠 插件节点

作用:调用外部工具或 API

用途:查询天气、搜索新闻、数学计算等

┌─────────────────┐
│    🟠 插件      │
│                 │
│  选择插件:      │
│  🌤️ 天气查询    │
│                 │
│  参数:          │
│  city={{city}}  │
└────────┬────────┘
         │
         ▼ weather_info
          

配置要点:

  • 选择要使用的插件
  • 填写必要参数
  • 参数值可以是固定值或变量

🔴 选择器节点

作用:根据条件判断,选择不同分支执行

用途:分类处理、条件分支、流程控制

                   ┌─────────────┐
                   │  🔴 选择器   │
                   │             │
                   │ 条件1: type │
                   │    == "A"   │
                   │ ─────────── │
                   │ 条件2: type │
                   │    == "B"   │
                   │ ─────────── │
                   │ 默认: 其他   │
                   └──────┬──────┘
                          │
          ┌───────────────┼───────────────┐
          │               │               │
          ▼               ▼               ▼
    ┌─────────┐     ┌─────────┐     ┌─────────┐
    │ 分支A  │     │ 分支B  │     │ 默认分支 │
    └─────────┘     └─────────┘     └─────────┘
          

配置要点:

  • 设置判断条件(如 type == "question")
  • 可添加多个条件分支
  • 必须有一个默认分支(兜底)
  • 条件按顺序匹配,满足即执行

⚫ 结束节点

作用:输出最终结果,结束工作流

特点:每个分支最终都要连接到结束节点

┌─────────────────┐
│    ⚫ 结束      │
│                 │
│  输出内容:      │
│  {{result}}     │
│                 │
│  输出类型:      │
│  文本 / JSON    │
└─────────────────┘
          

配置要点:

  • 设置输出内容(可使用变量组合)
  • 选择输出格式(纯文本或结构化数据)
  • 可设置多个输出字段

节点类型速查表

图标 节点 功能 类比
🟢 开始 接收输入 工厂大门
🔵 大模型 AI 处理 智能工人
🟡 知识库 查询资料 资料室
🟠 插件 调用工具 专业设备
🔴 选择器 条件判断 分拣员
结束 输出结果 成品出口

五、实战:制作"智能客服工作流"

通过实际案例,学习如何搭建一个完整的工作流。

需求分析

我们要做一个电商智能客服 Bot,需要:

  1. 判断用户问题类型(产品咨询 / 售后服务 / 其他)
  2. 产品问题 → 查询产品知识库
  3. 售后问题 → 调用工单系统创建工单
  4. 大模型生成友好回复

工作流设计图

                    ┌─────────┐
                    │  🟢 开始 │
                    │  用户问题 │
                    └────┬────┘
                         │
                         ▼
                    ┌─────────────┐
                    │   🔵 大模型  │
                    │  分析意图    │
                    │ 输出问题类型 │
                    └──────┬──────┘
                           │
                           ▼ question_type
                    ┌─────────────┐
                    │   🔴 选择器  │
                    │  判断问题类型 │
                    └──────┬──────┘
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
        ▼                  ▼                  ▼
   type="产品"       type="售后"         其他
        │                  │                  │
        ▼                  ▼                  ▼
  ┌──────────┐      ┌──────────┐      ┌──────────┐
  │ 🟡 知识库 │      │ 🟠 插件   │      │ 🔵 大模型 │
  │ 查询产品  │      │ 创建工单  │      │ 通用回复  │
  │ 信息      │      │          │      │          │
  └────┬─────┘      └────┬─────┘      └────┬─────┘
       │                 │                 │
       └─────────────────┼─────────────────┘
                         │
                         ▼
                    ┌─────────────┐
                    │   🔵 大模型  │
                    │  生成最终   │
                    │  回复内容   │
                    └──────┬──────┘
                           │
                           ▼
                    ┌─────────────┐
                    │   ⚫ 结束    │
                    │  输出回复   │
                    └─────────────┘
          

步骤详解

步骤 1:创建开始节点

配置参数:

  • user_question:用户问题(字符串,必填)
  • user_id:用户ID(字符串,可选)

步骤 2:大模型节点 - 意图分析

提示词:

分析用户的咨询意图,分类如下:
- 产品咨询:询问商品信息、价格、库存、规格等
- 售后服务:退换货、维修、投诉、订单查询等
- 其他:问候、闲聊、其他问题

用户问题:{{user_question}}

请只输出分类结果:"产品"、"售后"或"其他"

输出变量:question_type

步骤 3:选择器节点 - 分流处理

条件设置:

条件 表达式 分支
条件1 question_type == "产品" 产品咨询处理
条件2 question_type == "售后" 售后服务处理
默认 以上都不满足 其他问题处理

步骤 4A:产品咨询分支 - 知识库查询

配置知识库节点:

  • 知识库:产品资料库
  • 查询内容:{{user_question}}
  • 返回条数:3

输出变量:product_info

步骤 4B:售后服务分支 - 创建工单

配置插件节点(假设有工单系统插件):

  • 插件:工单系统
  • 操作:创建工单
  • 参数:
    • user_id: {{user_id}}
    • content: {{user_question}}
    • type: "售后咨询"

输出变量:ticket_result

步骤 5:生成最终回复

提示词:

你是专业的电商客服,请根据以下信息生成友好的回复:

用户问题:{{user_question}}
问题类型:{{question_type}}

{% if question_type == "产品" %}
产品信息:{{product_info}}
请基于产品信息回答用户问题。
{% endif %}

{% if question_type == "售后" %}
工单状态:{{ticket_result}}
请告知用户工单已创建,并给出预计处理时间。
{% endif %}

{% if question_type == "其他" %}
请友好地回答用户问题。
{% endif %}

要求:
1. 语气亲切专业
2. 条理清晰
3. 适当使用 emoji 增加亲和力

输出变量:final_reply

步骤 6:结束节点

配置输出:

  • 输出内容:{{final_reply}}
  • 输出类型:文本

在 Bot 中使用工作流

  1. 保存并发布工作流
  2. 在 Bot 编辑页面,点击"工作流"区域
  3. 添加刚创建的工作流
  4. 在人设中引导 Bot 使用工作流:
你是智能客服助手。

当用户提出问题时,调用"智能客服工作流"处理,
并将工作流的结果回复给用户。

六、调试技巧

1️⃣ 单步运行

逐节点执行,观察每个步骤的输出:

  • 点击节点上的"运行"按钮,单独测试该节点
  • 查看每个节点的输出是否符合预期
  • 快速定位问题节点

2️⃣ 查看变量

在测试面板监控变量值:

┌─────────────────────────────┐
│  变量监控                    │
├─────────────────────────────┤
│  user_question = "怎么退货?" │
│  question_type = "售后"      │
│  ticket_result = {           │
│    id: "TK123456",           │
│    status: "created"         │
│  }                           │
└─────────────────────────────┘
          

3️⃣ 错误排查清单

开始节点是否正确定义了输入参数?
节点之间的连线是否正确?
变量名是否拼写正确(区分大小写)?
选择器条件表达式是否正确?
所有分支是否都连接到了结束节点?
插件/API 调用是否配置了正确的参数?

4️⃣ 常见问题

问题 可能原因 解决方法
工作流不执行 未在人设中调用 在提示词中明确调用工作流
变量为空 变量名拼写错误 检查大小写和拼写
选择器走默认分支 条件表达式错误 检查变量值和比较条件
插件调用失败 参数缺失或 API 问题 检查必填参数,测试插件
回复格式混乱 提示词不清晰 优化大模型节点的提示词
💡 调试建议

建议先用简单的测试数据验证工作流,确认基本逻辑正确后,再用复杂数据测试边界情况。

七、本章小结

📚 核心知识点

  • 工作流把复杂任务分解成有序的步骤链条
  • 多步骤、需判断、调 API 的场景适合使用工作流
  • 常用节点:开始、大模型、知识库、插件、选择器、结束
  • 选择器节点实现条件分支,是工作流的"交通指挥官"
  • 调试时善用单步运行和变量监控

🎯 动手练习

  1. 创建一个简单的工作流:输入 → 大模型处理 → 输出
  2. 添加选择器节点,实现简单的条件分支
  3. 结合知识库节点,做一个 FAQ 问答工作流
  4. 尝试复刻本章的"智能客服工作流"

🎉 恭喜完成 Coze 入门教程!

你已经掌握了:

  • ✅ Bot 基础概念
  • ✅ 提示词编写技巧
  • ✅ 知识库搭建方法
  • ✅ 插件使用与组合
  • ✅ 工作流编排技术

现在你已经可以独立创建功能丰富的 AI Bot 了!继续实践,做出属于你的爆款 Bot 吧!