本文介绍了Google推出的A2A开放协议旨在实现不同智能体间的标准化协作。文章详细阐述了A2A的五大设计原则核心组件Agent Card、A2A服务器、A2A客户端以及工作流程。通过一个篮球活动安排的真实案例展示了A2A如何促进多智能体间的动态、多模态通信。最后文章提出了落地方案和关键注意事项旨在帮助开发者理解并应用A2A实现智能体间的无缝协作。一、什么是 Agent2AgentGoogle将 A2A 作为开放协议推出目标很明确让不同团队、不同框架、不同部署形态的智能体能用同一套「协作语言」连起来面向大规模、多智能体场景。二、A2A 的五条设计原则原则一句话说明拥抱智能体能力支持自然、非结构化的协作方式。利用现有标准使用 HTTP、SSE、JSON-RPC确保与现有系统的兼容性。默认安全强调企业级认证与授权思路并与 OpenAPI 等生态对齐。支持长期任务支持长期任务支持流式更新、通知、状态推进。多模态支持文本、音频、视频流等多模态通信。三、核心组件一览Agent Card公共元数据文件通常位于/.well-known/agent.json描述智能体能力、技能、端点 URL 和认证要求用于能力发现。A2A 服务器暴露 HTTP 端点实现 A2A 协议方法管理任务执行。A2A 客户端应用程序或智能体消费 A2A 服务通过tasks/send或tasks/sendSubscribe与服务器交互。A2A 关键组件与技术细节如下组件描述Agent Card位于/.well-known/agent.json描述能力、技能、端点 URL、认证要求用于发现。A2A 服务器实现协议约定的方法管理任务执行具体以官方规格为准。A2A 客户端消费 A2A 服务例如发送tasks/send或tasks/sendSubscribe。任务Task核心工作单元有唯一 ID状态如submitted、working等。消息Message通信单元角色如user/agent内含Parts。部分Part内容单元如TextPart、FilePart、DataPart。工件Artifact任务输出由 Parts 构成。流式传输常用SSE推送长任务状态。推送通知可通过Webhook异步告知进展。四、A2A 工作流程从「发现」到「完成」发现客户端读取/.well-known/agent.jsonAgent Card了解智能体能力。启动客户端发送任务请求。使用tasks/send处理即时任务返回最终 Task 对象。使用tasks/sendSubscribe处理长期任务服务器通过 SSE 事件持续推送更新。处理服务端执行任务可能流式返回也可能一次性返回。交互可选若任务状态为input-required客户端可基于相同 Task ID 继续补充输入。完成任务进入终端状态如completed、failed或canceled。该流程既支持简单任务也支持需要多轮交互的复杂任务尤其适合多模态通信环境。五、A2A 和 MCP 是什么关系二者互补不是替代对比项MCPA2A主要解决模型如何标准化接入工具、API、资源多个 Agent 之间如何协作通信类比工具说明书 / 应用商店里的能力包同事群里的协作语言、协作总线典型场景连数据库、Drive、Slack、GitHub 等Agent A 查数、Agent B 分析、Agent C 汇总MCP用于工具和资源接入通过结构化输入/输出将 Agent 连接到工具、API 和资源。Google ADK 支持 MCP 工具可与 Agent 组合使用广泛的 MCP 服务器。A2A用于 Agent 间协作在不同 Agent 间实现动态、多模态通信而无需共享内存、资源和工具。这是社区驱动的开放标准。协议交集Google 建议将 A2A 智能体通过 Agent Card 描述并注册为 MCP 资源。这样框架既能通过 MCP 调用工具又能通过 A2A 与用户、远程智能体通信实现无缝协作。例如一个智能体可以先通过 MCP 从数据库检索数据再通过 A2A 与另一个智能体协作分析数据。六、A2A 为什么这样设计解耦能力与通信MCP 专注标准化能力调用类似微服务A2A 专注动态协作类似聊天。避免智能体既要处理功能逻辑又要处理通信协议。无缝扩展性新智能体只需注册 Agent Card 到 MCP即可被其他智能体发现和调用A2A 允许智能体动态组队如临时组建“数据分析小组”。兼容现有架构MCP 可集成传统工具数据库、APIA2A 可对接人类用户或其他异构智能体。可以这样记MCP 像“应用商店”提供标准化服务如地图、支付。A2A 像“微信群聊”智能体在群里用通用语言协议讨论如何分工。Agent Card 像“个人资料”写明“我会修图”“我会翻译”方便协作时快速发现能力。七、案例安排篮球活动多智能体协作实现了一个自动根据天气情况决定是否安排篮球活动的场景。7.1 业务故事WeatherAgent提供指定日期天气数据内存模拟的智能体。BasketBallAgent收到用户日期后先拉 Agent Card 再问天气据此决定篮球活动是否成行。7.2 整体流程BasketBallAgent接收到用户提供的活动日期BasketBallAgent通过A2A协议向WeatherAgent请求该日期的天气信息WeatherAgent返回天气数据温度和天气状况BasketBallAgent根据天气状况做出决策 -如果天气不含雨或雪确认安排篮球活动 -否则取消活动并提供取消原因7.3 实现说明职责分离天气服务独立进程FastAPI决策方用requests调用边界清晰。发现端点GET /.well-known/agent.json符合“发现”叙事后续可替换为更贴近官方 schema 的 JSON。与完整 A2A 的差异当前为简化 REST 自定义 JSON未展开官方 JSON-RPC 方法名与 Message/Part 全模型鉴权上客户端发送了Bearer但服务端示例未校验 token仅适合教学生产环境需补齐。7.4 依赖requirements.txtfastapi0.115.12pydantic2.11.4Requests2.32.3uvicorn0.34.27.5 WeatherAgent服务端WeatherAgent是一个基于FastAPI实现的服务默认监听0.0.0.0:8000from fastapi import FastAPI, HTTPExceptionfrom datetime import datefrom pydantic import BaseModelimport uvicornapp FastAPI()# Agent Card 声明通过 /.well-known/agent.json 暴露WEATHER_AGENT_CARD { name: WeatherAgent, version: 1.0, description: 提供指定日期的天气数据查询, endpoints: { task_submit: /api/tasks/weather, sse_subscribe: /api/tasks/updates }, input_schema: { type: object, properties: { date: {type: string, format: date}, location: {type: string, enum: [北京]} }, required: [date] }, authentication: {methods: [API_Key]}}# 任务请求模型class WeatherTaskRequest(BaseModel): task_id: str params: dict# 模拟天气数据存储weather_db { 2026-03-18: {temperature: 16℃, condition: 雷阵雨}, 2026-03-19: {temperature: 18℃, condition: 小雨转晴}, 2026-03-20: {temperature: 15℃, condition: 多云转晴}}app.get(/.well-known/agent.json)asyncdef get_agent_card(): return WEATHER_AGENT_CARDapp.post(/api/tasks/weather)asyncdef handle_weather_task(request: WeatherTaskRequest): 处理天气查询任务 target_date request.params.get(date) # 参数验证 ifnot target_date or target_date notin weather_db: raise HTTPException(status_code400, detail无效日期参数) return { task_id: request.task_id, status: completed, artifact: { date: target_date, weather: weather_db[target_date] } }if __name__ __main__: uvicorn.run(app, host0.0.0.0, port8000)7.6 BasketBallAgent客户端BasketBallAgent是调用方负责消费WeatherAgent的服务import requestsimport uuidclass BasketBallAgent: def __init__(self): self.weather_agent_url http://localhost:8000 self.api_key SECRET_KEY# 实际应通过安全方式存储 def _create_task(self, target_date: str) - dict: 创建 A2A 标准任务对象 return { task_id: str(uuid.uuid4()), params: { date: target_date, location: 北京 } } def check_weather(self, target_date: str) - dict: 通过 A2A 协议查询天气 # 获取天气智能体能力描述 agent_card requests.get( f{self.weather_agent_url}/.well-known/agent.json ).json() # 构造任务请求 task self._create_task(target_date) # 发送任务请求 response requests.post( f{self.weather_agent_url}{agent_card[endpoints][task_submit]}, jsontask, headers{Authorization: fBearer {self.api_key}} ) if response.status_code 200: return response.json()[artifact] else: raise Exception(f天气查询失败: {response.text}) def schedule_meeting(self, date: str): 综合决策逻辑 try: result self.check_weather(date) if雨notin result[weather][condition] and雪notin result[weather][condition]: return {status: confirmed, weather: result[weather]} else: return {status: cancelled, reason: 恶劣天气} except Exception as e: return {status: error, detail: str(e)}# 使用示例if __name__ __main__: meeting_agent BasketBallAgent() result meeting_agent.schedule_meeting(2026-03-18) print(篮球安排结果:, result)7.7 如何运行安装依赖pip install -r requirements.txt版本见 7.4。终端一运行WeatherAgent.py确保本机8000端口可访问。终端二运行BasketBallAgent.py。预期结果2026-03-18为雷阵雨活动取消将schedule_meeting参数改为2026-03-20可验证“多云转晴”时活动确认。八、落地清单先画协作图明确有哪些 Agent、谁先发现谁、任务是否长运行、是否需要 SSE。再选协议层工具调用走 MCP跨 Agent 对话与任务编排走 A2A或官方 SDK / 参考实现。安全优先Agent Card 写清认证方式生产环境必须落实网关、密钥与审计。从最小闭环到规格对齐先跑通「发现 → 任务 → 工件」再对照官方 spec 补全消息模型与状态机。九、结语A2A 的意义是让智能体协作可发现、可编排、可演进系统里多一个 Agent应像多一个标准接口的同事而不是多一团无法追踪的调用。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取