Dify 发布 Agent 节点:为 Workflow 注入自主决策能力
在人工智能技术日新月异的今天,工作流自动化正迎来新一轮的变革。长期以来,传统自动化流程依赖于预先设定的固定动作,这在处理复杂问题时显得捉襟见肘,就像是让钢琴家只能机械地演奏乐谱,缺乏灵活性和创造性。
然而,随着大型语言模型 (LLM) 推理能力的飞速提升,将工作流中某些环节的决策权逐步交给 LLM 成为了可能。近日,Dify 平台正式推出了 Agent 节点 Strategy 类型插件,这一创新功能旨在为用户提供更智能、更自主的工作流自动化体验。
;, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; text-align: justify; white-space: normal; background-color: rgb(255, 255, 255);">
Agent 节点与 Strategy 的关系:解耦设计,灵活升级
Dify Workflow 中的 Agent 节点,其核心作用在于打破传统工作流的刚性约束,使得某些环节不再局限于固定的流程和工具模式。相反,Agent 节点允许 LLM 在特定环节进行自主决策和判断,从而应对更加复杂和动态的任务需求。
为了实现 Agent 节点的灵活性和可扩展性,Dify 引入了 Agent Strategy (代理策略) 的概念。Agent Strategy 是一个可扩展的模板,它定义了标准化的输入内容和输出格式。通过开发特定的代理策略配置界面,Dify 允许用户应用各种先进的代理策略,例如 CoT (思维链)、ToT (思维树)、GoT (思维图) 以及 BoT (思维支柱) 等,甚至可以实现更为复杂的语义内核策略。
在 Dify 平台中,Agent 节点承载了 Agent Strategy,并与工作流的上下游节点紧密连接。与 LLM 节点类似,Agent 节点专注于解决具体任务,并将最终结果反馈给下游节点。
为了更清晰地理解 Agent 节点与 Agent Strategy 之间的关系,可以将其类比为汽车的引擎与控制系统:
Agent 节点 (执行单元): 扮演着工作流中的 "决策中心" 角色,负责调度资源、管理运行状态,并记录完整的推理过程。
Agent Strategy (决策逻辑): 作为一个可插拔的推理算法模块,Agent Strategy 定义了工具的使用规则和问题解决范式。
这种精妙的解耦设计,使得开发者能够独立升级 "动力系统" (Agent Strategy),而无需对整个工作流架构进行大改动,极大地提升了系统的灵活性和可维护性。
目前,Dify 预置了两种经典的 Agent Strategy 策略供用户选择:
ReAct: 经典的 "思考-行动-观察" 推理链,模拟人类的思考和行动模式。
Function Calling: 支持函数式精准调用,能够精确调用外部工具或 API。
用户可以直接在 Dify Marketplace 中下载这些预设策略,并快速应用到自己的工作流中。更重要的是,Dify 推出了开放的策略开发标准,鼓励开发者共同构建繁荣的 Agent Strategy 生态。在 Dify 平台上,任何开发者都可以:
通过 CLI 工具快速创建自定义策略插件。
自定义策略的配置表单和可视化组件。
将前沿的学术算法 (如 Tree-of-Thoughts) 集成到 Agent 节点中。
这意味着 Dify 正在成为 AI 推理策略的 "创新平台",每个用户都能够共享社区共建的成果,并从中受益。
Agent 节点功能概览
功能全景图展示了 Agent 节点的主要功能。

接下来,我们将分别面向普通用户和开发者,介绍 Agent 节点的具体使用方法和优势。
面向普通用户:拖拽即用,透明推理
1. 拖拽即用,快速配置
Dify 平台将 Agent 节点的使用门槛降至最低。用户可以从工具面板中直接拖拽 Agent 节点到工作流画布中,只需简单的三个步骤即可完成配置:
选择推理策略: 从预置或自定义的策略列表中选择合适的 Agent Strategy。
绑定工具/模型: 将 Agent 节点与所需的工具或语言模型进行绑定。
设置提示词模板: 根据任务需求,设置清晰的提示词模板,引导 LLM 进行推理和决策。

