免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

Dify 官方上架 Nacos A2A 插件,补全双向多智能体协作能力

发布日期:2026-01-26 18:37:16 浏览次数: 1555
作者:阿里云云原生

微信搜一搜,关注“阿里云云原生”

推荐语

Dify 平台通过 Nacos A2A 插件实现双向多智能体协作,解决协议不兼容与智能体发现难题,提升开发效率与扩展性。

核心内容:
1. 多智能体协作面临的协议不兼容与发现困难等挑战
2. Nacos Agent Registry + A2A 插件组合的解决方案
3. 插件如何实现双向智能体调用与对外服务暴露

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家
01

背景与挑战:多智能体协作中的典型问题

Cloud Native

随着 AI Agent 技术的快速发展,单一智能体已经难以满足复杂业务场景的需求。多智能体协作(Multi-Agent Collaboration)正在成为 AI 应用的主流趋势——让多个具备不同专长的智能体协同工作,共同完成复杂任务。

Google 于 2025 年初发布的 A2A(Agent-to-Agent)协议,为多智能体间的标准化通信提供了重要基础。A2A 协议定义了智能体之间的发现、能力描述和任务交互标准,使得不同来源、不同框架的智能体能够无缝协作。

Gemini_Generated_Image_m28lnfm28lnfm28l.png

然而,dify 平台目前原生并不支持 A2A 协议。这意味着开发者无法直接在 Dify 中发现和调用遵循 A2A 标准的智能体,缺乏与 A2A 生态进行集成的有效途径。具体来说,Dify 开发者面临以下挑战:

  • 协议不兼容:Dify 原生不支持 A2A 协议,无法直接解析 AgentCard、处理 A2A 消息格式,与已有的 A2A Agent 生态完全隔离。
  • 智能体发现困难:多个 A2A Agent 分散部署在不同环境中,没有标准方式让 Dify 应用发现和管理这些智能体,每次接入都需要大量定制开发。
  • 动态选择受限:传统方式下,Dify 应用只能调用预先硬编码的单一智能体,无法根据实际任务需求动态选择最合适的智能体。
  • 协作编排复杂:当业务需要多个智能体协作时,开发者需要在工作流中进行大量的条件判断和路由逻辑,开发和维护成本高。
  • 缺乏统一注册中心:没有集中管理 A2A Agent 的平台,难以对智能体进行统一的注册、发现和治理。
  • 无法对外暴露:Dify 构建的智能体应用只能在 Dify 平台内使用,无法以标准协议对外提供服务,难以被其他 A2A 生态中的智能体发现和调用。

这些问题导致 Dify 开发者在构建多智能体应用时,面临协议不通、接入成本高、扩展性差、灵活度低、无法对外互通的困境。

02

解决方案:

Nacos Agent Registry + A2A 插件组合

Cloud Native

为了解决上述问题,Nacos 官方为 Dify 平台打造了双向 A2A 协议集成方案,通过两个互补的插件填补了 Dify 在 A2A 协议支持上的空白,让 Dify 应用既能调用外部 A2A 智能体,又能作为 A2A 智能体被外部系统调用。

Nacos 3.0 在支持 MCP Registry 的基础上,进一步拓展了对 A2A Agent 的支持能力,推出了 Nacos Agent Registry——一个统一的 AI 智能体注册与发现平台。结合 A2A 插件组合,Dify 开发者可以:

A2A Discovery 插件(调用外部智能体)

  • 打通 A2A 协议:插件内置完整的 A2A 协议支持,自动解析 AgentCard、处理标准消息格式,让 Dify 与 A2A 生态无缝对接。
  • 统一智能体发现:自动从 Nacos Agent Registry 发现所有已注册的 A2A Agent,无需手动配置每个智能体的连接信息。
  • 动态智能体选择:LLM 可以根据任务需求,从多个可用智能体中智能选择最合适的一个进行调用。
  • 灵活的发现模式:支持 Nacos 模式和 URL 模式两种发现方式,满足不同部署场景的需求。

A2A Server 插件(暴露 Dify 应用)

  • 标准协议暴露:将 Dify 中的任意应用(Chatbot/Agent/Chatflow/Workflow)暴露为符合 A2A 协议标准的智能体。
  • 自动注册发现:支持将 Dify 应用自动注册到 Nacos Agent Registry,让其他智能体能够发现和调用。
  • 多轮对话支持:基于 Dify Plugin Storage 维护会话上下文,支持跨请求的连续对话。
  • 标准端点:提供标准的 /.well-known/agent.json 端点用于智能体元数据发现。

