- 防止 PII 泄露
- 检测并阻止 prompt injection 攻击
- 阻止不当或有害内容
- 执行业务规则和合规要求
- 验证输出质量和准确性

确定性 guardrails
使用基于规则的逻辑,例如正则表达式模式、关键词匹配或显式检查。快速、可预测且成本低,但可能漏掉微妙违规。
基于模型的 guardrails
使用 LLM 或分类器通过语义理解评估内容。可以捕获规则漏掉的细微问题,但速度更慢且成本更高。
内置 guardrails
PII detection
LangChain 提供内置 middleware,用于检测和处理对话中的 Personally Identifiable Information(PII)。该 middleware 可以检测电子邮件、信用卡、IP 地址等常见 PII 类型。 PII detection middleware 适合有合规要求的医疗和金融应用、需要清理日志的客服代理,以及通常任何处理敏感用户数据的应用。 PII middleware 支持多种策略来处理检测到的 PII:| 策略 | 描述 | 示例 |
|---|---|---|
redact | 替换为 [REDACTED_{PII_TYPE}] | [REDACTED_EMAIL] |
mask | 部分遮盖(例如最后 4 位) | ****-****-****-1234 |
hash | 替换为确定性 hash | a8f5f167... |
block | 检测到时抛出异常 | 抛出错误 |
内置 PII 类型和配置
内置 PII 类型和配置
内置 PII 类型:
email:电子邮件地址credit_card:信用卡号(通过 Luhn 验证)ip:IP 地址mac_address:MAC 地址url:URL
| 参数 | 描述 | 默认值 |
|---|---|---|
piiType | 要检测的 PII 类型(内置或自定义) | 必需 |
strategy | 如何处理检测到的 PII("block"、"redact"、"mask"、"hash") | "redact" |
detector | 自定义 detector 正则表达式模式 | undefined(使用内置) |
applyToInput | 在模型调用前检查用户消息 | true |
applyToOutput | 在模型调用后检查 AI 消息 | false |
applyToToolResults | 在执行后检查工具结果消息 | false |
Human-in-the-loop
LangChain 提供内置 middleware,用于在执行敏感操作前要求人工批准。这是高风险决策中最有效的 guardrails 之一。 Human-in-the-loop middleware 适合金融交易和转账、删除或修改生产数据、向外部方发送通信,以及任何具有重大业务影响的操作。自定义 guardrails
如需更复杂的 guardrails,可以创建在代理执行前或执行后运行的自定义 middleware。这让你可以完全控制验证逻辑、内容过滤和安全检查。代理前 guardrails
使用 “before agent” hooks 在每次调用开始时验证一次请求。这适合会话级检查,例如身份验证、速率限制,或在任何处理开始前阻止不当请求。代理后 guardrails
使用 “after agent” hooks 在返回给用户之前验证一次最终输出。这适合基于模型的安全检查、质量验证,或对完整代理响应进行最终合规扫描。组合多个 guardrails
可以通过将多个 guardrails 添加到 middleware 数组来堆叠它们。它们会按顺序执行,让你构建分层保护:其他资源
- Middleware documentation:自定义 middleware 完整指南
- Middleware API reference:自定义 middleware 完整指南
- Human-in-the-loop:为敏感操作添加人工审核
- Testing agents:测试安全机制的策略
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

