
Agent节点 与 Agent策略
-
• Agent节点(执行单元)
工作流的“决策中心”。它分配资源、管理状态,并记录整个推理过程。 -
-
Agent策略,是一个可插拔的推理算法模块(可以具象为提示词),定义了如何使用工具以及如何解决问题,它是嵌入Agent节点来产生作用的。
Dify官方Agent策略插件介绍
Dify Agent策略插件是Dify官方推出的,如下是它的安装方法:

Function Calling将用户命令映射到特定的函数或工具。LLM 识别用户的意图,决定调用哪个函数,并提取所需的参数。这是一种直接调用外部能力的简单机制,它的优点有:
-
• 精确:直接调用适合定义任务的正确工具,避免复杂的推理。 -
• 易于外部集成:将外部 API 和工具集成到可调用的函数中。 -
• 结构化输出:提供结构化的Function Calling信息,便于处理。
ReAct 在LLM推理和采取行动之间交替进行。LLM分析当前状态和目标,选择并使用一个工具,然后利用工具的输出进行下一步的思考和行动。这个循环会一直重复,直到问题得到解决,它的优点有:
-
• 利用外部信息:有效使用外部工具来收集模型单独无法处理的任务所需的信息。 -
• 可解释的推理:推理和行动步骤交织在一起,允许一定程度上跟踪Agent 的过程。 -
• 广泛适用性:适用于需要外部知识或特定行动的任务,例如问答、信息检索和任务执行。
Dify发布了策略开发的开放标准,开发人员可以基于此标准进行各种其他策略开发:
Agent节点配置方法简介
-
1. 拖放式设置
只需从工具面板拖动一个 Agent节点,并通过三个步骤进行配置:
-
• 选择推理策略 -
• 链接工具/模型 -
• 设置提示模板
-
-
2. 推理执行日志
Dify 的强大功能之一是其内置的日志机制,它会创建一个类似树状结构的代理思维过程。这种结构使您能够: -
• 可视化代理的执行路径,以便调试复杂的多步推理 -
• 实时查看: -
• 总时间和令牌使用量 -
• 每轮推理 -
• 工具调用轨迹

Agent策略开发简介
定义 Agent 策略涉及指定语言模型将如何:
-
1. 处理用户查询 -
2. 选择正确的工具 -
3. 使用正确的参数运行这些工具 -
4. 处理结果 -
5. 决定何时完成任务

Dify提供了一个标准化开发工具包,其中包括策略配置组件库(例如模型选择器/工具编辑器)、结构化日志接口以及沙盒测试环境。
具体来说,策略定义涵盖了其身份和元数据、所需参数(模型、工具、查询等)、参数类型和约束以及源代码的位置。
代理的执行分为三个主要阶段:初始化、迭代循环和最终响应。在初始化阶段,系统设置所有必要的参数、工具和上下文。然后,在迭代循环中,系统根据当前上下文准备提示,并使用有关可用工具的信息调用 LLM。它解析 LLM 的响应,以确定是否需要工具调用,或者是否已经得出最终答案。如果需要工具调用,系统将执行该工具,并将其输出更新到上下文中。此循环会一直持续,直到任务完成或达到预设的迭代限制。最后,在最后一个阶段,系统返回最终答案或结果。
例如,一个 function_calling.yaml
文件可能如下所示:
parameters:
-name:model
type:model-selector
scope:tool-call&llm
-name:tools
type:array[tools]
-name:max_iterations
type:number
default:5
extra:
python:
source: function_calling.py
采用于这种声明式架构,配置策略变得和填表一样简单,同时支持:
-
• 动态参数验证(类型/范围/依赖关系) -
• 自动多语言标签渲染
详见https://docs.dify.ai/zh-hans/plugins/quick-start/develop-plugins/agent-strategy-plugin。
迭代计划
Dify计划进一步对Agent节点进行迭代,添加更多对开发人员友好的组件,例如:
-
• 知识库集成 -
• Chatflow 中的内存支持 -
• 错误处理和重试 -
• 更多官方 Agent 策略
