草稿

第 8 章:内置防护栏(Guardrails)与安全策略

在生产环境中,防护栏和审查机制是确保智能体安全可靠运行的必要手段。

构建安全合规应用的重要性

随着智能体被部署到实际业务流程中,安全性和合规性成为核心要求。防护栏(Guardrails) 通过在智能体执行关键点验证和过滤内容,帮助构建安全、合规的 AI 应用。

防护栏的常见应用场景包括:

  • 防止个人身份信息(PII, Personally Identifiable Information)泄露。
  • 检测和阻止提示注入攻击(Prompt injection attacks)。
  • 阻止不适当或有害内容。
  • 执行业务规则和合规性要求。
  • 验证输出质量和准确性。

开发者可通过中间件(Middleware)在智能体执行的战略点(如开始前、完成后、模型调用或工具调用周围)实现防护栏。LangChain 提供了多种内置防护栏和灵活的中间件系统,支持自定义安全检查。

PII 检测与处理:内置 PIIFilterMiddleware

在智能体应用中,保护敏感用户数据和满足合规性要求至关重要。LangChain 提供了内置中间件用于检测和处理对话中的个人身份信息(PII),适用于医疗、金融等敏感场景或需要清理日志的客户服务智能体。

下表总结了 PII 中间件支持的多种处理策略:

策略描述示例
redact替换为 [REDACTED_TYPE][REDACTED_EMAIL]
mask部分遮盖(如最后 4 位数字)****-****-****-1234
hash替换为确定性哈希值a8f5f167...
block检测到 PII 时引发异常抛出错误
表 1: PII 检测与处理策略

PIIFilterMiddleware 可配置检测类型和应用范围:

  • pii_type:要检测的 PII 类型,可选内置类型(如 emailcredit_cardipmac_addressurl)或自定义类型。
  • strategy:处理检测到的 PII 的方式,默认为 "redact"
  • apply_to_input:是否在模型调用前检查用户消息(默认为 True)。
  • apply_to_output:是否在模型响应后检查 AI 消息(默认为 False)。
  • apply_to_tool_results:是否在工具执行后检查工具结果消息(默认为 False)。

人工参与(Human-in-the-Loop, HITL):高风险决策的审查机制

对于高风险操作,人工参与(HITL)中间件可在执行敏感操作前要求人工批准,是处理高风险决策的有效防护栏。

  • 应用场景:适用于金融交易、修改生产数据、发送外部通信等具有重大业务影响的操作。
  • 机制:当模型提议需审查的行动(如执行 SQL)时,中间件会暂停执行,利用 LangGraph 的持久性层保存图状态,等待人工决策。

下表总结了 HITL 的中断决策类型及典型用例:

决策类型描述示例用例
approve批准并执行动作发送邮件草稿
edit修改后执行动作更改收件人后发送
reject拒绝并解释拒绝草稿并说明原因
表 2: HITL 中断决策类型与用例

配置方式:通过 interrupt_on 参数将工具动作映射到允许的决策类型。值可为 True(默认中断)、False(自动批准)或 InterruptOnConfig 对象。

资源限制:控制模型调用次数与工具调用次数

为防止智能体陷入无限循环或产生过高成本,LangChain 提供了内置中间件控制资源使用。

  • 模型调用限制(ModelCallLimitMiddleware):限制模型调用次数,thread_limit 为整个对话线程允许的最大调用次数(默认无限制)。
  • 工具调用限制(ToolCallLimitMiddleware):可全局或针对特定工具限制调用次数,tool_name 指定工具,thread_limit 为对话最大调用次数(需 Checkpointer),run_limit 为单轮最大调用次数。

下表总结了资源限制的退出行为及适用场景:

行为效果适用场景
continue阻止超限调用并返回错误,智能体继续执行大多数用例
error立即引发异常需手动处理限制错误的复杂流程
end停止执行并返回消息单工具场景
表 3: 资源限制的退出行为与适用场景

模型回退(Model Fallback):增强鲁棒性

为提升系统鲁棒性,模型回退中间件允许智能体在主要模型失败时自动切换到备用模型,确保即使遇到速率限制、API 错误或临时故障也能继续执行。

  • 配置方式:接受一个或多个按顺序排列的字符串或 BaseChatModel 实例作为回退模型。
  • 目的:增强系统鲁棒性,保证关键任务不中断。

总结

如果将智能体应用比作自动驾驶飞机,防护栏就是飞行安全系统。PII 检测保护乘客隐私,人工参与(HITL)让地面控制在高风险操作前审查批准,资源限制和模型回退则确保飞机不会因燃料耗尽或引擎故障而坠毁,从而保障整个飞行的安全与可靠性。

文章导航

独立页面

这是书籍中的独立页面。

书籍首页