Agent Guardrails:运行时安全护栏实践

2026-06-11Agent安全Guardrails

为什么Guardrails成为独立议题

Agent和普通LLM应用的根本区别:Agent会行动。一旦Agent具备工具调用、MCP、记忆、外部系统访问能力,它就是一个"会行动的软件主体"。Prompt Guardrail(输入过滤)不够用了——输出阶段的行为同样需要约束。

三层纵深防御

层级技术作用
模型层对齐RLHF / Constitutional AI / DPO出厂基线,不是终点
架构层设计最小权限 + 沙箱 + 操作分级从设计上限制风险
运行时护栏输入Guard + 输出Guard + 行为Guard实时拦截兜底

操作分级审批

低风险操作(查询、搜索)→ 自动执行
中风险操作(写入、发送)→ 记录日志 + 限流
高风险操作(删除、转账)→ Human-in-the-Loop

Forge:开源Guardrails框架

2026年5月Hacker News 680+ upvotes。核心能力:Rescue Parsing(格式错误自动修复)、Retry Nudges(不满意自动引导重试)、Response Validation(输出结构校验)、Required Steps(强制关键步骤顺序)、Context Compaction(长对话自动压缩)。

效果:8B本地模型正确率从个位数→84%,搭配Sonnet 4.6达到98%。

# Proxy模式——兼容OpenAI和Anthropic API
forge proxy --port 8080

# Python SDK
from forge import Guardrails
guard = Guardrails(rescue_parsing=True, retry_nudges=True)
result = guard.run(agent, task)

AgentDoG 1.5:轨迹级运行时审计

将安全从"事后审计"推进到"运行时拦截"。Agent发出最终回复前,对完整执行轨迹做安全审计。检测到风险时阻止最终交付,而非事后报警。

关键指标

指标无Guardrails加Guardrails后
Prompt注入拦截率~40%>95%
敏感信息泄露率~12%<3%
高危操作误执行率~8%<0.5%
任务完成率85%82%(轻微下降)

避坑经验

  • 不要只靠Prompt做安全——"你是安全的Agent"对精心构造的攻击无效
  • 高危操作必须Human-in-the-Loop
  • Guardrails过度限制会降低任务完成率,安全与可用性需平衡
  • 记录一切被拦截的操作,用于持续改进
  • 定期用对抗样本测试Guardrails是否仍然有效
未标记