构建开放智能体生态:AgentScope 如何用 A2A 协议与 Nacos 打通协作壁垒?

简介: AgentScope 全面支持 A2A 协议和 Nacos 智能体注册中心,实现跨语言跨框架智能体互通。

作者:恰橙、席翁、濯光


AgentScope 基于 A2A 协议与 Nacos Agent Registry,实现智能体的统一发现、治理与跨生态协作。


随着企业逐步落地 AI 应用架构,从原来测试 POC workflow/简单 Agent 开始逐步构建生产级可用 Agent,真正解决线上问题,构建 Agent 在企业是面相全员提升效率的路径,不再是简单业务流程面临问题更加复杂,可能企业就会遇到如下挑战:


  • 语言栈多样化:企业内核心业务团队可能是 Java/Golang,算法团队使用 Python,面临 Agent 架构选型多语言栈怎么做无缝协作?
  • Agent 框架割裂:LangChain、AutoGPT、AgentScope 等不同框架以及 Agent 各自为政,如何实现跨框架调用?
  • 多团队Agent协同:Agent 如果有一个团队做,不懂业务做不深,Agent 分布在不同的服务、团队、项目中,内部选型会有 Dify、n8n 低代码和高代码平台选型,如何统一发现和管理?
  • 协议不统一:REST、gRPC、自定义协议...每个 Agent 都有自己的接口规范,集成成本高、维护困难。

image.png

A2A(Agent-to-Agent)协议正是为解决这些问题而生。它是 Google 提出一套面向分布式多 Agent 互联互通的开放标准,定义了统一的消息结构和能力描述,让不同语言、不同框架、不同运行时上的 Agent 都能被发现、被调用、被编排。基于 A2A,Agent 之间可以在不共享代码、不耦合底层实现的前提下,完成文本对话、thinking、多模态内容、工具调用等丰富交互,真正实现“一次定义,处处可用”。

image.png


Agent 跨语言、跨框架调用最佳实践


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


AgentScope 最新版本中,我们全面支持 A2A 协议,并集成 Nacos 作为 A2A Registry 的默认实现构建了一套从开发到部署的完整分布式多智能体协作体系,让智能体协作从“单打独斗”走向“开放互联”。

image.png

  • 告别“Agent 孤岛”:通过 A2A 协议,AgentScope 的 Agent 可以与任何实现 A2A 的 Agent 无缝互操作,不论由谁开发、用何种技术栈构建,都能在统一的协作框架下高效协同,打破技术壁垒,共同构建跨语言、跨框架的开放生态。
  • 统一开发体验,告别适配烦恼:在 AgentScope 中,调用本地 Agent 和调用远端 A2A Agent 使用同一套 API。框架自动处理协议转换、错误重试和路由选择,我们可以专注业务,不必为适配不同 Agent 编写冗余代码,从而提升效率与可维护性。
  • 生产级治理,开箱即用:基于 Nacos 3.0 智能体注册中心,AgentScope 应用具备服务发现、健康检查、命名空间隔离等成熟能力。选择 Nacos 作为默认 A2A Registry,不仅因为它经过大规模生产验证,也因为它与企业现有运维体系兼容,让智能体治理无需重复造轮子,加速规模化落地。


在 AgentScope 中使用 A2A


1. AgentScope:连接外部 A2A 网络,像调用本地 Agent 一样简单

AgentScope 提供统一的 A2A 对接能力,我们可以像调用本地工具一样自然地调用远端 A2A Agent,实现跨语言、跨框架的协同,告别繁琐的协议适配工作:


  • 双向消息转换:实现框架内部消息格式与 A2A Message 的双向转换,支持文本、thinking、多模态、工具调用等 Block 类型,保留必要元信息,确保语义一致。
  • 统一交互范式:支持直接调用和 observe() 两种方式。直接调用 agent(msg) 可立即拿到结果;observe() 先累积上下文,后续再连同当前输入一起发送,适合长会话、多轮协作场景。
  • 任务与中断管理:内建长任务状态管理与 Artifact 处理机制,支持长时间任务的平滑中断,覆盖超时与取消场景。
  • 统一的服务发现能力:通过 AgentCardResolver 扩展点标准化“发现”能力,任何实现该接口的组件,例如:FixedAgentCardResolverFileAgentCardResolverWellKnownAgentCardResolverNacosAgentCardResolver 等都可按需加载,轻松适配不同基础设施。

