第十二章 · 工作流节点体系
本章定位:前面十一章讲的都是「单轮问答」的 RAG——用户问一句,系统检索+生成答一句。但很多业务不是一问一答能搞定的:先识别用户意图,再查知识库,可能还要查订单系统,根据结果分支走不同流程,最后综合回复。工作流编排就是把多个能力节点像搭积木一样串成一条流水线,让 AI 按流程协同工作。本章讲工作流里有哪些节点(积木)、每个节点干什么、怎么配置。
一、为什么需要工作流编排
1. 单轮 RAG 的局限
单轮 RAG 是「问题 → 检索 → 生成」一条直线。但真实业务经常需要多步骤协同:
用户「帮我查下订单 20240315 的状态,顺便告诉我退货政策」
→ 第1步:识别意图(查订单 + 问政策,两个意图)
→ 第2步:调订单系统查状态(工具调用)
→ 第3步:检索知识库查退货政策(RAG 检索)
→ 第4步:根据订单状态分支(已发货?已签收?走不同流程)
→ 第5步:综合订单信息 + 政策,生成回复
这种「先 A 再 B,根据 B 的结果决定走 C 还是 D,最后 E 汇总」的流程,单轮 RAG 搞不定——它没有「步骤」「分支」「变量传递」的概念。
2. 工作流 = 可视化的节点图
工作流编排把这些步骤抽象成节点(Node),用**连线(Edge)**串成一张有向图:
[开始] → [意图分类] → [查订单] ─┐
┌──┤
[知识库检索] ←──────────────┘ │
└──→ [分支判断] ──→ [生成回复A]
└─────→ [生成回复B]
- 每个节点是一个独立能力(检索、调 LLM、查工具、分支判断);
- 连线定义执行顺序和数据流向;
- 分支节点根据条件走不同路径。
💡 这和 Dify、Coze、n8n 等编排平台是同一个思路——用可视化节点图表达复杂流程,比硬编码 if-else 灵活得多。
二、SparkX 的 7+1 种节点
SparkX 工作流有 8 种节点(注册 7 种 + 特殊的 start 节点):
| 节点 | 干什么 | 类比 |
|---|---|---|
| 开始 | 流程入口,注入系统变量 | 程序的 main() |
| 回复 | 输出内容给用户 | 程序的 print/return |
| 大模型 | 调 LLM 生成文本 | 调 AI 接口 |
| 知识库 | RAG 检索(向量+关键词) | 数据库查询 |
🔒 以上为本章部分预览(约 10%)
本章剩余 90% 内容包含:关键源码逐行拆解、设计细节与工程权衡、代码示例与生产实践要点。
加入知识星球,获取《SparkX 源码深度解析》全部 13 章
💡 本次展示的仅为部分预览内容(约 10%)。完整的源码深度解析包含每一个技术点的完整实现细节。点击上方按钮扫码加入知识星球,解锁全部内容。