登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
分布式智能体|A2A Agent实战
分布式智能体|A2A Agent实战
[ 复制链接 ]
敛饺乖
4 小时前
程序园永久vip申请,无限下载程序园所有程序/软件/数据/等
随着智能体应用的广泛应用,智能体的分布式部署、跨网络、跨框架、跨组织调用,成为当下智能体落地急需解决的问题。针对这一痛点,Google推出了Agent2Agent(简称A2A)协议,专为智能体之间的互联互通、协同协作提供标准化的解决方案。
本文基于Spring AI Alibaba框架,使用Nacos作为注册中心,落地完整的分布式智能体方案。
整体架构:
一、Nacos注册中心安装
本次选用的Nacos版本为
3.2.0
,安装配置流程可参考官方文档,这里不再赘述基础安装步骤。
Nacos官方地址:https://nacos.io/
二、项目依赖引入
使用官方推荐的BOM方式进行依赖管理
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
spring-ai-alibaba-bom</artifactId>
<version>1.1.2.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
spring-ai-bom</artifactId>
<version>1.1.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
spring-ai-alibaba-extensions-bom</artifactId>
<version>1.1.2.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
spring-ai-alibaba-agent-framework</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
spring-ai-alibaba-starter-dashscope</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
spring-ai-alibaba-starter-a2a-nacos</artifactId>
</dependency>
</dependencies>
复制代码
三、Agent服务注册配置
完成依赖引入后,需要将自定义的智能体交由Spring容器管理,同时配置Nacos注册参数,实现智能体的自动注册。
1. 配置Bean对象
本次以讲笑话的智能体jokeAgent为例
@Configuration
public class A2AAgentConfig {
@Bean(name = "jokeAgent")
public ReactAgent jokeAgent() {
// 构建通义千问API对象
DashScopeApi dashScopeApi = DashScopeApi.builder()
.apiKey(System.getenv("AliQwen_API"))
.build();
// 初始化对话模型
DashScopeChatModel chatModel = DashScopeChatModel.builder()
.dashScopeApi(dashScopeApi)
.defaultOptions(DashScopeChatOptions.builder()
.model(DashScopeChatModel.DEFAULT_MODEL_NAME)
.temperature(0.5)
.maxToken(1000)
.build())
.build();
// 创建并返回笑话智能体
return ReactAgent.builder()
.name("jokeAgent")
.model(chatModel)
.description("负责讲笑话。")
.instruction("你是一个幽默风趣、反应敏捷的笑话智能体。你的任务是根据用户的要求,讲一个轻松、健康、积极向上的短笑话。")
.build();
}
}
复制代码
2. 修改application.yml配置文件
spring:
application:
name: spring-ai-alibaba-a2a-server
ai:
dashscope:
api-key: ${AliQwen_API}
alibaba:
a2a:
nacos:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
registry:
enabled: true # 启用服务注册(注册本地 Agent)
server:
version: 1.0.0
card:
name: jokeAgent # 必须与Bean名称一致
description: 专门讲笑话的智能体
复制代码
3. 注册成功校验
启动项目后,控制台出现如下日志,即代表智能体成功注册到Nacos注册中心:
Auto register agent jokeAgent into Registry Nacos[127.0.0.1:8848] successfully.
复制代码
配置成功后在Nacos Console上面可以看到智能体成功注册
四、Agent远程调用
完成服务端智能体注册后,客户端即可通过A2A协议远程调用注册好的智能体,实现分布式跨服务的智能体协作。
1. 客户端依赖准备
客户端同样需要添加上述的A2A依赖
2. 远程调用代码编写
客户端调用代码如下
@RestController
public class RemoteAgentController {
@Resource
private AgentCardProvider agentCardProvider;
@GetMapping("test")
public void test() throws GraphRunnerException {
// 服务发现:通过AgentCardProvider 从注册中心获取Agent
A2aRemoteAgent remoteAgent = A2aRemoteAgent.builder()
.name("jokeAgent")
.agentCardProvider(agentCardProvider)
.description("可以给我讲笑话")
.build();
Optional<OverAllState> result = remoteAgent.invoke("请给我讲一个关于小明的笑话");
result.ifPresent(state -> System.out.println(state.data().get("output")));
}
}
复制代码
3. 调用效果展示
[code]哈哈,收到指令——已启动「快乐多巴胺发射器」,正在加载健康笑点模块…滴!加载完毕!
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
分布式
智能
A2A
Agent
实战
相关帖子
Semantic Kernel实战:微软AI编排框架的Java落地指南
Semantic Kernel实战:微软AI编排框架的Java落地指南
Agent Skills | Spring Ai Alibaba从零构建可扩展 AI 智能体
Agent Skills | Spring Ai Alibaba从零构建可扩展 AI 智能体
微信机器人开发实战:从0到1搭建智能客服系统
微信机器人开发实战:从0到1搭建智能客服系统
微信机器人开发实战:从0到1搭建智能客服系统
微信机器人开发实战:从0到1搭建智能客服系统
LLM | 项目推荐:LLM 后训练 / Agent 相关的小规模开源项目
超大型AI智能体集群锁定机制及解锁方式探讨
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
Semantic Kernel实战:微软AI编排框架的Java落地指南
0
4
任俊慧
2026-04-02
安全
Semantic Kernel实战:微软AI编排框架的Java落地指南
0
5
哈妙思
2026-04-02
安全
Agent Skills | Spring Ai Alibaba从零构建可扩展 AI 智能体
0
5
劳怡月
2026-04-02
安全
Agent Skills | Spring Ai Alibaba从零构建可扩展 AI 智能体
0
728
颖顿庐
2026-04-02
业界
微信机器人开发实战:从0到1搭建智能客服系统
0
1002
辉伫
2026-04-02
业界
微信机器人开发实战:从0到1搭建智能客服系统
0
798
邰怀卉
2026-04-02
业界
微信机器人开发实战:从0到1搭建智能客服系统
0
466
榷另辑
2026-04-02
业界
微信机器人开发实战:从0到1搭建智能客服系统
0
352
鸳剿
2026-04-02
业界
LLM | 项目推荐:LLM 后训练 / Agent 相关的小规模开源项目
0
239
奄蜊
2026-04-02
安全
超大型AI智能体集群锁定机制及解锁方式探讨
0
631
艺轫
2026-04-02
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
敛饺乖
4 小时前
关注
0
粉丝关注
22
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991125
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
神泱
9539
6
韶又彤
9913
7
宋子
9879
8
荪俗
9038
9
蓬森莉
9873
10
二艰糖
9530
查看更多
今日好文热榜
688
2026 CISCNx长城杯半决赛复盘
897
【开源】《clip》翻译功能怎么用?复制一下
280
[SDR] OFDM RX 详解
663
手撕 Transformer (2):嵌入层和位置编码的
493
【转载】解决 OpenClaw 2026.3.31 版本 exe
673
祝贺 Apache SeaTunnel PMC 新成员张圣航!
666
2026年AI金融工具排行榜:深度测评7款工具
278
实验室服务器远程访问终极方案:SSH 反向隧
89
25.Acwing基础课第829题-简单-模拟队列
788
分布式智能体|A2A Agent实战
630
超大型AI智能体集群锁定机制及解锁方式探讨
714
2026西安旧房翻新哪家强?西安旧房翻新这份
992
pg_auto_failover 配置参数
479
2026西安旧房翻新哪家强?西安旧房翻新这份
582
2026西安旧房翻新哪家强?西安旧房翻新这份
198
2026西安旧房翻新哪家强?西安旧房翻新这份
4
2026西安旧房翻新哪家强?西安旧房翻新这份
5
钓鱼邮件分析与排查
430
2026西安旧房翻新哪家强?西安旧房翻新这份
489
2026西安旧房翻新哪家强?西安旧房翻新这份