Dify工作流三剑客:参数提取、变量赋值与聚合详解
参数提取、变量赋值与聚合详解
一、参数提取器:自然语言到结构化的桥梁
核心功能:
- 智能转换自然语言为结构化数据(数字/字符串/对象/数组)
- 为后续工具调用和API请求提供标准输入格式
- 满足特殊节点格式要求(如迭代节点需数组输入)
实战场景:
- 用户说"查最近3天订单" → 提取
{"time_range":3, "type":"orders"}
- 将文本日志转换为数据库存储格式
- 适配HTTP请求所需的JSON参数结构
常见挑战:
- 原始数据格式不规范导致转换失败
- 复杂语义理解偏差
- 深层嵌套结构处理局限
二、变量赋值:工作流的中枢记忆系统
1. 会话变量(Chatflow专属)
核心价值:
- 跨对话状态保持关键数据
- 实现多Agent间信息共享
- 构建长期对话记忆体系
典型应用:
- 记录用户偏好(主题/语言设置)
- 保存多轮对话历史
- 共享跨Agent处理结果
2. 循环变量(1.2.0版本革新)
版本进化对比:
功能 | 1.2.0前版本 | 1.2.0+版本 |
---|---|---|
实现方式 | 手动创建前置变量 | 自动管理循环变量 |
操作复杂度 | 高(需维护索引) | 低(开箱即用) |
典型场景 | 遍历时手动管理当前项 | 自动跟踪迭代状态 |
核心优势:
- 简化数据遍历流程
- 自动维护迭代状态
- 降低循环逻辑复杂度
之前版本
1.2.0版本
三、变量聚合:多分支的统一出口
核心价值:
- 整合条件分支的不同输出路径
- 为下游节点提供统一接口
- 避免重复定义输出变量
运作机制:
- 监听多路分支的输出结果
- 自动选择首个有效分支输出
- 映射为标准化输出变量
典型场景:
- 问题分类器分流后的结果汇总
- 条件分支不同处理路径的输出整合
- 异常处理分支与主路径的统一出口
注意事项:
- 各分支输出结构应兼容
- 需处理空结果场景
- 被忽略分支结果需记录日志
参考资料:
- 变量聚合器:https://docs.dify.ai/zh-hans/guides/workflow/node/variable-aggregator
- 变量赋值:https://docs.dify.ai/zh-hans/guides/workflow/node/variable-assigner
- 参数提取器:https://docs.dify.ai/zh-hans/guides/workflow/node/parameter-extractor