工作流基础
当需求从「聊聊天」变成「按固定步骤处理一件事」,工作流(Workflow) 就该登场了。它用节点画布把处理逻辑可视化,比让模型自由发挥更可控、可调试、可复现。
1. 什么时候用工作流
- 流程固定:先 A 再 B 再 C,顺序明确
- 需要分支判断:满足条件走这条、否则走那条
- 要调用多个工具/知识库并拼装结果
- 对输出格式、步骤有强约束
💡工作流 vs Agent
流程你说了算、要稳定可预期 → 工作流。流程连你都不确定、要模型自己想办法 → Agent(第 12 章)。很多生产系统用「工作流为主 + 局部 Agent」的混合。
2. 画布与节点
创建工作流应用后进入画布,核心要素:
- Start(开始)节点:接收输入变量(如用户问题、文件)
- 中间节点:LLM、知识检索、代码、条件、迭代等(第 11 章)
- End(结束)节点:输出最终结果
- 连线:定义节点执行顺序与数据流向
[Start] --用户输入--> [知识检索] --> [LLM 生成] --> [End]
↘ [条件判断] --> [代码处理] --> [End]3. 第一个工作流:问答流水线
我们搭一个「检索增强问答」最小流程:
- 添加 Start,定义变量
query(用户输入) - 添加 知识检索 节点,关联你的知识库,输入
query - 添加 LLM 节点,提示词引用检索结果:
根据以下资料回答:{{#knowledge#}} 问题:{{#query#}} - 添加 End,输出 LLM 的结果
⚠️连线方向要对
节点连线错乱会导致「数据没传过去」。每个节点的输入来自上游哪个节点的哪个输出,画布上要能一眼看清。调试报错先看连线。
4. 运行与调试
- 点「运行」输入测试值,画布会高亮每个节点并展示中间结果
- 某个节点输出异常 → 单独改它,不必重跑全部
- 支持查看每一次运行的完整链路与变量快照
运行 #12
Start.query = "如何退款?"
知识检索 → 命中 3 段
LLM → 生成答案 128 字
End → 输出成功5. 变量在节点间传递
工作流的本质是数据流动。上游节点的输出以 {{#节点ID.字段#}} 形式被下游引用。
{{#start.query#}} ← Start 节点的 query 变量
{{#retrieve.result#}} ← 知识检索节点的 result
{{#llm.text#}} ← LLM 节点的 text🎯动手做
创建一个工作流应用,搭出「Start → 知识检索 → LLM → End」四节点流水线,运行并观察每个节点的中间输出,确认数据正确传递。
小结
- 工作流用节点画布把固定流程可视化,比自由对话更可控
- Start 收输入、End 出结果、连线定顺序,中间是各类节点
- 运行可逐步高亮、查看中间结果,便于调试
- 节点间靠
{{#节点.字段#}}传递数据;下一步详解各节点 →