目前,Nacos 官方 A2A 插件已正式上架 Dify 官方插件市场:

  • A2A Discovery 插件(A2A Agent Client):

    https://marketplace.dify.ai/plugins/nacos/a2a_discovery?language=zh-Hans

  • A2A Server 插件:

    https://marketplace.dify.ai/plugins/nacos/a2a_server?language=zh-Hans

整体架构

image_1769060277140.png

03

核心功能详解

Cloud Native


3.1 A2A Discovery 插件:调用外部智能体

3.1.1 两种智能体发现模式

Nacos 模式(推荐)

通过 Nacos Agent Registry 统一管理和发现智能体。只需在 Nacos 中注册 A2A Agent,Dify 应用即可自动发现并调用。

优势:

  • 集中化管理,智能体信息统一维护。
  • 支持动态注册和注销,无需重启 Dify 应用。
  • 与 Nacos 生态无缝集成,享受企业级治理能力。

配置示例:

discovery_type: nacosavailable_agent_names: translator_agent,search_agent,code_agentnamespace_id: public

URL 模式

直接通过 A2A Agent 的标准 URL 进行发现,适合无需 Nacos 的轻量级场景。

配置示例:

discovery_type: urlavailable_agent_urls: {  "translator_agent": "http://host1:8080/.well-known/agent.json",  "search_agent": "http://host2:8080/.well-known/agent.json"}

3.1.2 两个核心工具

获取智能体信息(get_a2a_agent_information)

查询所有配置的 A2A Agent 的详细信息,包括:

  • 智能体名称(agent_name)
  • 功能描述(description)
  • 技能列表(skills)

LLM 通过这些信息了解每个智能体的能力,为后续的智能选择提供依据。

调用智能体(call_a2a_agent)

根据 LLM 的选择,向指定的 A2A Agent 发送查询消息并获取响应。支持:

  • 动态选择目标智能体
  • 自定义查询消息
  • 完整的上下文传递

3.1.3 智能体动态选择工作流

通过以上两种工具协同配合,Dify 中的 Agent 可以实现:

1. 全面了解可用的智能体资源
2. 根据具体任务智能匹配最佳智能体
3. 实现真正的多智能体动态协作

3.2 A2A Server 插件:暴露 Dify 应用

A2A Server 插件让 Dify 应用能够以标准 A2A 协议对外提供服务,使其他智能体能够发现和调用。

3.2.1 支持的应用类型

A2A Server 支持将以下类型的 Dify 应用暴露为 A2A 智能体:

3.2.2 两个核心端点

智能体元数据端点(GET /.well-known/agent.json)

返回符合 A2A 协议的 AgentCard,包含:

  • 智能体名称(name)
  • 功能描述(description)
  • 访问地址(url)
  • 版本信息(version)
  • 能力声明(capabilities)
  • 技能列表(skills)

外部调用方通过此端点发现智能体的能力和调用方式。

JSON-RPC 调用端点(POST /a2a)

处理 A2A 协议标准的 JSON-RPC 请求。支持:

  • message/send 方法:向智能体发送消息并获取响应
  • 多轮对话上下文维护
  • 完整的任务状态管理

3.2.3 Nacos 自动注册

启用 Nacos 注册后,A2A Server 会在首次收到 AgentCard 请求时自动将 Dify 应用注册到 Nacos Agent Registry。注册后,其他 A2A 智能体可以通过 Nacos 发现并调用该 Dify 应用。

3.2.4 多轮对话支持

A2A Server 基于 Dify Plugin Storage 实现跨请求的会话上下文管理:

  • 自动维护 conversation_id 映射
  • 支持连续多轮对话
  • 会话状态持久化存储
04

实践教程:构建多智能体协作应用

Cloud Native

本章将通过两个具体案例,分别演示 A2A Discovery 和 A2A Server 插件的使用方法。

4.1 使用 A2A Discovery 调用外部智能体

让我们通过一个具体案例,演示如何使用 A2A Discovery 插件构建一个多智能体协作的 AI 助手。

Gemini_Generated_Image_th1f2vth1f2vth1f.png

场景描述

假设我们要构建一个智能客服系统,需要调用以下三个专业智能体:

  • 翻译智能体:处理多语言翻译需求
  • 搜索智能体:查询产品信息和知识库
  • 客服智能体:处理订单查询和售后问题

步骤一:在 Nacos 注册 A2A Agent

将 A2A Agent 注册到 Nacos Agent Registry 有两种方式:

方式一:控制台手动注册

