Dify 中一个 Agent 调用另一个 Agent
·
在 Dify 里,一个 Agent 调用另一个 Agent,本质就三种做法:
工作流嵌套(最稳)、把子 Agent 当 API 工具调用(最灵活)、A2A 插件(多智能体专用)。
下面一步步讲清楚怎么配、区别在哪。
一、方式 1:用「工作流 + Agent 节点」嵌套(推荐新手 / 简单场景)
思路:把被调用的子 Agent 做成一个独立 Workflow,主 Agent 直接调用这个 Workflow 节点。
1)准备子 Agent(被调用方)
- 新建应用 → 选「Agent」;
- 配好模型、提示词、需要的工具(比如查订单、算交期);
- 发布成 Workflow(保存 → 发布 → 记录 Workflow 名称 / ID)。
2)主 Agent 调用子 Agent
- 打开主 Agent → 进入「Tools」→ 点「+」→ 选「Workflow」标签;
- 从列表里选刚才发布的子 Agent Workflow;
- 写清楚工具描述(LLM 靠这个判断什么时候调用):
工具名:询交期Agent
描述:当用户问交期、可交量、发货时间时调用
参数:query(用户问题文本)
4.保存。主 Agent 就会在需要时自动调用子 Agent。
优点
- 零代码、最稳定、调试方便;
- 子 Agent 可独立测试、复用给多个主 Agent。
缺点
- 子 Agent 输出结构相对固定,不适合高度动态的多轮协作。
二、方式 2:把「子 Agent 暴露为 API」,主 Agent 用「HTTP 工具」调用(最灵活)
思路:任何 Dify 应用(包括 Agent)都能对外提供 API,主 Agent 把它当普通 HTTP 工具调用。
1)子 Agent 开启 API
- 子 Agent 应用 → 「设置」→「API 访问」→ 开启;
- 拿到:
- API 地址:https://xxx.dify.app/v1/chat-messages
- API Key:sk-xxxx
-
2)主 Agent 新建「HTTP 工具」
- 主 Agent →「Tools」→「+」→「HTTP」;
- 配置:
- 名称:call_delivery_agent
- 描述:调用交期查询 Agent
- 方法:POST
- URL:填上面的 /v1/chat-messages
- 请求头:
Authorization: Bearer sk-xxxx
Content-Type: application/json
- 请求体(JSON):
{
"query": "{{query}}",
"user": "agent-call"
}
- 保存;
- 主 Agent 就可以通过 HTTP 直接调用子 Agent。
优点
- 完全解耦,子 Agent 可以是任意 Dify 应用;
- 支持流式返回、异步回调,适合复杂多轮对话。
缺点
- 需要管理 API Key、处理请求 / 响应格式;
- 网络调用有延迟。
三、方式 3:用「A2A 插件」(Dify 官方多智能体方案)
Dify 有官方 A2A(Agent-to-Agent)插件,专门用于 Agent 之间互相发现和调用。
1)安装 A2A 插件
- 进入 Dify 市场 → 搜索「A2A」→ 安装;
- 配置 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 插件。
五、常见坑(避坑)
- 参数传递不匹配:主 Agent 传给子 Agent 的字段要和子 Agent 接收字段一致;
- 提示词没写清楚:工具描述必须明确 “什么时候用”,否则 LLM 不会调用;
- API 权限 / Key 错:HTTP 调用时 Key 写错会 401;
更多推荐




所有评论(0)