第6章:工作流编排
把复杂任务分解成清晰步骤,像工厂流水线一样高效处理,让 Bot 拥有"程序思维"!
一、什么是工作流?
工作流(Workflow)是将复杂任务分解成一系列有序步骤的执行流程。
🏭 工厂流水线比喻
想象一个汽车制造工厂:
原材料 → 冲压车间 → 焊接车间 → 涂装车间 → 总装车间 → 成品汽车
(步骤1) (步骤2) (步骤3) (步骤4)
每个车间只负责一道工序,按部就班,最终产出成品。
Bot 的工作流也是类似的原理:
用户输入 → 理解意图 → 判断类型 → 选择处理方式 → 执行操作 → 生成回复
(节点1) (节点2) (节点3) (节点4) (节点5)
把"一锅粥"式的复杂逻辑,变成清晰的步骤链条。每个步骤职责明确,易于调试和优化。
二、什么时候需要工作流?
直接提示 vs 工作流
| 场景 | 直接提示 | 工作流 |
|---|---|---|
| 简单问答 | ✅ 适合 | 不需要 |
| 单步骤任务 | ✅ 适合 | 不需要 |
| 多步骤处理 | ⚠️ 容易出错 | ✅ 推荐 |
| 需要条件判断 | ⚠️ 不稳定 | ✅ 推荐 |
| 调用多个 API | ❌ 难以控制 | ✅ 推荐 |
| 需要数据转换 | ❌ 难以控制 | ✅ 推荐 |
工作流适用场景
智能客服
判断问题类型 → 查询知识库/创建工单 → 生成回复
数据分析
获取数据 → 清洗处理 → 分析计算 → 生成报告
内容生成
收集素材 → 提取要点 → 生成草稿 → 润色优化
多源搜索
同时搜索多个来源 → 汇总结果 → 去重排序 → 输出
如果任务步骤超过 2 步,或需要根据不同条件走不同分支,建议使用工作流。
三、工作流界面介绍
Coze 的工作流编辑器采用可视化设计,直观易懂。
界面组成
┌─────────────────────────────────────────────────────────────────┐
│ 顶部工具栏 │
│ [运行] [发布] [版本] 帮助 │
├──────────┬──────────────────────────────────────┬───────────────┤
│ │ │ │
│ 节点库 │ │ 测试面板 │
│ ────────│ 画布(工作区) │ ─────────── │
│ │ │ 输入框 │
│ 🟢 开始 │ ┌─────────┐ │ │
│ 🔵 大模型 │ ┌───→│ 节点A │───┐ │ 运行结果 │
│ 🟡 知识库 │ │ └─────────┘ │ │ ─────────── │
│ 🟠 插件 │ │ ↓ │ 变量监控 │
│ 🔴 选择器 │ │ ┌─────────┐ │ │ 执行日志 │
│ ⚫ 结束 │ └───→│ 节点B │───┘ │ │
│ │ └─────────┘ │ │
│ │ │ │
└──────────┴──────────────────────────────────────┴───────────────┘
各区域功能
| 区域 | 功能说明 |
|---|---|
| 节点库 | 左侧栏,包含各种可用节点类型,拖拽到画布使用 |
| 画布 | 中间区域,工作流的可视化编辑区,可缩放、拖动画布 |
| 测试面板 | 右侧栏,可输入测试数据、查看运行结果和变量状态 |
| 顶部工具栏 | 运行、发布、版本管理等功能按钮 |
基本操作
- 添加节点:从左侧节点库拖拽到画布
- 连接节点:点击节点输出点,拖动到下一节点输入点
- 配置节点:点击节点打开配置面板
- 删除节点:选中节点按 Delete 或右键删除
- 移动画布:按住空格键拖动或滚动鼠标
- 缩放画布: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,需要:
- 判断用户问题类型(产品咨询 / 售后服务 / 其他)
- 产品问题 → 查询产品知识库
- 售后问题 → 调用工单系统创建工单
- 大模型生成友好回复
工作流设计图
┌─────────┐
│ 🟢 开始 │
│ 用户问题 │
└────┬────┘
│
▼
┌─────────────┐
│ 🔵 大模型 │
│ 分析意图 │
│ 输出问题类型 │
└──────┬──────┘
│
▼ 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 中使用工作流
- 保存并发布工作流
- 在 Bot 编辑页面,点击"工作流"区域
- 添加刚创建的工作流
- 在人设中引导 Bot 使用工作流:
你是智能客服助手。
当用户提出问题时,调用"智能客服工作流"处理,
并将工作流的结果回复给用户。
六、调试技巧
1️⃣ 单步运行
逐节点执行,观察每个步骤的输出:
- 点击节点上的"运行"按钮,单独测试该节点
- 查看每个节点的输出是否符合预期
- 快速定位问题节点
2️⃣ 查看变量
在测试面板监控变量值:
┌─────────────────────────────┐
│ 变量监控 │
├─────────────────────────────┤
│ user_question = "怎么退货?" │
│ question_type = "售后" │
│ ticket_result = { │
│ id: "TK123456", │
│ status: "created" │
│ } │
└─────────────────────────────┘
3️⃣ 错误排查清单
4️⃣ 常见问题
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 工作流不执行 | 未在人设中调用 | 在提示词中明确调用工作流 |
| 变量为空 | 变量名拼写错误 | 检查大小写和拼写 |
| 选择器走默认分支 | 条件表达式错误 | 检查变量值和比较条件 |
| 插件调用失败 | 参数缺失或 API 问题 | 检查必填参数,测试插件 |
| 回复格式混乱 | 提示词不清晰 | 优化大模型节点的提示词 |
建议先用简单的测试数据验证工作流,确认基本逻辑正确后,再用复杂数据测试边界情况。
七、本章小结
📚 核心知识点
- 工作流把复杂任务分解成有序的步骤链条
- 多步骤、需判断、调 API 的场景适合使用工作流
- 常用节点:开始、大模型、知识库、插件、选择器、结束
- 选择器节点实现条件分支,是工作流的"交通指挥官"
- 调试时善用单步运行和变量监控
🎯 动手练习
- 创建一个简单的工作流:输入 → 大模型处理 → 输出
- 添加选择器节点,实现简单的条件分支
- 结合知识库节点,做一个 FAQ 问答工作流
- 尝试复刻本章的"智能客服工作流"
🎉 恭喜完成 Coze 入门教程!
你已经掌握了:
- ✅ Bot 基础概念
- ✅ 提示词编写技巧
- ✅ 知识库搭建方法
- ✅ 插件使用与组合
- ✅ 工作流编排技术
现在你已经可以独立创建功能丰富的 AI Bot 了!继续实践,做出属于你的爆款 Bot 吧!