1. 登录 MSE Nacos 控制台
2. 进入「智能体注册中心」
3. 添加各个 A2A Agent 的信息(名称、访问地址、描述等)

方式二:AgentScope 自动注册(推荐)

AgentScope[1]是阿里巴巴推出的一款以开发者为核心,专注于多智能体开发的开源框架。它的核心目标是解决智能体在构建、运行和管理中的难题,提供一套覆盖“开发、部署、监控”全生命周期的生产级解决方案。

AgentScope 最新版本中,已经全面支持 A2A 协议,并集成 Nacos 作为 A2A Registry 的默认实现,构建了一套从开发到部署的完整分布式多智能体协作体系。使用 AgentScope 构建的 A2A Agent 可以自动注册到 Nacos,无需手动配置。以下为参考代码:

from agentscope_runtime.engine.app import AgentAppfrom agentscope_runtime.engine.deployers.adapter.a2a import (AgentCardWithRuntimeConfig,)from agentscope_runtime.engine.deployers.adapter.a2a.nacos_a2a_registry import (NacosRegistry,)from v2.nacos import ClientConfigBuilder# 创建 Nacos Registry 实例registry = NacosRegistry(    nacos_client_config=ClientConfigBuilder()    .server_address("mse-xxx.nacos.mse.aliyuncs.com:8848")    # 其他可选配置项    .build())app = AgentApp(    app_name="translator_agent",    app_description="TestAgent",    # 在 a2a_config 中配置 registry    a2a_config=AgentCardWithRuntimeConfig(registry=registry),)

更多集成方式请参考 AgentScope 官方文档[2]

步骤二:安装配置 A2A Discovery 插件

1. 在 Dify 插件市场搜索「A2A Agent Client」或直接访问插件页面[3]
2. 点击安装插件
3. 配置 Nacos 连接信息:

步骤三:创建 Dify Agent 应用

1. 在 Dify 中创建一个新的 Agent 应用
2. 添加 A2A Discovery 插件的两个工具:
  • get_a2a_agent_information
  • call_a2a_agent
3. 配置工具参数:
discovery_type: nacosavailable_agent_names: translator_agent,search_agent,customer_service_agentnamespace_id: public
4. 设置系统提示词:
你是一个智能客服助手,可以调用多个专业智能体来处理用户请求。工作流程:1. 首先调用 get_a2a_agent_information 获取所有可用智能体的信息2. 根据用户的问题类型,选择最合适的智能体3. 调用 call_a2a_agent 向选中的智能体发送请求4. 整合响应结果,为用户提供完整的答案可用的智能体包括翻译、搜索、客服等,请根据任务特点智能选择。

步骤四:测试验证

部署应用后,尝试以下对话:

用户请帮我把"How to return the product?"翻译成中文

AI 助手(内部流程):

1. 调用 get_a2a_agent_information 获取智能体列表
2. 识别这是翻译任务,选择 translator_agent
3. 调用 call_a2a_agent 发送翻译请求
4. 返回翻译结果

用户:我想查询订单 #12345 的物流状态

AI 助手(内部流程):

1. 识别这是客服问题,选择 customer_service_agent
2. 调用智能体获取订单信息
3. 返回物流状态

4.2 使用 A2A Server 暴露 Dify 应用

现在让我们演示如何使用 A2A Server 插件将 Dify 应用暴露为 A2A 智能体,让其他系统能够发现和调用。

场景描述

假设我们已经在 Dify 中构建了一个强大的「智能客服助手」应用,现在希望将其暴露为 A2A 智能体,让:

  • 其他 AgentScope 应用可以调用
  • 其他 A2A 生态中的智能体可以发现并协作
  • 外部 AI 应用可以通过标准协议接入

步骤一:安装 A2A Server 插件

1. 在 Dify 插件市场搜索「A2A Server」或直接访问插件页面[4]
2. 点击安装插件

步骤二:创建 Endpoint

1. 进入插件管理页面,找到 A2A Server 插件
2. 点击「创建 Endpoint」
3. 配置基本参数:
4. 点击保存,Dify 会生成 Endpoint ID

步骤三:更新正确的 URL

保存后,获取生成的 Endpoint ID(如 abc123),然后:

1. 返回编辑 Endpoint
2. 将 Agent Public URL 更新为正确的地址:
 https://your-domain.com/e/abc123/a2a
3. 保存配置

最终的 A2A 端点:

  • AgentCard 地址https://your-domain.com/e/{endpoint_id}/a2a/.well-known/agent.json
  • JSON-RPC 地址:https://your-domain.com/e/{endpoint_id}/a2a

