在传统的自动化流程中,每个工具调用都是预先编排的固定动作。然而,当面对复杂问题时,这种刚性结构就像让钢琴家只能机械地按乐谱演奏。Workflow 主要是对具体任务的执行进行约束,但随着 LLM 推理能力的增强,我们可以逐步将 Workflow 中可信的部分交由 LLM 执行。近日,Dify 正式推出了 Agent 节点 Strategy 类型插件,我们将在接下来的部分介绍这一功能。
核心概念:Agent Node 与 Strategy 的关系
在 Dify 的 Workflow 中,Agent 节点的作用是让某些环节不再需要固定的流程和工具模式,而是可以交由 LLM 自主决策与判断。代理策略是一个可扩展的模板,用于定义标准输入内容和输出格式。通过开发特定的代理策略界面功能,您可以实施各种代理策略,例如 CoT(思维链)/ ToT(思维树)/ GoT(思维图)/ BoT(思维支柱),并实现语义内核等复杂策略。
在 Dify 中,Agent Node 承载了 Agent Strategy,并与上下游节点连接,类似于 LLM 节点,它解决一个具体任务并将最终响应返回给下游。
-
Agent Node(执行单元) 工作流中的「决策中心」,负责调度资源、管理状态、记录完整推理过程。 -
Agent Strategy(决策逻辑) 可插拔的推理算法模块,定义工具使用规则和问题解决范式。
这种解耦设计,就像将汽车的引擎与控制系统分离,让开发者可以独立升级「动力系统」,而不影响整车架构。我们预置了两种经典 Agent Strategy:
-
ReAct:思考-行动-观察的经典推理链
-
Function Calling:函数式精准调用

你可以直接在 Marketplace 中下载这些策略。更重要的是,我们推出了开放的策略开发标准。在 Dify,任何开发者都可以:
-
通过 CLI 工具快速创建策略插件 -
自定义配置表单和可视化组件 -
对接学术前沿算法(如 Tree-of-Thoughts)
这意味着 Dify 将成为 AI 推理策略的「创新试验场」,每个用户都能享受社区共建的红利。
功能全景图
在 Workflow 中,Agent 节点使得多步工具推理可以实现自主思考。一个最小的 Agent Strategy 至少需要定义 LLM API 和工具的使用方式。
对普通用户
-
拖拽即用
从工具面板直接拖入 Agent 节点,三步完成配置:
-
选择推理策略 -
绑定工具/模型 -
设置提示词模板

-
总耗时/Token 消耗 -
多轮思考过程 -
工具调用轨迹
对开发者
定义一个 Agent Strategy,就是在定义以下模块,规定语言模型如何:
-
处理用户查询;
-
选择合适的工具;
-
使用正确的参数执行这些工具;
-
处理结果;
-
确定任务何时完成。
标准化开发套件:包含策略配置组件库(如 Model Selector/Tool Editor 等)、结构化日志接口、沙盒测试环境。
策略的定义包括其身份和元数据、必需的参数(如模型、工具、查询等)、参数的类型和约束,以及实现源代码的位置。
代理的执行流程分为三个主要阶段:初始化、迭代循环和回答。在初始化阶段,系统会设置好所需的参数、工具和上下文。接着进入迭代循环,在这个阶段,系统会准备包含当前上下文的提示,并使用工具信息调用大型语言模型(LLM)。然后,系统解析 LLM 的响应,以确定是调用工具还是获得最终答案。如果需要调用工具,系统会执行相应的工具,并用工具的输出结果更新上下文。这个循环会持续进行,直到任务完成或达到预设的最大迭代次数为止。最后,在最终阶段,系统会返回最终的答案或结果。
通过 YAML 文件定义策略,例如,定义一个 function_calling.yaml 配置文件:
parameters:- name: modeltype: model-selectorscope: tool-call&llm- name: toolstype: array[tools]- name: max_iterationstype: numberdefault: 5extra:python:source: function_calling.py
这种声明式架构使策略配置如填写表格般简单,同时支持:
-
参数动态校验(类型/范围/依赖关系) -
多语言标签自动渲染
未来展望:持续迭代更多可能
未来,我们计划增加更多适合开发者的组件库,如:
-
知识库调用 -
Chatflow 中的 memory -
错误处理及重试 -
更多的官方 Agent 策略
用户可以自主从社区下载不同策略并将其装载到不同节点中,以解决不同任务。在尝试 Agent Node 时,可以用三节点的 Chatflow 简单了解其运行原理,并模拟 Agent 的能力。解决复杂任务时,可以尝试使用路由和交接的方式,将 Agent 节点视为 LLM 节点的扩展,分步骤解决问题。
比如,通过 Agent 节点实现 OpenAI ChatGPT-4o with Task 的能力(图来自社区贡献者 Pascal)。