[Dify实战] 工作流里的变量为什么越传越乱?先把输入输出契约、默认值和异常分支写清楚
Dify 工作流刚开始只有两三个节点时,变量怎么传都能看懂。可一旦加上分类、知识库检索、接口调用、条件分支和人工兜底,很多问题就会冒出来:字段名对不上、空值直接进了 LLM 节点、条件分支判断错来源、下游节点拿到的结构和上游输出不一致。今天这篇不讲“变量在哪里配置”,而是用一个客服工单助手案例,整理一套输入输出契约、默认值和异常分支的设计方法。
一、变量为什么会越传越乱?
很多 Dify 工作流一开始是这样搭起来的:
- 入口节点接收用户问题;
- LLM 节点判断意图;
- 知识库节点检索资料;
- HTTP 节点查订单或工单;
- 条件节点判断是否转人工;
- 最后再由 LLM 组织回复。
单看每一步都不复杂,但真正出问题的是“节点之间的约定”没有写清楚。
常见现象包括:
| 现象 | 表面原因 | 更深层原因 |
|---|---|---|
| 条件分支偶尔走错 | 判断字段为空或格式变化 | 上游输出没有固定结构 |
