---
title: Agent
---

## 定义

Agent 节点是 Dify Chatflow/Workflow 中用于实现自主工具调用的组件。它通过集成不同的 Agent 推理策略，使大语言模型能够在运行时动态选择并执行工具，从而实现多步推理。

## 配置步骤

### 添加节点

在 Dify Chatflow/Workflow 编辑器中，从组件栏拖拽 Agent 节点至画布。

![](https://assets-docs.dify.ai/2025/04/7200e6f466a9da21fd8282afa392b348.png)

### 选择 Agent 策略

在节点配置面板中，点击 **Agent 策略**。

![](https://assets-docs.dify.ai/dify-enterprise-mintlify/zh_CN/guides/workflow/node/2a6897e97b7ad534afdbe74bd7272426.png)

从下拉菜单选择所需的 Agent 推理策略。Dify 内置了 **Function Calling 和 ReAct** 两种策略，可在 **Marketplace** → **Agent 策略**分类中安装使用。

![](https://assets-docs.dify.ai/dify-enterprise-mintlify/zh_CN/guides/workflow/node/41a147e0bfa027b801c09668adec7d19.png)

#### 1. Function Calling

通过将用户指令映射到预定义函数或工具，LLM 先识别用户意图，再决定调用哪个函数并提取所需参数。它的核心是调用外部函数或工具，属于一种明确的工具调用机制。

**优点:**

* **精确:** 对于明确的任务，可以直接调用相应的工具，无需复杂的推理过程。
* **易于集成外部功能:** 可以将各种外部 API 或工具封装成函数供模型调用。
* **结构化输出:** 模型输出的是结构化的函数调用信息，方便下游节点处理。

![](https://assets-docs.dify.ai/dify-enterprise-mintlify/zh_CN/guides/workflow/node/312b854ad40f88a079f4ddaf7f99d0ee.png)

2. **ReAct (Reason + Act)**

ReAct 策略使 Agent 交替进行思考和行动：LLM 首先思考当前状态和目标，然后选择并调用合适的工具，工具的输出结果又将引导 LLM 进行下一步的思考和行动，如此循环，直到问题解决。

**优点:**

* **有效利用外部信息:** 能够有效地利用外部工具获取信息，解决仅靠模型自身无法完成的任务。
* **可解释性较好:** 思考和行动的过程是交织的，可以一定程度上追踪 Agent 的推理路径。
* **适用范围广:** 适用于需要外部知识或需要执行特定操作的场景，例如问答、信息检索、任务执行等。

![](https://assets-docs.dify.ai/dify-enterprise-mintlify/zh_CN/guides/workflow/node/9196af3b81d8b02a8dcd21ac917825a6.png)

开发者可以向[公开仓库](https://github.com/langgenius/dify-plugins)贡献 Agent 策略插件，经过审核后将在 Marketplace 上架，供其他用户安装使用。

### **配置节点参数**

选择 Agent 策略后，配置面板会显示对应的配置项。Dify 官方内置的 Function Calling 和 ReAct 策略的配置项包括：

1. **模型：** 选择驱动 Agent 的大语言模型。
2. **工具：** 工具的使用方式由 Agent 策略定义，点击 "+" 添加并配置 Agent 可调用的工具。
   * **搜索：** 在下拉框中选择已安装的工具插件。
   * **授权：** 填写 API 密钥等授权信息后启用工具。
   * **工具描述和参数设置：** 提供工具描述，帮助 LLM 理解工具用途并选择调用，同时设置工具的功能参数。
3. **指令：** 定义 Agent 的任务目标和上下文。支持使用 Jinja 语法引用上游节点变量。
4. **查询：** 接收用户输入。
5. **最大迭代次数：** 设定 Agent 的最大执行步数。
6. **输出变量：** 提示节点输出的数据结构。

![](https://assets-docs.dify.ai/dify-enterprise-mintlify/zh_CN/guides/workflow/node/d028e9dc111eca4fe4f7f0b25e75c4b0.png)

## **查看日志**

Agent 节点执行过程中将生成详细日志。显示节点执行的总体信息，包括输入和输出、token 开销、耗时和状态。点击 "详情" 查看 Agent 策略执行的每一轮输出信息。

![](https://assets-docs.dify.ai/dify-enterprise-mintlify/zh_CN/guides/workflow/node/2dff44986829dfd100ee03c8eb89f94a.png)

## 记忆

启用记忆开关可以为 Agent 提供对话上下文记忆能力。通过调整记忆窗口滑块，你可以控制 Agent 能够“记住”的对话历史消息数量。这使 Agent 能够理解和引用先前的交流内容，从而提供连贯且上下文相关的回答，大幅提升多轮对话体验。

例如，当用户在后续消息中使用代词（如“它”、“这个”或“他们”）时，启用了记忆功能的 Agent 能够理解这些代词所指代的前文实体，无需用户重复提及完整信息。

<video controls src="https://assets-docs.dify.ai/2025/04/1801b96763eb8f22f1e2158645897885.mp4" width="100%"></video>

## 按需定制工具

将工具添加到Agent节点或 Agent 应用中后，你可以根据实际需求灵活定制：

<img
  src="/images/CleanShot2025-07-07at07.41.33@2x.png"
  alt="CleanShot 2025-07-07 at 07.41.33@2x.png"
  title="CleanShot 2025-07-07 at 07.41.33@2x.png"
  className="mx-auto"
  style={{ width:"57%" }}
/>

### 工具说明

可自定义工具的显示描述，调整为更贴合业务场景的说明信息，替换原 MCP 服务器自带描述。

### 参数配置（Reasoning Config）

每个工具参数可灵活选择两种模式：

* **自动（Auto）**：让 AI 根据上下文智能决定该参数值（默认）。

* **固定值（Fixed Value）**：设定为某个确定的值（支持静态文本或变量表达式），AI 不再推理此参数。

使用示例：

* 统一配置项，例如将搜索工具的 `numResults` 固定为 10。
* 预填写不应更改的参数，如特定的 API 地址、返回格式等。
* 通过减少 AI 需要处理的参数数量，简化工具调用逻辑。

例如，配置 Web 搜索工具时：

* 将 `query` 设置为"自动"，由 AI 动态生成搜索内容。
* 将 `numResults` 固定为 5，控制每次返回结果数量。
* 其他如过滤条件参数也可固定，以保证结果一致性。

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[编辑此页面](https://github.com/langgenius/dify-docs/edit/main/zh-hans/guides/workflow/node/agent.mdx) | [提交问题](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

