模块 2Tool 与 Agent Runtime
Guardrails 策略执行
Guardrail 是执行点,不是万能安全层
- 输入检查只覆盖进入该边界的输入
- 输出检查不保护中间 Tool 副作用
- 模型分类器本身也可能误判
- 身份、权限和业务不变量必须由确定性系统执行
按数据和动作流布置决策点
用户/外部输入
- 格式、内容风险、租户政策
模型输出
- 泄露、格式、业务允许范围
Tool 执行前
- 参数、权限、风险、审批和预算
Tool 返回后
- 敏感过滤、注入标记、结果 Schema
状态提交前
- 业务不变量和版本冲突
串行与并行 Guardrail 的取舍
- 并行检查降低延迟但可能已消耗 Token 或启动动作
- 高风险动作必须阻塞式前置
- 审批前检查减少无效审批,审批后仍需重验状态
- 多个策略冲突时采用显式优先级和默认拒绝
策略结果要可组合
- allow、deny、needs_approval、transform 或 escalate
- 稳定原因码与面向用户/模型的不同消息
- 策略版本、输入摘要和证据引用
- 禁止把内部规则细节泄露给不可信上下文
Guardrail 自身失败时的策略
- 安全关键检查默认 Fail Closed
- 可用性检查可按风险 Fail Open 或降级
- 超时、模型分类器不可用和依赖故障分开处理
- 人工绕过必须有时限、范围和审计
证明策略覆盖而不是只证明函数存在
- 列出所有入口、Tool 类型、Handoff 和内置能力
- 测试直接、间接、嵌套和恢复后的调用
- 验证不能从其他路径绕过同一策略
- 监控拒绝率、误拒率、漏检和绕过事件