返回文章列表

AI 应用护栏设计:从输入过滤到动作确认

整理 AI 应用常见护栏层次:输入风险识别、输出约束、工具权限、人工确认和审计。

AI 安全不是在提示词最后加一句“请安全回答”。对于带工具、带数据、带自动化动作的应用,护栏应该分布在输入、模型、工具和输出多个层次。

OpenAI moderation 和 safety best practices 相关资料强调了内容安全、策略评估和生产应用风险控制;工具文档也说明外部动作需要由开发者定义边界。[safe-001][safe-002][safe-003]

护栏分四层

第一层是输入过滤:识别明显违规、越权或注入式请求。第二层是上下文约束:告诉模型任务边界和禁止事项。第三层是工具权限:后端决定工具是否可执行。第四层是输出检查:在返回用户前做格式、安全和来源校验。

真正的护栏不依赖模型自觉,而是让高风险路径必须经过系统检查。

可以这样记录动作风险:

{
  "action": "send_email",
  "risk": "external_side_effect",
  "requires_user_confirmation": true,
  "audit_log": true
}

写操作默认确认

工具调用让模型能连接外部系统,但写操作必须保守:

  • 删除、付款、发信、提交代码都应确认。
  • 读取敏感数据要按用户权限过滤。
  • 高风险请求要转人工或拒绝。
  • 工具返回错误时不要让模型猜测成功。

把安全也纳入评估

安全样例应该进入回归测试:

  1. 注入提示词。
  2. 请求泄露系统提示。
  3. 越权读取数据。
  4. 绕过确认执行动作。
  5. 诱导输出不合规内容。

综合这些资料可以推断:AI 护栏是一套工程控制面,而不是单一模型能力。越靠近外部动作,越应该由确定性代码接管。

参考资料

  1. [safe-001] OpenAI Developers, “Moderation”, https://developers.openai.com/api/docs/guides/moderation
  2. [safe-002] OpenAI Developers, “Safety best practices”, https://developers.openai.com/api/docs/guides/safety-best-practices
  3. [safe-003] OpenAI Developers, “Tools”, https://developers.openai.com/api/docs/guides/tools