
最近在做一个采购 Agent 对接外部供应商履约 Agent 的需求,两个 Agent 分属不同公司、不同技术栈,怎么互认、派活、跟进度,是个绕不开的问题。折腾一圈发现,这事儿现在有开放规范可以参照,叫 A2A(Agent2Agent)。
它 2025 年 4 月由 Google 发起,同年 6 月捐给 Linux 基金会,2026 年 3 月发布了 v1.0.0。流程跟人和人打交道很像,就四步:递名片、派任务、各留家底、自己验收。
两个陌生 Agent 要合作,第一件事是搞清楚"你是谁、你会干什么"。A2A 的做法是一份叫 AgentCard 的 JSON 文件,放在对方服务的固定位置,谁都能取。上面写四样东西:
从 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 删除。