多Agent部署的运行时安全

在不阻止合法Agent活动的情况下强制执行安全边界的运行时护栏。MAREF提供开源运行时治理系统,其状态机经过TLA+模型检查。

什么是多Agent运行时安全?

多Agent运行时安全是在执行期间管理Agent行为的控制集——而不仅仅是在部署时。静态安全措施(提示工程、工具白名单、能力注册)设置初始边界,但运行时安全在Agent与工具、数据和彼此交互时动态强制执行这些边界。

运行时安全必须处理静态分析无法预测的场景:Agent接收精心构造的输入导致其尝试未授权操作、一个Agent的受损状态通过Agent间消息传播给其他Agent,或模型更新微妙地改变了决策边界。

MAREF的运行时安全系统通过身份隔离、实时决策门、断路器和持续漂移监控解决所有这些问题。

MAREF如何防止Agent超出其权限?

MAREF在Agent级别强制执行零信任权限模型。每个Agent都有一个加密签名的Agent卡,声明其能力、允许的工具、信任级别和通信边界。在执行任何操作之前,运行时安全门验证:

  • 操作是否与Agent声明的能力匹配?
  • 目标工具是否在Agent的权限矩阵中?
  • Agent的信任状态是否高于此操作类型所需的最低值?
  • 此操作是否触发任何活动的安全规则或治理策略?
  • 此Agent或操作类型的断路器是否已触发?

此多层检查在安全门的P99 < 10 ms和决策树的P95 < 100 ms延迟目标内运行,自动解决常规决策,通过4级安全决策树(规则→模式→安全门→人工在环升级)将边缘案例升级到人工判断。

Agent未通过安全检查时会发生什么?

故障处理遵循渐进升级模型:

  1. 警告 — 第一次失败记录事件并警告Agent。不采取操作。
  2. 制裁 — 时间窗口内的第二次失败降低Agent的信任状态,减少其自主能力。
  3. 隔离 — 第三次失败触发Agent隔离。Agent无法再与其他Agent通信或执行工具调用。只有人工干预才能释放。
  4. HALT — 三次连续相同类型失败触发HALT吸收态。治理引擎锁定,需要认证的人工覆盖才能恢复。

此4阶段治理模型(警告→制裁→隔离→恢复)可按部署配置,包括自定义阶段持续时间和升级标准。

MAREF如何隔离Agent彼此?

MAREF实现SubAgent隔离,受Git Worktree架构启发。每个Agent在隔离的上下文中操作,具有自己的内存空间、能力注册和信任状态。跨Agent通信需要通过AgentHandoffProtocol进行显式交接,该协议验证发送者身份、接收者接受消息的权限,以及整个对话历史的监管链。

此隔离模型防止提示注入跨Agent传播。即使一个Agent被破坏,爆炸半径也仅限于该Agent的隔离上下文——相邻Agent保持不受影响。

SubAgent隔离示例
from maref.recursive.agent_handoff import AgentHandoffProtocol, HandoffRequest
from maref.recursive.agent_handoff import HandoffReason

handoff = AgentHandoffProtocol()
handoff.set_trust("researcher-01", "coder-01", trust=0.8)

result = handoff.request_handoff(HandoffRequest(
    from_agent="researcher-01",
    to_agent="coder-01",
    task_context={"task": "Implement the verification function"},
    reason=HandoffReason.SUBTASK_COMPLETE,
))

# Handoffs are audited with a signed chain of custody.
if not result.accepted:
    handoff.rollback_handoff(result.handoff_id)

MAREF如何在运行时检测模型漂移?

MAREF实现双模式漂移检测:LoRA权重分析和本体嵌入比较。两者在Agent操作期间持续运行。

  • LoRA漂移检测 — 监控推理期间LoRA适配器权重的分布。权重分布的变化可能表明模型退化、概念漂移或对抗性操纵。
  • 本体漂移检测 — 将Agent输出嵌入语义本体空间并随时间跟踪分布。输出语义的变化可能表明模型的理解已发生偏移。
  • 三重散度指标 — 两种模式都使用KL散度、JS散度和Hellinger距离作为独立测量。只有当至少两个指标就显著偏移达成一致时才报告漂移。

检测到漂移时,系统向人工操作员升级,提供详细报告,包括散度值、受影响的Agent ID和推荐操作(重新校准、回滚模型版本或隔离)。

什么是爆炸半径控制系统?

爆炸半径控制器监控和限制任何单个Agent故障的影响。它跟踪:哪些Agent可以影响哪些其他Agent、哪些能力是共享的vs隔离的、Agent间信任关系的依赖图,以及基于每个Agent的访问级别和最近行为的累积风险评分。

如果Agent的爆炸半径超过其配置的阈值,控制器自动收紧约束——减少Agent的通信范围、要求其操作的HITL批准,或完全隔离。这防止故障通过多Agent系统级联传播。

如何为现有Agent部署添加运行时安全?

MAREF的运行时安全门作为中间件层集成。将其添加到您现有的LangGraph、CrewAI或AutoGen部署中,无需修改Agent逻辑:

安全门中间件集成
from maref.recursive.safety_gate_v2 import SafetyGateV2

gate = SafetyGateV2()

# Intercept an agent-to-agent handoff before it executes.
assessment = gate.validate_handoff(
    from_agent="researcher-01",
    to_agent="coder-01",
    from_capabilities=["search"],
    to_capabilities=["halt"],
)
if assessment.blocked:
    gate.block(f"blocked: {assessment.reason}")
else:
    execute(action)

完整演练,请参见快速入门指南。治理基础,请参见Agent治理

运行时安全规格

安全模型
每Agent零信任,带能力隔离
决策延迟
安全门P99 <10 ms;决策树P95 <100 ms
升级阶段
4:警告→制裁→隔离→HALT
漂移检测
LoRA权重+本体嵌入,三重散度指标
Agent隔离
SubAgent上下文隔离(Git Worktree风格)
跨框架
MCP+A2A协议级别;AutoGen适配器已发布
通信
A2A v0.3+MCP双协议,签名交接链