工作流节点详解
节点是工作流的「积木」。本章拆解最常用的几类节点,并给出组合思路。掌握它们,你能拼出绝大多数业务流水线。
1. LLM 节点
调用大模型生成内容。配置项:
- 模型:选具体模型与温度
- 提示词:可引用上游变量,如
{{#start.query#}} - 记忆:是否带会话历史(对话型工作流可用)
- 输出:默认
text字段供下游引用
提示词示例:
你是翻译助手。把下面文本译成英文:
{{#start.text#}}2. 知识检索节点
关联知识库,按输入检索片段。
输入:{{#start.query#}}
输出:{{#retrieve.result#}} (数组,含多个片段)常与 LLM 节点串联做 RAG。
💡检索结果先筛再喂
检索返回多个片段,可直接全喂给 LLM;若片段很长,可在中间插一个「代码/条件」节点截取 Top 片段或拼接,控制 token 成本。
3. 代码节点(Code)
用 Python/JavaScript 写轻量逻辑:数据清洗、格式转换、简单计算。
# 代码节点示例:把检索片段拼接成一段上下文
def main(retrieve_result: list) -> dict:
context = "\n".join([r["content"] for r in retrieve_result[:3]])
return {"context": context}⚠️代码节点别写重逻辑
它适合「胶水代码」:切片、拼接、解析。重业务逻辑、需要依赖库或联网的,应放到你的后端服务,由 API 工具调用(第 9 章)。
4. 条件节点(IF / 分支)
根据表达式走不同分支。
IF {{#start.lang#}} == "en"
→ 走「英文回答」分支
ELSE
→ 走「中文回答」分支支持比较、包含、为空等判断,是流程分流的关键。
5. 迭代节点(Iteration)
对数组逐元素执行子流程,类似编程里的 for 循环。
输入:检索结果数组 [片段1, 片段2, 片段3]
子流程:对每个片段调用 LLM 抽取关键信息
输出:抽取结果数组适合「批量处理多条记录」场景,如批量摘要多篇文章。
6. 典型组合示例
Start(问题)
→ 知识检索 → 代码节点(拼接Top3)
→ 条件节点(是否含敏感词)
是 → 直接返回「无法回答」
否 → LLM(生成答案) → End🎯动手做
在上一章工作流基础上,加入一个「代码节点」把检索结果拼接成一段上下文,再传给 LLM;再尝试加一个「条件节点」判断问题长度,超长时先摘要再回答。
小结
- LLM 节点生成、知识检索做 RAG、代码节点做胶水处理
- 条件节点分流、迭代节点批量处理数组
- 组合思路:检索→清洗→判断→生成→输出
- 下一步:让模型自主决策的 Agent →