【实例】Dify1.6 智能体之多工作流链式参数传递

本文分享一个基于工作流的智能体设计示例,展示如何通过调用多个子工作流,实现数据的自动处理与传递,避免智能体天马行空。重点解析两个工作流的输入输出结构及提示词设计思路,帮助你快速理解智能体的构建模式。


示例背景

假设你有一个数据处理智能体,需要:

  1. 接收用户输入,自动提取字段 a(若未传入,使用默认值 "default_a")。

  2. 调用第一个工作流 T_Send,将字段 a 作为请求发送,并获取其返回值。

  3. 将 T_Send 的返回值中某部分数据(output字段)传递给第二个工作流 T_Recvive。

  4. 最终输出 T_Recvive 的结果中的某个具体字段。

  5. 如下图:对话框输入"数据:测试京津冀",返回如下图:


工作流及代码示例

复制代码
# 接收输入并调用 T_Send 工作流
#{{call 'T_Send'}}
{
  "request": {{{ {"a": input.a | default('default_a')} | to_json }}}
}
#{{/call}}

# 将 T_Send 的返回结果存入内存
#{{set_memory "send_result" last_call.data}}

输出T_Send的返回值是:
{{memory.send_result}}

# 调用 T_Recvive 工作流,传入 T_Send 返回结果中的 output 字段
#{{call 'T_Recvive'}}
{
  "output": {{{ memory.send_result.output | to_json }}}
}
#{{/call}}

输出T_Recvive的返回值是:
{{last_call.data.output.la}}

两个工作流输入输出描述

工作流名 输入参数 输出参数 说明
T_Send request 对象,包含字段 a(字符串) 返回含 output 字段的 JSON 对象 根据请求参数处理,返回带有输出数据,这里需要去掉output一级
T_Recvive output 对象(来自 T_Send 的输出) 返回含 output 字段的 JSON 对象 进一步处理传入的 output,提取最终结果

提示词(Prompt)设计分析

  1. 默认值处理

    使用 input.a | default('default_a') 表达式,保证无论用户是否传入字段 a,都能正常调用工作流,避免空值导致的异常。

  2. 数据传递清晰

    在调用 T_Recvive 时,明确传入 T_Send 返回的 output 字段,保证工作流链条上下文传递准确,避免数据丢失或混淆。

  3. 中间结果存储

    通过 #{{set_memory}} 语句将中间结果缓存到智能体内存,方便后续工作流调用或条件判断。

  4. 明确输出指向

    在输出阶段直接定位到具体字段(如 output.la,la是T_Recvive工作流的返回结果中的数据),方便下游使用或展示,避免输出内容过于庞杂。


总结

这个示例展示了多工作流协同的数据处理思路:

  • 灵活提取输入字段并处理默认值;

  • 使用明确的 JSON 结构传递数据;

  • 结合缓存机制管理中间状态;

  • 逐步拆解复杂任务,保证各工作流职责单一。

通过合理设计提示词和数据结构,能大幅提升智能体的可维护性和扩展性。希望这个示例对你设计复杂工作流有帮助!

相关推荐
闲人编程12 小时前
什么是“工具调用”(Function Calling)?Agent的手和脚
大模型·agent·智能体·工具调用·function·calling
小程故事多_8017 小时前
深度解析Claude Code,AI编码助手的底层架构与工作原理
java·人工智能·架构·智能体
SZLSDH18 小时前
从“端渲染”到“流渲染”的融合与平衡——数字孪生项目渲染架构的演进逻辑
ai·架构·数字孪生·数据可视化·智能体
Bruce_Liuxiaowei1 天前
OpenClaw 网关启动失败:配置文件权限错误的排查与修复
人工智能·智能体
weixin_509138341 天前
探秘智能体认知动力学(ACD):从概率生成到几何导航的AGI破局之路
人工智能·机器学习·智能体·智能体认知
行者-全栈开发2 天前
【DeepSeek 实战】打造全能编程助手:DeepSeek V4 Agent 开发与工具调用
agent·智能体·工具调用·functioncalling·自动化编程·多步推理·deepseek v4
xun-ming2 天前
SpringBoot和Vue3实战阿里百炼大模型极简版
spring boot·ai·vue3·智能体·百炼大模型
大龄码农有梦想3 天前
AI 智能体核心组件:Tool、MCP 与 Skills 的区别、标准与协同架构
人工智能·agent·智能体·ai工具·tool·mcp·skills
千桐科技3 天前
qKnow 行业智能体构建平台应用中心插件化:技术选型、架构设计与实现路径
插件化·dify·智能体·大模型应用·qknow·智能体构建平台·插件中心
小程故事多_803 天前
生产级大模型应用后端架构设计指南(从入门到实战)
人工智能·架构·智能体