A2A协议的简单应用
A2A协议的应用明确如下几个问题Agent是什么呢为什么需要引入多个agent呢单个agent不能解决问题吗为什么需要引入A2A协议A2A协议的作用是什么Agent的分类1. 什么是 Agent简单来说Agent 大模型**如豆包、DeepSeek 工具 交互协议**。大模型擅长文本理解与决策但无法直接执行具体操作比如查天气、查机票、创建文件为了让大模型 “长出手”就需要搭配工具如天气查询接口、机票预订系统而 MCP 协议则负责解决 “大模型如何调用工具” 的问题 —— 三者结合就是能独立完成特定任务的智能体Agent。2. 为什么需要多个 Agent单个 Agent 不行吗核心原因是“单一职责原则”“避免上下文过载”实际场景如 “查天气选机票”需要多种不同能力若让一个 Agent 包揽所有任务会导致其逻辑复杂、响应变慢大模型存在 “上下文长度限制”上下文过长时结果准确性会下降。把 Agent 按职责拆分如天气 Agent 只负责查天气、机票 Agent 只负责查机票每个 Agent 专注于单一领域既能提升专业度和响应速度也能避免单个 Agent 上下文过载。3. 为什么需要 A2A 协议它的作用是什么A2AAgent to Agent协议是多个 Agent 之间的 “通信标准”。当系统中有多个分工不同的 Agent 时它们需要协同工作如调度 Agent 要给天气 Agent 发查询指令、接收返回结果而不同 Agent 可能由不同团队开发、基于不同技术实现 ——A2A 协议的核心作用就是统一 Agent 间的交互格式如请求参数、返回结果的规范让 Agent 之间无需人工适配就能 “互相理解”实现自动化协同降低 Agent 接入和扩展的成本新 Agent 只要遵循 A2A 协议就能快速融入系统。4. Agent 的分类Agent 按角色可分为两类类似 “组长与组内成员” 的关系调度 Agent消费者 Agent相当于 “组长”不负责具体任务执行核心职责是接收用户需求如 “查天气选机票”→ 拆解任务拆成 “查天气”“查机票” 两个子任务→ 调度对应 Agent 执行 → 整合所有结果反馈给用户功能 Agent提供者 Agent相当于 “组内成员”负责执行具体任务如天气 Agent 查天气、机票 Agent 查机票只能响应调度 Agent 的指令不直接对接用户。名词解释名词描述示例Agent CardAgent 的「身份 能力说明书」jsonbr/{br/ capabilities: {br/ streaming: falsebr/ },br/ defaultInputModes: [br/ textbr/ ],br/ defaultOutputModes: [br/ textbr/ ],br/ description: 提供天气相关的查询功能,br/ name: 天气 Agent,br/ preferredTransport: JSONRPC,br/ protocolVersion: 0.3.0,br/ skills: [br/ {br/ description: 给出某地的天气预告,br/ examples: [br/ 给我纽约未来 7 天的天气预告br/ ],br/ id: 天气预告,br/ name: 天气预告,br/ tags: [br/ 天气,br/ 预告br/ ]br/ },br/ {br/ description: 给出某地当前时间的空气质量报告不做预告,br/ examples: [br/ 给我纽约当前的空气质量报告br/ ],br/ id: 空气质量报告,br/ name: 空气质量报告,br/ tags: [br/ 空气,br/ 质量br/ ]br/ }br/ ],br/ url: http://127.0.0.1:10000,br/ version: 1.0.0br/}br/Client Agent (A2A Client)A2A 调用方消费者调度AgentRemote Agent (A2A Server)A2A 服务提供方提供者天气Agent示例整体的流程分为注册阶段用户问答阶段注册阶段天气Agent调度Agent平台用户天气Agent调度Agent平台用户调度Agent的职责: 任务拆解 下发Agent列表: [天气Agent]可用工具: send_message提交天气Agent的URL请求 /.well-known/agent.json返回 Agent Card创建通过Wireshark抓包工具抓包获取结果如下用户问答阶段天气Agent调度Agent平台用户天气Agent调度Agent平台用户西雅图明天的天气怎么样西雅图明天的天气怎么样西雅图明天的天气怎么样未来三天的天气如下:...西雅图明天晴天西雅图明天晴天注蓝色表示使用A2A协议的部分进阶多个Agent提供服务机票Agent调度Agent机票Agent提供者天气Agent提供者调度Agent消费者平台用户机票Agent调度Agent机票Agent提供者天气Agent提供者调度Agent消费者平台用户前置所有Agent遵循A2A协议已完成注册任务拆解1. 查5.1-5.3天气2. 查对应日期机票3. 整合推荐按天气适配机票筛选晴朗日期的低价机票我要查5.1-5.3天气选合适的机票转发用户复合需求A2A请求查询5.1-5.3天气统一格式A2A响应返回天气数据统一格式A2A请求查询5.1-5.3机票统一格式A2A响应返回机票数据统一格式返回整合后的推荐结果展示最终结果天气适配机票推荐流式响应提问-回答如下调度Agent发送给天气Agent的请求可以发现调度Agent发送给天气Agent的请求过滤掉了订机票的提问prompt。由于5月1日是晴天后续调度Agent发给机票Agent的请求就只需要关注5月1日的机票信息了“请帮我查询2025年5月1日从西雅图飞往纽约的航班有哪些”上述过程体现了调度Agent的任务分配请求-响应示例发往机票Agent的请求{ id: 0a96020b-5876-4011-94d4-b8fc4743b911, jsonrpc: 2.0, method: message/stream, params: { configuration: { acceptedOutputModes: [ text, text/plain, image/png ] }, message: { contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, kind: message, messageId: 9a022c61-4948-4731-b0b0-2671c66b0b43, parts: [ { kind: text, text: 请帮我查询2025年5月1日从西雅图飞往纽约的航班有哪些 } ], role: user } } }注“method”: “message/stream” 流式返回机票Agent的返回data: { id: 0a96020b-5876-4011-94d4-b8fc4743b911, jsonrpc: 2.0, result: { contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, history: [ { contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, kind: message, messageId: 9a022c61-4948-4731-b0b0-2671c66b0b43, parts: [ { kind: text, text: 请帮我查询2025年5月1日从西雅图飞往纽约的航班有哪些 } ], role: user, taskId: 41469774-41a2-4b33-b0fb-1f12f6bbef6e } ], id: 41469774-41a2-4b33-b0fb-1f12f6bbef6e, kind: task, status: { state: submitted } } } data: { id: 0a96020b-5876-4011-94d4-b8fc4743b911, jsonrpc: 2.0, result: { append: false, artifact: { artifactId: 6b457be7-8c24-4ca2-879d-cd03fe3528a1, parts: [ { kind: text, text: 你要查询的机票 } ] }, contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, kind: artifact-update, lastChunk: false, taskId: 41469774-41a2-4b33-b0fb-1f12f6bbef6e } } data: { id: 0a96020b-5876-4011-94d4-b8fc4743b911, jsonrpc: 2.0, result: { append: true, artifact: { artifactId: 6b457be7-8c24-4ca2-879d-cd03fe3528a1, parts: [ { kind: text, text: 如下 } ] }, contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, kind: artifact-update, lastChunk: false, taskId: 41469774-41a2-4b33-b0fb-1f12f6bbef6e } } data: { id: 0a96020b-5876-4011-94d4-b8fc4743b911, jsonrpc: 2.0, result: { append: true, artifact: { artifactId: 6b457be7-8c24-4ca2-879d-cd03fe3528a1, parts: [ { kind: text, text: 1. 航班号 FAKE-001起飞时间 20:00余票 30 张2. 航班号 FAKE-002起飞时间 23:00余票 50 张 } ] }, contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, kind: artifact-update, lastChunk: true, taskId: 41469774-41a2-4b33-b0fb-1f12f6bbef6e } } data: { id: 0a96020b-5876-4011-94d4-b8fc4743b911, jsonrpc: 2.0, result: { contextId: b5cdbc7f-504e-4174-a543-ba8aef6e85a9, final: true, kind: status-update, status: { state: completed }, taskId: 41469774-41a2-4b33-b0fb-1f12f6bbef6e } }A2A协议视频学习

相关新闻

一键复制功能解析:PasteMD如何提升文本处理效率

一键复制功能解析:PasteMD如何提升文本处理效率

一键复制功能解析:PasteMD如何提升文本处理效率 1. 项目概述:智能剪贴板美化工具 在日常工作中,我们经常遇到这样的场景:从网页复制的内容格式混乱,会议记录杂乱无章,代码片段缺乏结构。传统的手动整理既…

2026/7/6 5:27:59 阅读更多 →
Wan2.2-T2V-A5B视频生成中的YOLOv8目标检测应用

Wan2.2-T2V-A5B视频生成中的YOLOv8目标检测应用

Wan2.2-T2V-A5B视频生成中的YOLOv8目标检测应用 你有没有想过,让AI生成的视频不只是“动起来”,而是能“看懂”画面里有什么,并且让画面里的东西“智能地动”?比如,在生成的交通监控视频里,让汽车、行人、…

2026/7/6 19:56:35 阅读更多 →
GLM-4-9B-Chat-1M微调指南:打造专属长文本AI助手

GLM-4-9B-Chat-1M微调指南:打造专属长文本AI助手

GLM-4-9B-Chat-1M微调指南:打造专属长文本AI助手 1. 为什么需要微调长文本模型 在实际工作中,我们经常遇到需要处理超长文档的场景:一份300页的技术手册、整本财务报表、或者长达数万字的合同文件。普通的大模型往往只能处理几千字的文本&a…

2026/5/17 4:34:10 阅读更多 →

最新新闻

@Async异步线程:Spring 自带的异步解决方案

@Async异步线程:Spring 自带的异步解决方案

前言 在项目应用中,使用MQ异步调用来实现系统性能优化,完成服务间数据同步是常用的技术手段。如果是在同一台服务器内部,不涉及到分布式系统,单纯的想实现部分业务的异步执行,这里介绍一个更简单的异步方法调…

2026/7/6 21:30:26 阅读更多 →
揭秘HQTrack核心架构:InternT-MSDeAOTL-V2模型如何实现高精度实时追踪?

揭秘HQTrack核心架构:InternT-MSDeAOTL-V2模型如何实现高精度实时追踪?

揭秘HQTrack核心架构:InternT-MSDeAOTL-V2模型如何实现高精度实时追踪? 【免费下载链接】HQTrack Tracking Anything in High Quality 项目地址: https://gitcode.com/gh_mirrors/hq/HQTrack 你是否曾想过,如何让计算机像人类一样精准…

2026/7/6 21:28:26 阅读更多 →
从 0 新增一个 has.echo:我如何理解小程序容器里的 API 调用链路

从 0 新增一个 has.echo:我如何理解小程序容器里的 API 调用链路

从 0 新增一个 has.echo:我如何理解小程序容器里的 API 调用链路说明:本文是一次脱敏后的学习复盘。文中的 has.echo、EchoModule、system.demo 都是为了讲清楚调用链路而设计的最小示例,不包含公司内部源码、真实业务接口、真实模块路径和敏…

2026/7/6 21:28:26 阅读更多 →
151、RAG 检索增强生成(五):评估体系——RAGAS 指标、人工评测与线上监控

151、RAG 检索增强生成(五):评估体系——RAGAS 指标、人工评测与线上监控

151、RAG 检索增强生成(五):评估体系——RAGAS 指标、人工评测与线上监控 上周五凌晨两点,我被生产环境告警电话吵醒。用户反馈一个法律咨询机器人回答“根据《民法典》第X条,您需要承担全部责任”,但实际法条引用完全错误。我查了日志,发现RAG检索到的文档片段是某篇自…

2026/7/6 21:26:25 阅读更多 →
MySQL 联表查询性能对比:INNER JOIN vs 子查询 vs 临时表,3方案效率实测

MySQL 联表查询性能对比:INNER JOIN vs 子查询 vs 临时表,3方案效率实测

MySQL 联表查询性能优化实战:INNER JOIN vs 子查询 vs 临时表在数据库应用开发中,联表查询是最常见也最容易出现性能问题的操作之一。面对复杂的业务场景,开发者往往需要在多种实现方案中做出选择。本文将针对学生-课程-教师这一经典场景&…

2026/7/6 21:26:25 阅读更多 →
SDF在游戏开发中的创新应用:Dreams与Claybook技术案例分析

SDF在游戏开发中的创新应用:Dreams与Claybook技术案例分析

SDF在游戏开发中的创新应用:Dreams与Claybook技术案例分析 【免费下载链接】SDF Collection of resources (papers, links, discussions, shadertoys,...) related to Signed Distance Field 项目地址: https://gitcode.com/gh_mirrors/sdf/SDF 有符号距离场…

2026/7/6 21:22:23 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