两道闸门的位置
前置门卫在正式处理前后各加一道轻量判定:输入侧先判相关性、安全性,决定放行或拦截;输出侧再判合规、敏感字段与格式,决定通过或改写。把风险挡在主流程之外,主流程就不必为每类风险都写一遍约束。实现上可以用小模型分类器、规则引擎或提示加模型判定,成本比事后处理便宜得多。
基本信息
| 输入闸门 | 输出 allow 或 block(附原因) |
|---|---|
| 输出闸门 | 输出 pass 或 rewrite(附建议) |
| 实现方式 | 小模型分类器、规则引擎、提示加模型判定 |
| 成本 | 每请求 1-2 次轻量判定 |
| 常见失误 | 只做输入检查,不做输出检查 |
典型使用场景
- 客服入口:先判是否属于服务范围,范围外走统一答复
- 内容发布前:输出闸门检查是否含敏感字段或越界承诺
- 工具调用前:判定请求是否触发高风险动作,必要时要求确认
- 批量数据处理:输入闸门剔除明显脏数据,降低主流程误判
- 对外材料生成:输出闸门统一检查内部代号与未发布信息
两道闸门示例
两道闸门示例
输入闸门:判断请求是否属于服务范围且无危险指令 → 输出 allow / block(原因)
主流程:正常处理
输出闸门:检查是否包含敏感字段、是否越界承诺 → 输出 pass / rewrite(建议)
# 闸门判定要结构化输出,便于程序分支处理
# 被拦截的请求保留原因码,便于统计与改进规则
# 闸门规则与主流程提示分开维护,改一处不影响另一处
# 记录误拦样本,用于调整阈值与规则闸门位置与作用
| 位置 | 判定内容 | 输出动作 |
|---|---|---|
| 输入闸门 | 范围相关性、危险指令、明显脏数据 | allow 或 block(附原因) |
| 主流程 | 正常任务处理 | 正常输出 |
| 输出闸门 | 敏感字段、越界承诺、格式合规 | pass 或 rewrite(附建议) |
| 监控 | 拦截率与误拦样本 | 调整规则与阈值 |
只做输入检查时模型仍可能产出越界内容(尤其是资料里带进来的内容),输出侧检查不可省。
闸门规则过严会误伤正常请求:用抽样统计误拦率并调整阈值,把误拦样本回流到规则评审里。