image.png

通过 A2AAgent 以及 AgentCardResolver,我们可以按名称、分组或标签从 A2A Registry 中发现并调用其他 Agent,实现跨团队、跨项目甚至跨语言的智能体复用。基于 A2A Registry,智能体拥有统一的服务发现与治理能力,可与现有配置中心、网关、熔断限流及安全体系协同,为大规模分布式智能体应用打好底座。


以下示例展示如何使用 NacosAgentCardResolver 从 Nacos Registry 中发现并调用 Agent:

注意在对应版本以上使用 demo,Python (AgentScope v1.0.11、AgentScope Runtime v1.0.4)和  Java (AgentScope v1.0.6,AgentScope Runtime v1.0.0


Python 代码示例

查看详细文档:https://doc.agentscope.io/zh_CN/tutorial/task_a2a.html


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


Java 代码示例

查看详细文档:https://java.agentscope.io/zh/task/a2a.html


使用 NacosAgentCardResolver 从 Nacos Registry 中发现 Agent:


import io.agentscope.agent.A2AAgent;
import io.agentscope.extensions.a2a.nacos.NacosAgentCardResolver;
import java.util.Properties;
import com.alibaba.nacos.api.PropertyKeyConst;
import com.alibaba.nacos.api.ai.AiFactory;
import com.alibaba.nacos.api.ai.AiService;
Properties properties = new Properties();
properties.put(PropertyKeyConst.SERVER_ADDR, "localhost:8848");
// 其他可选配置项
AiService aiService = AiFactory.createAiService(properties);
NacosAgentCardResolver agentCardResolver = new NacosAgentCardResolver(aiService);
A2AAgent agent = A2AAgent.builder()
        .name("MyAgent")
        .agentCardResolver(agentCardResolver)
        .build();


Nacos 3.0 作为智能体注册中心,其在生产环境中久经验证的服务发现与配置管理能力,能够助力企业构建统一的智能体服务治理平台。


2. AgentScope Runtime:暴露 A2A Agent 服务,启动即注册

AgentScope Runtime 提供统一的 A2A 服务暴露能力,帮助我们把本地 Agent 应用包装成符合 A2A 规范的服务端点。通过 A2A 协议适配器,应用在启动时会自动完成:


  • 结构化配置体系:通过 A2A 扩展配置 a2a_config 灵活定义 AgentCard(name、description、version、skills、default_input_modes/default_output_modes 等)、传输层配置(host、port、path 等)、Registry 参数和任务超时等。
  • 自动服务包装:启动时由 A2A 协议适配器将 Agent 应用封装成符合 A2A 规范的服务端点,自动处理协议转换、消息路由等底层细节。
  • 生产级部署支持:与主流框架无缝集成,Python 侧支持 AgentApp 配置体系,Java 侧支持 Spring Boot Starter,让智能体服务自然融入现有基础设施。
  • 自动服务注册与治理:通过 A2ARegistry 抽象接口,Python 与 Java 都能开箱即用地集成 Nacos Agent Registry。Agent 能力描述(AgentCard)和网络端点会自动注册到 Registry,让其他 Agent 可发现、可调用。

image.png

以下示例展示如何在 Runtime 层使用 Nacos Registry 进行服务注册:


Python 代码示例

查看详细文档:https://runtime.agentscope.io/zh/a2a_registry.html


方式一:参数配置

在构造 AgentApp 时,通过 A2A 配置扩展字段 a2a_config 参数的 registry 字段指定 Registry 实例或列表:


from agentscope_runtime.engine.app import AgentApp
from 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("nacos-server:8848")
        # 其他可选配置项
        .build()
)
app = AgentApp(
    app_name="TestAgent",
    app_description="TestAgent",
    # 在 a2a_config 中配置 registry
    a2a_config=AgentCardWithRuntimeConfig(registry=registry),
)