步骤四:配置 Nacos 注册(可选)

如果希望智能体能被自动发现,可以配置 Nacos 注册:

步骤五:测试验证

测试 AgentCard 获取

curl https://your-domain.com/e/{endpoint_id}/a2a/.well-known/agent.json

成功返回示例:

{  "name": "smart-service-agent",  "description": "智能客服助手,支持订单查询、售后服务、产品咨询",  "url": "https://your-domain.com/e/abc123/a2a",  "version": "1.0.0",  "capabilities": {    "streaming": false,    "push_notifications": false  },  "skills": [    {      "id": "dify_app",      "name": "smart-service-agent",      "description": "智能客服助手,支持订单查询、售后服务、产品咨询"    }  ]}

测试消息发送

使用 A2A SDK 或兼容客户端发送消息:

from a2a.client import A2AClientclient = A2AClient("https://your-domain.com/e/{endpoint_id}/a2a")response = client.send_message("我想查询订单 #12345 的状态")print(response.text)

与 AgentScope 集成

AgentScope 配置完成后,AgentScope 应用可以通过 Nacos 自动发现并调用该 Dify 智能体:

from agentscope.agent import A2AAgentfrom agentscope.a2a import NacosAgentCardResolverfrom agentscope.message import Msg# Python AgentScope v1.0.11以上# 创建 Nacos AgentCard Resolvernacos_resolver = NacosAgentCardResolver(    remote_agent_name="my-remote-agent",  # Nacos 中注册的智能体名称    nacos_client_config=ClientConfig(        server_addresses="http://localhost:8848",  # Nacos 服务器地址        # 其他可选配置项    ),)# 使用 Resolver 创建 A2AAgent,通过名称从 Nacos 发现 Agentagent = A2AAgent(    agent_card=await nacos_resolver.get_agent_card())

更多集成方式请参考 AgentScope 官方文档。

05

Nacos Agent Registry 企业级能力

Cloud Native

Gemini_Generated_Image_qyzu2tqyzu2tqyzu.png

统一注册发现

所有 A2A Agent 集中注册到 Nacos,开发者无需关心智能体的具体部署位置。新增智能体时只需注册到 Nacos,Dify 应用即可自动发现并调用,支持动态上下线。

多租户隔离

基于 Nacos 的命名空间隔离机制,可以将不同环境(开发、测试、生产)或不同业务线的智能体完全隔离,互不影响,满足企业级多租户场景。

健康检查

Nacos 自动监控各智能体的运行状态,当某个 Agent 不可用时自动从服务列表中摘除,避免调用失败,恢复后自动重新上线。

元信息管理

支持在运行时动态更新智能体的描述、技能列表等元信息,无需重启服务。这对于智能体能力迭代升级非常友好。

访问控制

通过 Nacos 的认证鉴权机制,可以精细控制哪些应用可以访问哪些智能体,保障企业级应用的安全性。

生态集成

Nacos Agent Registry 不仅支持 A2A 协议,还与阿里云 AI 网关、AgentScope 等组件无缝对接,构建完整的智能体治理生态。

06

总结与展望

Cloud Native

A2A 插件组合填补了 Dify 平台在 A2A 协议支持上的空白为 Dify 开发者带来了双向多智能体协作能力:

  • 双向协议支持:A2A Discovery 调用外部智能体,A2A Server 暴露 Dify 应用,实现完整的 A2A 生态互通。
  • 简化接入:通过 Nacos Agent Registry,一次配置即可发现所有智能体,也可让 Dify 应用被自动发现。
  • 智能选择:LLM 根据任务需求动态选择最合适的智能体。
  • 标准协议:完全遵循 Google A2A 协议,与各类实现无缝兼容。
  • 生态互通:与 AgentScope 等主流智能体框架深度集成,Dify 应用可被其他 AI 平台发现和调用。
  • 企业级治理:依托 Nacos 平台,享受完整的智能体管理能力。

随着 AI 多智能体技术的持续演进,Nacos 将继续深耕 AI Agent 生态,从 MCP Server 管理到 A2A Agent 协作,与 AgentScope 等主流智能体框架深度集成,为开发者提供更加完善的智能体治理平台。通过 A2A Discovery 和 A2A Server 插件的组合,Dify 开发者现在可以构建真正开放互联的智能体应用——既能调用生态中的各类专业智能体,也能将自己的智能体能力开放给整个 A2A 生态。未来,我们还将支持更多的智能体协议和更丰富的治理能力,助力开发者构建更加强大的 AI 应用。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询