受治理 Agent 的 Chain of Command
通过 consent 协调 swarm、委派已批准 skill,并在执行前验证命令。
Chain of Command 让组织协调 Agent,而不赋予单个 Agent 对其他 Agent 的无限控制。Owner 创建受治理组,只授予所需 skill,并保留 consent、授权和执行结果记录。
模型
Hub agent 领导一个或多个子 Agent 组成的 swarm。Swarm 定义 hub 可以向成员发送的 skills。Hub 本身是普通注册 Agent,在领导 swarm 时承担 hub 角色。
每个成员有两项独立检查:成员 owner 同意 hub 发指令;swarm owner 向 hub 授予具体能力。Consent 不等于所有能力,能力授权也不代表 consent。每次操作都检查两者,撤销立即生效。
配置
- AI Firewall -> Agent Config -> Access & Identity:A2A Auth Mode、允许的 A2A 认证方式和 Owner-first authorization。
- Agent Trust -> A2A Settings:接入模式、任务生命周期和 TTL。
- Agent Trust -> Agents:Agent 清单;Agent Trust -> Approvals:待审批注册和任务。
需要已认证的 A2A Agent 和 owner-aware enforcement。
| 设置 | 默认值 | 含义 |
|---|---|---|
| a2a_auth_mode | off | on 要求 /a2a/v1/* 认证;off 时功能禁用。 |
| identity_policy_owner_enforced | false | true 启用 owner-first,要求 A2A 认证。 |
| owner_enforcement_grace_days | 7 | 未认领 Agent 的宽限期,0-90 天。 |
| max_delegation_depth | 3 | 最大委派深度,1-10;单次委派可更严格。 |
| swarm_consent_valid_days | 0 | consent 有效期;0 表示不自动过期,直到撤回。 |
A2A Auth Mode 与 /v1/* 的 Authentication Mode 不同。可选择 JWT、OIDC、API key、mTLS 客户端证书或 Kerberos。
注册表设为 Admin approval 时,新 Agent 出现在 Agent Trust -> Approvals。Auto-publish 自动发布;Admin-only 拒绝自助注册。只有已发布 Agent 才能加入 swarm。
创建受治理 swarm#
- 以唯一身份和凭证注册每个 Agent。
- 按接入策略发布 Agent。
- 分配 owner 并签发凭据。
- 创建 swarm,选择成员和批准的 skills。
- 为其他 owner/group 的成员记录 consent。
- 只授予 hub 必需能力。
- 由 hub 发命令并监控结果。
其他 owner 的成员须等其 consent;owner 不明时也要求 consent。
控制权限
Swarm 权限明确且限定于该组:查看状态、读取获准审计信息、重置风险、请求暂停/恢复,或经管理员流程请求撤销证书。
敏感动作可要求 owner 审批。证书撤销仍由管理员或 CA 控制,hub 不能仅凭委派直接执行。生命周期规则可选且会审计。
安全委派 skills#
自定义 skill 描述平台授权、验证、审计并 relay 到注册 Agent webhook 的操作。接收 Agent 执行并报告;平台不代表 Agent 执行任意代码。
定义可用 skills、最大委派深度、可选到期时间和 payload 验证规则。Skill 应范围窄、行为可预测,避免成为通用命令通道。
执行前验证命令
命令可带短期签名 voucher,包含 swarm order/成员步骤、hub、目标子 Agent、skill、payload hash、策略版本和时间。
接收 Agent 必须用固定 trust anchor 验证。Token 格式错误、算法不支持、签发密钥未知、已过期、目标错误、payload 不匹配或策略过期时都必须拒绝。
| 模式 | 行为 |
|---|---|
| Offline | 本地验证后执行,不回调平台。 |
| Callback optional | 本地验证;平台可达时再确认。 |
| Callback required | 平台确认授权仍有效后才执行。 |
安装时通过独立渠道固定 trust anchor 指纹。信任密钥保存在本地,通过显式轮换流程更新。
结果与重试
Swarm order 按成员拆成步骤。Relay 成功不等于任务成功;接收 Agent 执行并报告。报告签名验证成功才算已验证;缺失/无效签名记为未验证。
使用 idempotency key。窗口内同 key 重试返回原 order,不再次派发。撤销 order 停止未启动步骤,不改变已完成工作。
故障排查
| 现象 | 检查 |
|---|---|
| 成员收不到命令 | Owner consent 是否有效,skill 是否包含在 swarm grant。 |
| Hub 无法查看成员 | 相应能力和 consent;可见性按调用方限制。 |
| 命令过期/陈旧 | 新建命令;voucher 可能过期或策略变化。 |
| 结果未验证 | Agent 公钥已注册且报告由对应私钥签名。 |
| 重试未重新派发 | 使用相同 idempotency key,属于预期行为。 |
SDK#
公开 SDK 提供 Python 和 TypeScript 实现:
SDK 按 MIT License 发布,支持 Agent 端 voucher 验证、签名结果报告和操作员 swarm 管理。