微信扫码
添加专属顾问
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-08-03
AIOps落地:上百台主机巡检,AI几分钟搞定,我是怎么做的
2026-08-01
Dify 里怎么用 Skill?Dify 接入 Skill 的最简路径思路
2026-07-28
用Dify搞定无规则Excel解析:一套可落地的表格数据处理工作流
2026-07-27
AI最大的价值不是提效:CEO如何借WorkBuddy走出效率陷阱
2026-07-22
Dify 1.16.0解读:Agent、Linux沙箱和MCP协议升级,Dify开始进入真正的Agent运行时
2026-07-20
Dify近三个月技术演进分析——从应用工具到AI基础设施
2026-07-18
WAIC观察:企业 Agent 落地完整指南
2026-07-18
时隔3周,Dify 1.16.0 发布了!
2026-05-22
2026-06-11
2026-06-03
2026-07-18
2026-07-22
2026-06-02
2026-06-15
2026-07-06
2026-06-26
2026-06-18
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。