微信扫码
添加专属顾问
我要投稿
Dify 平台通过 Nacos A2A 插件实现双向多智能体协作,解决协议不兼容与智能体发现难题,提升开发效率与扩展性。 核心内容: 1. 多智能体协作面临的协议不兼容与发现困难等挑战 2. Nacos Agent Registry + A2A 插件组合的解决方案 3. 插件如何实现双向智能体调用与对外服务暴露
背景与挑战:多智能体协作中的典型问题
Cloud Native
随着 AI Agent 技术的快速发展,单一智能体已经难以满足复杂业务场景的需求。多智能体协作(Multi-Agent Collaboration)正在成为 AI 应用的主流趋势——让多个具备不同专长的智能体协同工作,共同完成复杂任务。
Google 于 2025 年初发布的 A2A(Agent-to-Agent)协议,为多智能体间的标准化通信提供了重要基础。A2A 协议定义了智能体之间的发现、能力描述和任务交互标准,使得不同来源、不同框架的智能体能够无缝协作。
然而,dify 平台目前原生并不支持 A2A 协议。这意味着开发者无法直接在 Dify 中发现和调用遵循 A2A 标准的智能体,缺乏与 A2A 生态进行集成的有效途径。具体来说,Dify 开发者面临以下挑战:
这些问题导致 Dify 开发者在构建多智能体应用时,面临协议不通、接入成本高、扩展性差、灵活度低、无法对外互通的困境。
解决方案:
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 Server 插件(暴露 Dify 应用)
目前,Nacos 官方 A2A 插件已正式上架 Dify 官方插件市场:
https://marketplace.dify.ai/plugins/nacos/a2a_discovery?language=zh-Hans
https://marketplace.dify.ai/plugins/nacos/a2a_server?language=zh-Hans
整体架构
核心功能详解
Cloud Native
3.1 A2A Discovery 插件:调用外部智能体
Nacos 模式(推荐)
通过 Nacos Agent Registry 统一管理和发现智能体。只需在 Nacos 中注册 A2A Agent,Dify 应用即可自动发现并调用。
优势:
配置示例:
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"}获取智能体信息(get_a2a_agent_information)
查询所有配置的 A2A Agent 的详细信息,包括:
LLM 通过这些信息了解每个智能体的能力,为后续的智能选择提供依据。
调用智能体(call_a2a_agent)
根据 LLM 的选择,向指定的 A2A Agent 发送查询消息并获取响应。支持:
通过以上两种工具协同配合,Dify 中的 Agent 可以实现:
3.2 A2A Server 插件:暴露 Dify 应用
A2A Server 插件让 Dify 应用能够以标准 A2A 协议对外提供服务,使其他智能体能够发现和调用。
A2A Server 支持将以下类型的 Dify 应用暴露为 A2A 智能体:
智能体元数据端点(GET /.well-known/agent.json)
返回符合 A2A 协议的 AgentCard,包含:
外部调用方通过此端点发现智能体的能力和调用方式。
JSON-RPC 调用端点(POST /a2a)
处理 A2A 协议标准的 JSON-RPC 请求。支持:
方法:向智能体发送消息并获取响应启用 Nacos 注册后,A2A Server 会在首次收到 AgentCard 请求时自动将 Dify 应用注册到 Nacos Agent Registry。注册后,其他 A2A 智能体可以通过 Nacos 发现并调用该 Dify 应用。
A2A Server 基于 Dify Plugin Storage 实现跨请求的会话上下文管理:
实践教程:构建多智能体协作应用
Cloud Native
本章将通过两个具体案例,分别演示 A2A Discovery 和 A2A Server 插件的使用方法。
4.1 使用 A2A Discovery 调用外部智能体
让我们通过一个具体案例,演示如何使用 A2A Discovery 插件构建一个多智能体协作的 AI 助手。
假设我们要构建一个智能客服系统,需要调用以下三个专业智能体:
将 A2A Agent 注册到 Nacos Agent Registry 有两种方式:
方式一:控制台手动注册
方式二: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]。
discovery_type: nacosavailable_agent_names: translator_agent,search_agent,customer_service_agentnamespace_id: public
你是一个智能客服助手,可以调用多个专业智能体来处理用户请求。工作流程:1. 首先调用 get_a2a_agent_information 获取所有可用智能体的信息2. 根据用户的问题类型,选择最合适的智能体3. 调用 call_a2a_agent 向选中的智能体发送请求4. 整合响应结果,为用户提供完整的答案可用的智能体包括翻译、搜索、客服等,请根据任务特点智能选择。
部署应用后,尝试以下对话:
用户:请帮我把"How to return the product?"翻译成中文
AI 助手(内部流程):
用户:我想查询订单 #12345 的物流状态
AI 助手(内部流程):
4.2 使用 A2A Server 暴露 Dify 应用
现在让我们演示如何使用 A2A Server 插件将 Dify 应用暴露为 A2A 智能体,让其他系统能够发现和调用。
假设我们已经在 Dify 中构建了一个强大的「智能客服助手」应用,现在希望将其暴露为 A2A 智能体,让:
保存后,获取生成的 Endpoint ID(如 abc123),然后:
https://your-domain.com/e/abc123/a2a
最终的 A2A 端点:
如果希望智能体能被自动发现,可以配置 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 应用可以通过 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 官方文档。
Nacos Agent Registry 企业级能力
Cloud Native
统一注册发现
所有 A2A Agent 集中注册到 Nacos,开发者无需关心智能体的具体部署位置。新增智能体时只需注册到 Nacos,Dify 应用即可自动发现并调用,支持动态上下线。
多租户隔离
基于 Nacos 的命名空间隔离机制,可以将不同环境(开发、测试、生产)或不同业务线的智能体完全隔离,互不影响,满足企业级多租户场景。
健康检查
Nacos 自动监控各智能体的运行状态,当某个 Agent 不可用时自动从服务列表中摘除,避免调用失败,恢复后自动重新上线。
元信息管理
支持在运行时动态更新智能体的描述、技能列表等元信息,无需重启服务。这对于智能体能力迭代升级非常友好。
访问控制
通过 Nacos 的认证鉴权机制,可以精细控制哪些应用可以访问哪些智能体,保障企业级应用的安全性。
生态集成
Nacos Agent Registry 不仅支持 A2A 协议,还与阿里云 AI 网关、AgentScope 等组件无缝对接,构建完整的智能体治理生态。
总结与展望
Cloud Native
A2A 插件组合填补了 Dify 平台在 A2A 协议支持上的空白,为 Dify 开发者带来了双向多智能体协作能力:
随着 AI 多智能体技术的持续演进,Nacos 将继续深耕 AI Agent 生态,从 MCP Server 管理到 A2A Agent 协作,与 AgentScope 等主流智能体框架深度集成,为开发者提供更加完善的智能体治理平台。通过 A2A Discovery 和 A2A Server 插件的组合,Dify 开发者现在可以构建真正开放互联的智能体应用——既能调用生态中的各类专业智能体,也能将自己的智能体能力开放给整个 A2A 生态。未来,我们还将支持更多的智能体协议和更丰富的治理能力,助力开发者构建更加强大的 AI 应用。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-01-16
Dify × PaddleOCR:强强联手,深度集成重塑 Agent 工作流智能文档底座
2026-01-14
刚刚,Dify v1.11.3发布,看看是否需要升级?
2026-01-11
五步框架:把 Workflow 变成可进化的 Skill
2026-01-08
dify v1.11.2 又又三个坑,别踩了!
2026-01-06
Dify v1.11.2 今天又发现来3个缺陷,看看有什么影响?
2026-01-05
效率翻倍门槛减半:Vibe Coding + Claude-Code重构Dify开发
2026-01-04
别让你的 Obsidian 吃灰了!一键同步 Dify,打造最强本地知识库
2025-12-29
Dify版本升级过程记录(1.9.0升级至1.11.1版本,含weaviate数据迁移)
2025-12-05
2025-12-08
2025-11-11
2025-11-09
2025-11-20
2025-12-05
2025-11-01
2025-11-14
2025-11-17
2025-11-01