2. 透明化推理过程,实时日志
Dify 代理策略的一个强大功能是其内置的日志机制。这个机制创建了代理思考过程的树状结构,实现了代理执行路径的可视化,方便调试复杂的多步骤推理。

通过实时日志,用户可以清晰地查看:
总耗时 / Token 消耗: 了解 Agent 节点的资源消耗情况。
多轮思考过程: 追踪 LLM 的多轮思考和决策步骤。
工具调用轨迹: 监控 Agent 节点对外部工具的调用记录。
透明化的推理过程和实时的日志信息,极大地提升了 Agent 节点的可debug性和可解释性,帮助用户更好地理解和优化工作流。
面向开发者:标准化开发,灵活定制
对于开发者而言,Dify 提供了标准化的开发套件, 帮助开发者快速构建和定制 Agent Strategy。 定义一个 Agent Strategy 的核心在于定义以下模块,从而规定语言模型如何:
处理用户查询: 接收和解析用户的自然语言查询。
选择合适的工具: 根据查询内容和任务需求,选择合适的工具。
使用正确的参数执行工具: 以正确的参数调用所选工具。
处理工具返回结果: 解析和处理工具执行后的返回结果。
判断任务完成时机: 确定任务何时完成并输出最终答案。

标准化的开发套件, 包含了策略配置组件库 (如 Model Selector / Tool Editor 等)、结构化日志接口、以及沙箱测试环境, 极大地简化了策略开发流程。
策略的定义主要包括策略的身份和元数据、必需的参数 (例如模型、工具、查询等)、参数的类型和约束,以及策略实现源代码的位置。
Agent 的执行流程主要分为三个阶段: 初始化、迭代循环和最终回答。
初始化阶段: 系统完成必要的参数配置、工具设置和上下文准备。
迭代循环阶段: 系统准备包含当前上下文的提示词,并利用工具信息调用大型语言模型 (LLM)。随后,系统解析 LLM 的响应,判断是调用工具还是已获得最终答案。如果需要调用工具,系统将执行相应的工具,并使用工具的输出结果更新上下文。这个循环持续进行,直到任务完成或达到预设的最大迭代次数。
最终回答阶段: 系统返回最终答案或结果。
Dify 平台支持通过 YAML 文件以声明式的方式定义策略。 例如,以下代码展示了一个名为 function_calling.yaml 的配置文件示例:
复制复制
复制
parameters:- name: model
type: model-selector
scope: tool-call&llm- name: tools
type: array[tools]- name: max_iterations
type: numberdefault: 5extra:python:source: function_calling.py
这种声明式架构使得策略配置如同填写表格一样简单直观,同时支持:
参数动态校验: 对参数类型、范围和依赖关系进行动态验证。
多语言标签自动渲染: 自动渲染多语言版本的配置界面。
更多关于策略定义的详细信息,请参考 Dify 官方文档: https://docs.dify.ai/plugins/schema-definition/agent
未来展望:持续迭代,无限可能
Dify 平台计划在未来持续迭代 Agent 节点功能,并增加更多面向开发者的组件库,例如:
知识库调用能力
Chatflow 中的 Memory (记忆) 组件
错误处理和重试机制
更多官方 Agent 策略

用户可以根据自身需求,从社区下载不同的 Agent Strategy,并将其加载到不同的 Agent 节点中,以解决各种复杂的任务。
在初次尝试 Agent 节点时,用户可以使用三节点的 Chatflow 快速了解其运行原理,并模拟 Agent 的基本能力。 在解决更复杂的任务时,可以尝试使用路由和交接等高级技巧,将 Agent 节点视为 LLM 节点的强大扩展,通过分步骤解决复杂问题。
例如,通过 Agent 节点,用户可以实现类似 OpenAI ChatGPT-4o with Task 的复杂任务处理能力 (下图来自社区贡献者 Pascal)。

更多高级玩法将在 Dify 1.0.0 版本中正式发布, 欢迎更多开发者贡献自己的 Agent Strategy,共同构建繁荣的 Dify 生态!
<br/>