上面这段2分56秒的视频是一次虚构的用药安全演练。网关互操作性经过了测试;六个组织参与的突发事件则是一场确定性模拟。

上一次,我发现自己的智能体框架里,QUIC传输层实际上从未真正传输过任何东西。这一次,传输是真实的。五个进程能够互相发现、交换加密消息、强化独立结论,并让缺乏支持的信号自然衰减。

打开网易新闻 查看精彩图片

网络本身运转正常

但它仍然无法向另一个智能体介绍自己。没有标准方式去询问这个群体能做什么;内部信号过期后,没有可保留的任务可供检索;没有可互操作的进度流;没有取消契约;也没有其他框架能够理解的结果产物。

我构建了一个没有边境通道的社会。

谷歌的Agent2Agent协议为这个缺失的边界提供了名称。A2A于2025年4月发布,是一个开放协议,让不同厂商和框架构建的智能体能够互相发现、交换消息并协作,而无需共享各自的私有记忆、工具或内部计划。该项目于2025年6月移交至Linux基金会管理,因此“谷歌的A2A”在历史上是准确的,但已不再是完整的故事。

我需要的不是给SMESH换一个新大脑,而是在它前面放一份公共契约。

能工作的网络不等于可互操作的智能体

SMESH是我为LLM智能体之间的去中心化协调而设计的框架。它的机制借鉴自菌根网络,而非任务队列

  • 智能体向场中发射信号;
  • 信号强度随时间衰减;
  • 智能体根据本地亲和度认领工作;
  • 独立共识会强化一项认领;
  • 缺乏支持的认领会消失,无需中心进程拒绝;
  • 信任会改变一个节点愿意转发的内容。

这解决的是内部协调问题。它回答的是:哪个专家应该接手这项工作?是否有另一个独立智能体看到了同样的事情?这项认领是在获得支持,还是仅仅在被重复?一个过期的任务能否在没有调度器清理的情况下自行消失?

A2A解决的是另一个问题。它问的是:外部智能体如何发现这个系统?它如何委托一个工作单元?它如何观察一个长时间运行的任务?它如何取消这个任务?最终能取回什么样的结果?

官方A2A规范描述了一个面向独立且可能不透明的智能体系统的互操作层。其当前v1模型将规范数据对象、抽象操作以及具体绑定(如JSON-RPC、gRPC和HTTP+JSON/REST)分离开来。

核心词汇很小:A2A v1定义了SendMessage、SendStreamingMessage、GetTask、ListTasks、CancelTask和SubscribeToTask等操作。绑定层决定这些操作在传输中如何呈现;规范的任务语义保持不变。

这个区分很重要。如果我试图让A2A成为群体内部协调机制,就会把两个不同层面的问题混在一起。内部协调依赖信号衰减和本地亲和度,而A2A提供的是跨越系统边界的固定契约。

边界之外需要公共语言

一个能自我协调的网络,并不自动具备对外沟通的能力。内部机制可以很优雅,但外部智能体看不到这些机制,也不需要理解它们。外部智能体需要的是一个稳定、可预测的接口:如何发起请求、如何查询状态、如何终止任务、如何取回结果。

A2A恰好提供了这样一层。它不要求暴露内部记忆或计划,也不关心对方用的是哪种框架。它只定义了一个最小集合的操作和数据结构,让互不认识的系统能够完成最基本的协作动作。

这正是我的网络此前缺失的部分。它内部可以达成共识、分配任务、让无效信号自然消失,但当另一个框架的智能体试图与它对话时,没有任何公共入口。没有发现机制,没有任务句柄,没有进度查询,没有取消方式。

加上A2A之后,这个网络第一次拥有了可以被外部理解的边界。它仍然保留自己的内部协调逻辑,但外部智能体不再需要知道这些逻辑,只需要按照协议发送消息、查询任务、订阅进度。

这次演练验证了网关互操作性,也验证了一个更基本的判断:一个能自我组织的系统,仍然需要一份公共契约,才能与外界握手。