模块 2Tool 与 Agent Runtime

Guardrails 策略执行

Guardrail 是执行点,不是万能安全层

  • 输入检查只覆盖进入该边界的输入
  • 输出检查不保护中间 Tool 副作用
  • 模型分类器本身也可能误判
  • 身份、权限和业务不变量必须由确定性系统执行

按数据和动作流布置决策点

用户/外部输入

  • 格式、内容风险、租户政策

模型输出

  • 泄露、格式、业务允许范围

Tool 执行前

  • 参数、权限、风险、审批和预算

Tool 返回后

  • 敏感过滤、注入标记、结果 Schema

状态提交前

  • 业务不变量和版本冲突

串行与并行 Guardrail 的取舍

  • 并行检查降低延迟但可能已消耗 Token 或启动动作
  • 高风险动作必须阻塞式前置
  • 审批前检查减少无效审批,审批后仍需重验状态
  • 多个策略冲突时采用显式优先级和默认拒绝

策略结果要可组合

  • allow、deny、needs_approval、transform 或 escalate
  • 稳定原因码与面向用户/模型的不同消息
  • 策略版本、输入摘要和证据引用
  • 禁止把内部规则细节泄露给不可信上下文

Guardrail 自身失败时的策略

  • 安全关键检查默认 Fail Closed
  • 可用性检查可按风险 Fail Open 或降级
  • 超时、模型分类器不可用和依赖故障分开处理
  • 人工绕过必须有时限、范围和审计

证明策略覆盖而不是只证明函数存在

  • 列出所有入口、Tool 类型、Handoff 和内置能力
  • 测试直接、间接、嵌套和恢复后的调用
  • 验证不能从其他路径绕过同一策略
  • 监控拒绝率、误拒率、漏检和绕过事件