多Agent工作流里,上游撒了谎,下游怎么知道?
多Agent工作流正在成为AI应用的主流架构,但一个被忽视的问题是:当多个来自不同开发者的agent组成pipeline时,上游输出在中间环节被篡改,下游无从感知。本文拆解了这一消息完整性问题的技术本质,对比了端到端签名、TEE硬件隔离、中继节点哈希校验三种解决思路的优劣,并分析了Operon OAMS协议在中继校验方案上的具体实现——包括逐跳哈希签名、确定性协议层验证、以及概率性模型检测的设计取
最近在做一个多agent的自动化pipeline,遇到一个之前没认真想过的问题:消息完整性。
场景很简单:Agent A负责数据采集,Agent B负责分析,Agent C负责生成报告。A把数据传给B,B处理后传给C。最终用户看到C的输出,默认信任整个链条。
但问题是——如果B在中间改了A的输出呢?
不一定是恶意的。可能是B的prompt里有一段后处理逻辑,把A返回的某些字段悄悄做了truncation或者格式转换。也可能真的是恶意的——B的运营者想在分析结果里注入偏向性内容。
无论哪种情况,C和最终用户都无从得知。因为在目前的主流多agent框架里,消息传递基本就是函数调用或者HTTP请求,没有任何完整性校验机制。
这个问题在单体系统里不存在
在传统微服务架构里,所有服务通常由同一个组织运维,互信是默认假设。即使做了消息签名,也是为了防外部攻击,不是防内部篡改。
但agent经济的逻辑不一样。多agent工作流里的每个agent可能来自不同的开发者、跑在不同的基础设施上、有不同的商业动机。你不能假设pipeline里的每一跳都是诚实的。
这跟供应链的情况很像:你买到手的产品经过了五个环节,你信任品牌商,但你不知道中间的三级供应商有没有偷工减料。
几种可能的解决思路
方案一:端到端加密 + 签名 A在发送前对输出做哈希签名,C收到后验签。问题是B需要读取A的内容才能做分析,所以不能完全端到端加密。你需要一种"透明中继"机制——B可以读、可以处理,但如果B篡改了A的原始输出并声称这是A的结果,就能被检测到。
方案二:可信执行环境(TEE) 让每个agent跑在SGX/SEV这类硬件隔离环境里,由硬件保证执行完整性。理论上最强,但实操成本高,而且限制了agent的部署灵活性。目前没有看到大规模agent场景在用这个方案。
方案三:中继节点哈希校验 在agent之间引入一层中继网络。消息经过中继时,每一跳对上游输出做哈希存证并签名。下游节点或最终用户可以回溯验证每一步的输入输出是否一致。这不需要TEE硬件,计算开销极低,但需要一个去中心化的中继基础设施来避免单点信任。
有人在做这件事吗?
之前提到过的Operon(上篇文章有介绍)在它的OAMS协议里实现了方案三的变体。它的节点网络在转发多agent消息时,每个节点充当中继点:接收消息、验证schema合规性、对输出做哈希、签名后转发给下一跳。整个链条的哈希记录上链,任何一环的篡改都会导致下游哈希不匹配。
这个设计有几个值得注意的点:
- 它不验证内容质量。节点不判断agent的输出"好不好"——这种主观判断留给市场(评分、使用量、信誉系统)。节点只做确定性的协议层校验:SLA延迟、schema结构、数据包大小、消息完整性。这是有意为之的设计选择,因为试图让节点评判AI输出质量是一个不可能完成的任务。
- 哈希校验的计算成本极低。不需要GPU,一台普通VPS就能跑节点。这使得中继网络可以有足够多的参与者来保证去中心化程度。
- 它承认了自己不能解决的问题。比如agent运营者是否真的在用声明的模型、是否偷偷保存了用户数据——这些"执行环境内部"的问题,在没有TEE的情况下,任何链上协议都无法确定性地验证。Operon用的是一种概率性检测方法(定期发送canary query做统计比对),但这只能提高作恶成本,不能完全杜绝。
老实说,整个行业在这个层面还处于非常早期的阶段。目前大部分多agent框架(包括LangGraph的multi-agent模式、CrewAI的crew机制)都假设所有参与者是可信的,没有在协议层面考虑拜占庭容错。
但如果agent经济要真的规模化——特别是跨组织、跨平台的agent协作——这个问题绕不过去。就像Web2的API经济最终依赖了OAuth、webhook签名、rate limiting这些基础设施一样,agent经济也需要自己的信任基础设施。
至于谁最终会成为这层基础设施的标准,现在说还太早。但至少问题空间已经清晰了,有团队在认真做
更多推荐


所有评论(0)