方式二:使用环境变量配置

环境变量可以通过 .env 文件或系统环境变量设置:


# .env 文件示例
A2A_REGISTRY_ENABLED=true
A2A_REGISTRY_TYPE=nacos
NACOS_SERVER_ADDR=localhost:8848
# 其他可选配置项


Java 代码示例

查看详细文档:https://java.agentscope.io/zh/task/a2a.html


在最新版本的 Java AgentScope 中,应用可以直接暴露 A2A 服务,只有在需要使用 Sandbox 时,才需要使用 Runtime。


对于非最新版本,Java 开发者可以将 AgentScope Agent 无缝融入现有的 Spring Boot 基础设施体系。通过引入 spring-boot-starter-agentscope-runtime-a2a-nacos 依赖,应用在启动时会自动暴露 A2A 服务并注册到 Nacos Registry。


Maven 依赖配置


<dependency>
    <groupId>io.agentscope</groupId>
    <artifactId>spring-boot-starter-agentscope-runtime-a2a-nacos</artifactId>
    <version>1.0.3</version>
</dependency>


application.yaml 配置


agentscope:
  a2a:
    server:
      card:
        description: "基于 A2A 协议的 Java 智能体"
        provider:
          organization: 您的组织名称
          url: https://your-organization.com
      nacos:
        server-addr: ${NACOS_SERVER_ADDRESS:127.0.0.1:8848}
        # 其他可选配置项


通过上述配置,Spring Boot 应用在启动时会自动:

  • 暴露符合 A2A 规范的 JSONRPC 服务端点(默认路径:/a2a/jsonrpc)。
  • 暴露 AgentCard 的 Well-Known 端点(默认路径:/.well-known/agent-card.json),用于其他 Agent 发现和了解当前 Agent 的能力。
  • 自动处理 A2A 协议的消息转换和路由,将 A2A 消息格式转换为应用内部的消息处理逻辑。
  • 支持任务超时、中断等 A2A 协议规定的运行时特性。
  • 将 Agent 的能力描述(AgentCard)注册到 Nacos,基于 Nacos 3.0 智能体注册中心进行统一治理。


得益于这一机制,AgentScope 应用启动即完成在 Nacos 的 A2A Agent 注册,为后续的发现、路由、灰度与监控奠定基础。对于已经大规模采用 Java 技术栈的团队,这意味着智能体服务能自然长在同一套基础设施上,大幅降低引入成本与运维负担。


总结


AgentScope 全面支持 A2A 协议和 Nacos Agent Registry标志着智能体从“单点能力”迈向“开放互联生态”的关键一步,为企业构建统一的智能体管理平台,助力大规模 Agent 化落地:


  • AgentScope 层:借助 A2AAgentAgentCardResolver,我们提供统一的 A2A 对接能力和灵活的发现策略,默认集成 Nacos,支持动态 Agent 发现与调用。
  • AgentScope Runtime 层:通过 A2A 协议适配器和 A2ARegistry 抽象接口,提供统一的 A2A 服务暴露能力,支持自动服务注册与治理,与 Python AgentApp 和 Java Spring Boot Starter 无缝集成。


未来,我们会继续围绕 A2A 与 Registry 深耕,在发现与路由、版本与灰度、安全与访问控制等方向迭代,让面向生产的智能体应用更稳、更易用。


扩展链接

AgentScope:https://doc.agentscope.io/

AgentScope Python A2A 文档:https://doc.agentscope.io/tutorial/task_a2a.html

AgentScope Java:https://java.agentscope.io/

AgentScope Java A2A 文档:https://java.agentscope.io/en/task/a2a.html

Nacos:https://nacos.io/docs/latest/manual/user/ai/agent-registry

