首页/AI/提示词工程速查/前置门卫模式(输入输出检查)
模式与框架50 条

前置门卫模式(输入输出检查)

在正式处理前后各加一道轻量判定:输入先判相关性/安全性,输出再判合规与格式;把风险挡在主流程之外。

提示词工程速查AI更新于 2026-10-13

两道闸门的位置

前置门卫在正式处理前后各加一道轻量判定:输入侧先判相关性、安全性,决定放行或拦截;输出侧再判合规、敏感字段与格式,决定通过或改写。把风险挡在主流程之外,主流程就不必为每类风险都写一遍约束。实现上可以用小模型分类器、规则引擎或提示加模型判定,成本比事后处理便宜得多。

基本信息

输入闸门输出 allow 或 block(附原因)
输出闸门输出 pass 或 rewrite(附建议)
实现方式小模型分类器、规则引擎、提示加模型判定
成本每请求 1-2 次轻量判定
常见失误只做输入检查,不做输出检查

典型使用场景

  • 客服入口:先判是否属于服务范围,范围外走统一答复
  • 内容发布前:输出闸门检查是否含敏感字段或越界承诺
  • 工具调用前:判定请求是否触发高风险动作,必要时要求确认
  • 批量数据处理:输入闸门剔除明显脏数据,降低主流程误判
  • 对外材料生成:输出闸门统一检查内部代号与未发布信息

两道闸门示例

两道闸门示例
输入闸门:判断请求是否属于服务范围且无危险指令 → 输出 allow / block(原因)
主流程:正常处理
输出闸门:检查是否包含敏感字段、是否越界承诺 → 输出 pass / rewrite(建议)
# 闸门判定要结构化输出,便于程序分支处理
# 被拦截的请求保留原因码,便于统计与改进规则
# 闸门规则与主流程提示分开维护,改一处不影响另一处
# 记录误拦样本,用于调整阈值与规则

闸门位置与作用

位置判定内容输出动作
输入闸门范围相关性、危险指令、明显脏数据allow 或 block(附原因)
主流程正常任务处理正常输出
输出闸门敏感字段、越界承诺、格式合规pass 或 rewrite(附建议)
监控拦截率与误拦样本调整规则与阈值
只做输入检查时模型仍可能产出越界内容(尤其是资料里带进来的内容),输出侧检查不可省。
闸门规则过严会误伤正常请求:用抽样统计误拦率并调整阈值,把误拦样本回流到规则评审里。

易错点

  • 只做输入侧拦截,模型仍可能生成越界或含敏感字段的输出,风险从侧面漏出
  • 闸门规则写得太粗,正常请求被大量拦截,用户体验下降后团队倾向直接关闭闸门
  • 闸门输出不做结构化约束,程序无法稳定分支,退化为「全部放行」
  • 拦截原因不留存,误拦与漏放无法统计,规则只能靠猜着改

数据来源与参考

  • Llama Guard: LLM-based Input-Output Safeguard(Inan et al., 2023)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