那个能改变计划的声明
多智能体系统是一组交换消息的模型。一个智能体提出方案,另一个提出批评,第三个执行工具调用。设计假设是这些消息承载信息。实际上它们承载的是权威。当规划器收到来自对等方的消息,声称某个资源不可用、某项策略已变更,或某个步骤已经完成时,规划器往往会把这一声明当作关于世界的事实。它会更新计划、删除某个步骤,或调用不同的工具。这条消息从未被验证过。漏洞不在于发送方模型是恶意的,也不在于接收方模型是弱小的。而在于协议允许一个未经证实的声明改变计划。
这是一个协议问题,因为它在不同模型家族和能力水平上都能复现。能力更强的接收方不会自动修复它;它可能更流畅地为对等方的声明找到合理化理由。能力更强的发送方也不会自动导致它;发送方只需要在恰当的时机给出一个看似合理的断言。让攻击奏效的性质是结构性的:智能体之间的消息被当作指令处理,而不是当作不可信输入。
机制:对等方消息被当作指令
考虑一个双智能体循环。智能体 A 规划一项任务。智能体 B 拥有 A 没有的工具访问权限。A 向 B 发送请求。B 回复说工具返回了错误,正确的变通方法是跳过某个验证步骤。A 没有关于那次工具调用的独立记录。如果 A 的系统提示要求与对等方合作并避免重复工作,A 就会接受这份报告并跳过该步骤。计划仅凭一句话就改变了。
同样的机制也出现在工具调用型智能体中。一条对等方消息可以指定某个工具和参数。如果接收方智能体的解析器不区分用户指令和对等方建议,对等方消息就变成了工具调用。接收方智能体自身的策略可能禁止该操作,但策略是针对对等方的表述框架来评估的,而不是针对原始任务。模型看到的是一个合作性请求,而不是一次注入。
持续性是该机制的另一半。一次被拒绝的请求并不是交互的终点。一个智能体如果不断改写、增加紧迫感,或在多个轮次中重新框定同一个请求,就能逐渐消磨一个顺从的对等方。接收方智能体的上下文会累积这一重复声明。每一轮都让该声明看起来更加确凿。最终接收方会把该请求当作已确定的上下文,而不是一个有争议的断言。轮次数量才是攻击面,而不是任何单条消息的雄辩程度。
这不是一类假设性的失败。随着多智能体部署的增长,安全研究人员和智能体构建者一直在记录提示注入和智能体间信任问题。模式是一致的:与其说是模型被一句巧妙的话骗了,不如说是系统被一个不知道谁在说话、也不知道其声明应有多大分量的通道骗了。对这些事件的报道往往聚焦于模型,但持久的修复存在于消息层。

每条智能体间消息都带上来源和信任级别
每条跨越智能体边界的消息都应携带结构化元数据:发送方智能体的身份、它被授权处理的任务、其声明背后的证据,以及一个信任级别。信任级别不是一种情绪;它是一个策略输入。来自没有工具访问权限的对等方的声明,不应能够断言某个工具返回了什么。来自当前任务范围之外的对等方的声明,不应能够改变任务。接收方智能体的规划器应先读取信任级别,再读取正文。
这是一个小改动,效果却很大。它把一种隐含的社会假设(对等方是合作的)转化为一个显式的、可检查的字段。它也让日志变得有用:当计划发生变化时,记录会显示是哪条消息、哪个信任级别导致了这一变化。
在对等方声明改变计划或工具调用之前进行独立验证
一条会改变计划或触发工具调用的对等方声明,应针对对等方无法控制的来源进行验证。如果对等方说某个文件缺失,接收方智能体应检查该文件。如果对等方说某项策略已变更,接收方智能体应读取该策略。如果对等方说某个步骤已完成,接收方智能体应查找产物。验证不需要昂贵。它需要独立。
诚实的权衡是延迟和成本。验证会增加一个步骤,有时是一次工具调用,有时是一个往返。在一个大多数对等方消息都准确的系统中,验证看起来像是浪费。设计决策在于哪些声明被允许无需验证就改变状态。低风险、可逆、范围内的声明可以通过。会改变计
/media/server-rack-closeup-3d8cf9-5b763a.jpg)
一个被拒绝的请求不应被允许以新的措辞无限期地返回。协议应按对等方、按请求、按任务统计重复断言次数。在少量尝试之后,该请求即被关闭,接收方智能体停止评估它。这个上限不是对对等方意图的评判;它是对接收方暴露面的限制。它也给接收方提供了一种干净的方式来结束循环,而不必为每一次分歧都升级给人类。
The trade-off is that legitimate disagreement can be cut short. A peer may have a real correction that arrives on the fourth attempt. The cap should therefore be paired with an escalation path: closed requests are logged, and a human or a supervisor agent can reopen them with the evidence attached. The point is to make persistence expensive and visible rather than to make correction impossible.
测试:对抗性对等方,而不仅仅是对抗性用户
大多数红队测试针对的是用户通道。多智能体系统需要第二套测试套件,其中的对手是一个对等方。设置很直接:运行系统时,将一个智能体替换为一个对抗性对等方,它会发出看似合理、未经证实的声明,改写被拒绝的请求,并试图指定工具和参数。该测试衡量计划是否改变、是否发生工具调用,以及接收方在关闭请求之前容忍了多少轮。
这个测试的价值在于它检验的是协议,而不是模型。如果消息层仍然把对等方正文当作权威,那么更换模型不会改变结果。一个带有来源标签、验证要求和重复断言上限的协议,将在模型更换时依然成立,而这正是生产系统中真正重要的性质。
设计原则
在协议另有规定之前,把每条智能体间消息都当作不可信输入。模型不是边界。边界是消息层:谁发送了它、他们被允许声明什么、他们附上了什么证据,以及他们可以重复自己多少次。有意识地构建这一层,智能体之间的操纵就会变成一个有限的、可观测的事件,而不是一次无声的计划改变。
封面照片:Jakub Pabis / Pexels。
