在 Dify 里,一个 Agent 调用另一个 Agent,本质就三种做法:

工作流嵌套(最稳)、把子 Agent 当 API 工具调用(最灵活)、A2A 插件(多智能体专用)

下面一步步讲清楚怎么配、区别在哪。


一、方式 1:用「工作流 + Agent 节点」嵌套(推荐新手 / 简单场景)

思路:把被调用的子 Agent 做成一个独立 Workflow,主 Agent 直接调用这个 Workflow 节点。

1)准备子 Agent(被调用方)

  1. 新建应用 → 选「Agent」;
  2. 配好模型、提示词、需要的工具(比如查订单、算交期);
  3. 发布成 Workflow(保存 → 发布 → 记录 Workflow 名称 / ID)。

2)主 Agent 调用子 Agent

  1. 打开主 Agent → 进入「Tools」→ 点「+」→ 选「Workflow」标签;
  2. 从列表里选刚才发布的子 Agent Workflow;
  3. 写清楚工具描述(LLM 靠这个判断什么时候调用):
工具名:询交期Agent

描述:当用户问交期、可交量、发货时间时调用

参数:query(用户问题文本)

   4.保存。主 Agent 就会在需要时自动调用子 Agent。

优点

  • 零代码、最稳定、调试方便;
  • 子 Agent 可独立测试、复用给多个主 Agent。

缺点

  • 子 Agent 输出结构相对固定,不适合高度动态的多轮协作。

二、方式 2:把「子 Agent 暴露为 API」,主 Agent 用「HTTP 工具」调用(最灵活)

思路:任何 Dify 应用(包括 Agent)都能对外提供 API,主 Agent 把它当普通 HTTP 工具调用。

1)子 Agent 开启 API

  1. 子 Agent 应用 → 「设置」→「API 访问」→ 开启;
  2. 拿到:

2)主 Agent 新建「HTTP 工具」

  1. 主 Agent →「Tools」→「+」→「HTTP」;
  2. 配置:
  • 名称:call_delivery_agent
  • 描述:调用交期查询 Agent
  • 方法:POST
  • URL:填上面的 /v1/chat-messages
  • 请求头:
Authorization: Bearer sk-xxxx

Content-Type: application/json
  • 请求体(JSON):
{

"query": "{{query}}",

"user": "agent-call"

}
  1. 保存;
  2. 主 Agent 就可以通过 HTTP 直接调用子 Agent。

优点

  • 完全解耦,子 Agent 可以是任意 Dify 应用;
  • 支持流式返回、异步回调,适合复杂多轮对话。

缺点

  • 需要管理 API Key、处理请求 / 响应格式;
  • 网络调用有延迟。

三、方式 3:用「A2A 插件」(Dify 官方多智能体方案)

Dify 有官方 A2A(Agent-to-Agent)插件,专门用于 Agent 之间互相发现和调用。

1)安装 A2A 插件

  1. 进入 Dify 市场 → 搜索「A2A」→ 安装;
  2. 配置 Agent 注册:
  • 简单:用 URL 模式,填子 Agent 的 .well-known/agent.json 地址;
  • 企业:对接 Nacos 等注册中心。

2)主 Agent 调用

直接用插件提供的两个工具:

  • get_a2a_agent_information:查所有可用 Agent;
  • call_a2a_agent:按名字调用指定 Agent。

优点

  • 标准协议,自动发现、负载均衡;
  • 适合大规模多智能体协作。

缺点

  • 配置稍复杂,适合企业级场景。

四、三种方式对比(怎么选)

方式

难度

稳定性

灵活性

适用场景

Workflow 嵌套

★☆☆

★★★★★

★★☆

简单分工、固定流程、新手

HTTP API 调用

★★☆

★★★★

★★★★

跨应用、动态参数、多轮对话

A2A 插件

★★★

★★★★★

★★★★★

大规模多智能体、服务化治理

推荐路径

  • 初学 / 内部小系统 → 用 Workflow 嵌套;
  • 需要跨应用 / 多轮 → 用 HTTP 工具;
  • 企业级多 Agent 集群 → 用 A2A 插件。

五、常见坑(避坑)

  1. 参数传递不匹配:主 Agent 传给子 Agent 的字段要和子 Agent 接收字段一致;
  2. 提示词没写清楚:工具描述必须明确 “什么时候用”,否则 LLM 不会调用;
  3. API 权限 / Key 错:HTTP 调用时 Key 写错会 401;
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