首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >跨公司的两个 Agent 怎么互派任务?聊聊 A2A 协议的一次落地

跨公司的两个 Agent 怎么互派任务?聊聊 A2A 协议的一次落地

原创
作者头像
Archive
发布2026-09-10 14:28:20
发布2026-09-10 14:28:20
1130
举报
文章被收录于专栏:随笔随笔

最近在做一个采购 Agent 对接外部供应商履约 Agent 的需求,两个 Agent 分属不同公司、不同技术栈,怎么互认、派活、跟进度,是个绕不开的问题。折腾一圈发现,这事儿现在有开放规范可以参照,叫 A2A(Agent2Agent)。

它 2025 年 4 月由 Google 发起,同年 6 月捐给 Linux 基金会,2026 年 3 月发布了 v1.0.0。流程跟人和人打交道很像,就四步:递名片、派任务、各留家底、自己验收。

第一步,先递张名片

两个陌生 Agent 要合作,第一件事是搞清楚"你是谁、你会干什么"。A2A 的做法是一份叫 AgentCard 的 JSON 文件,放在对方服务的固定位置,谁都能取。上面写四样东西:

  • 身份:名字、说明,我是哪家的哪个 Agent
  • 能力:能接什么活、支不支持流式返回
  • 地址:往哪儿发请求
  • 鉴权:要什么凭证才让你调

从 v0.3 起,名片可以带 JWS 密码学签名,让对方验证这张名片没被篡改、确实来自它声称的提供方,v1.0 保留了这个能力。跨组织场景里这很实用,省掉了事先两两对接的麻烦。另外还有一种"认证后才给看"的详细名片,公开那份只放基本信息,验过身份才能看到更多技能。

第二步,派任务、跟进度

名片认过了就可以派活。A2A 把一次委托叫一个 Task,有自己的生命周期。很多人以为这是条直线流水线,其实不是,状态分三类共 8 种:

  • 进行中:已提交、进行中
  • 中断了:等你补信息、等你给授权(没失败,补齐还能继续)
  • 结束了:已完成、失败、被取消、被拒绝

两个中断态最容易被忽略。等补信息,是对方发现条件不足、需要你再给点东西;等授权,是它要调的下游需要你的许可。这两种情况任务不算失败,补齐之后还能接着走。长任务还可以用流式推送或回调通知同步进展,不用一直轮询。

第三步,合作但各留家底

这条边界最值得管理者留意。官方说法是:双方交换信息完成目标,不需要访问彼此的内部状态、记忆和工具;协作基于"对外声明的能力"和"交换的信息",不必公开各自的思考过程、计划和工具实现。

放到跨公司场景就很好理解:你把一批订单派给供应商 Agent,想知道的是"接了没、做到哪步、结果是什么",而不是它用了哪个模型、调了哪些内部系统、提示词怎么写的。反过来也一样。交换目标和产物,不交换家底,双方才敢接进对方的流程。

注意,规范说的是"不需要",不是"不允许",双方仍然可以交换消息和必要上下文,只是不强制摊开内部实现。

最后,验收还得自己来

有一件事要清醒:这套协议解决的是怎么传,不是怎么信。任务状态是执行方自己报的,它说"已完成",协议照原样传给你,但协议本身不核实这件事是不是真做好了。签名名片证明的是"你是谁",不是"你干得怎样"。

所以验收环节得自己搭:该测的测、该留日志的留日志、该人工审批的审批。把 Agent 接进关键流程之前,先想清楚谁来签字。

落地建议

规范由 Linux 基金会托管,官方提供多种语言 SDK,也给了三种传输绑定(JSON-RPC、gRPC、HTTP+JSON/REST),接入时按自家技术栈选就行。但别急着全押,规范还在小步更新(v1.0.0 之后又出了 v1.0.1)。务实做法是先挑一个边界清楚、责任明确的跨公司场景跑通,把名片、鉴权、状态同步、异常处理和验收都走一遍,再考虑铺开。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 第一步,先递张名片
  • 第二步,派任务、跟进度
  • 第三步,合作但各留家底
  • 最后,验收还得自己来
  • 落地建议
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档