相关文章
|
2天前
|
人工智能 自然语言处理 Shell
🦞 如何在 Moltbot 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
🦞 如何在 Moltbot 配置阿里云百炼 API
|
6天前
|
人工智能 API 开发者
Claude Code 国内保姆级使用指南:实测 GLM-4.7 与 Claude Opus 4.5 全方案解
Claude Code是Anthropic推出的编程AI代理工具。2026年国内开发者可通过配置`ANTHROPIC_BASE_URL`实现本地化接入:①极速平替——用Qwen Code v0.5.0或GLM-4.7,毫秒响应,适合日常编码;②满血原版——经灵芽API中转调用Claude Opus 4.5,胜任复杂架构与深度推理。
|
10天前
|
JSON API 数据格式
OpenCode入门使用教程
本教程介绍如何通过安装OpenCode并配置Canopy Wave API来使用开源模型。首先全局安装OpenCode,然后设置API密钥并创建配置文件,最后在控制台中连接模型并开始交互。
4580 8
|
16天前
|
人工智能 JavaScript Linux
【Claude Code 全攻略】终端AI编程助手从入门到进阶(2026最新版)
Claude Code是Anthropic推出的终端原生AI编程助手,支持40+语言、200k超长上下文,无需切换IDE即可实现代码生成、调试、项目导航与自动化任务。本文详解其安装配置、四大核心功能及进阶技巧,助你全面提升开发效率,搭配GitHub Copilot使用更佳。
10382 21
|
3天前
|
人工智能 自然语言处理 Cloud Native
大模型应用落地实战:从Clawdbot到实在Agent,如何构建企业级自动化闭环?
2026年初,开源AI Agent Clawdbot爆火,以“自由意志”打破被动交互,寄生社交软件主动服务。它解决“听与说”,却缺“手与脚”:硅谷Manus走API原生路线,云端自主执行;中国实在Agent则用屏幕语义理解,在封闭系统中精准操作。三者协同,正构建AI真正干活的三位一体生态。
2332 9
|
1天前
|
存储 安全 数据库
使用 Docker 部署 Clawdbot(官方推荐方式)
Clawdbot 是一款开源、本地运行的个人AI助手,支持 WhatsApp、Telegram、Slack 等十余种通信渠道,兼容 macOS/iOS/Android,可渲染实时 Canvas 界面。本文提供基于 Docker Compose 的生产级部署指南,涵盖安全配置、持久化、备份、监控等关键运维实践(官方无预构建镜像,需源码本地构建)。
1220 2
|
1天前
|
机器人 API 数据安全/隐私保护
只需3步,无影云电脑一键部署Moltbot(Clawdbot)
本指南详解Moltbot(Clawdbot)部署全流程:一、购买无影云电脑Moltbot专属套餐(含2000核时);二、下载客户端并配置百炼API Key、钉钉APP KEY及QQ通道;三、验证钉钉/群聊交互。支持多端,7×24运行可关闭休眠。
|
17天前
|
存储 人工智能 自然语言处理
OpenSpec技术规范+实例应用
OpenSpec 是面向 AI 智能体的轻量级规范驱动开发框架,通过“提案-审查-实施-归档”工作流,解决 AI 编程中的需求偏移与不可预测性问题。它以机器可读的规范为“单一真相源”,将模糊提示转化为可落地的工程实践,助力开发者高效构建稳定、可审计的生产级系统,实现从“凭感觉聊天”到“按规范开发”的跃迁。
2595 18
|
10天前
|
人工智能 前端开发 Docker
Huobao Drama 开源短剧生成平台:从剧本到视频
Huobao Drama 是一个基于 Go + Vue3 的开源 AI 短剧自动化生成平台,支持剧本解析、角色与分镜生成、图生视频及剪辑合成,覆盖短剧生产全链路。内置角色管理、分镜设计、视频合成、任务追踪等功能,支持本地部署与多模型接入(如 OpenAI、Ollama、火山等),搭配 FFmpeg 实现高效视频处理,适用于短剧工作流验证与自建 AI 创作后台。
1387 5

热门文章

最新文章