从策略边界、拒答样本、越狱攻击、提示注入、误拒误放、红队集到安全回归,理解安全行为怎样决策、被绕过,以及怎样持续收敛风险
| 环节 | 它是什么 | 核心风险 | 观察信号 |
|---|---|---|---|
| Policy | 组织、产品和法规定义的可做 / 不可做边界 | 边界模糊、策略冲突或版本漂移 | 策略版本、例外审批、场景分级 |
| Training Signal | SFT、偏好、拒答和红队样本给模型的行为信号 | 样本偏斜会导致过度拒答或危险放行 | 拒答样本覆盖、chosen/rejected 质量 |
| Model Behavior | 模型在具体请求中选择回答、追问、拒答或升级 | 把高风险请求当普通问答,或把正常请求误伤 | 拒答率、误拒率、误放率、人工升级率 |
| Attack Surface | 攻击者绕过策略边界的路径 | 越狱、角色扮演、提示注入、多轮诱导、工具越权 | 红队命中率、注入成功率、工具风险事件 |
| Evaluation | 用安全集和业务集同时衡量边界质量 | 只看安全放行会伤体验,只看体验会放风险 | 安全红队集、正常任务误伤集、分桶指标 |
| Regression | 模型、Prompt、RAG、工具和策略改动后的持续回放 | 一次修复被后续版本破坏 | 安全回归、策略变更记录、线上漂移 |
安全对齐不是让模型“永远拒绝危险词”,而是让系统在具体上下文里分清帮助、追问、拒答、降级和人工确认的边界。
| 动作 | 适合什么时候 | 常见失败 | 更好的设计 |
|---|---|---|---|
| 直接回答 | 低风险、证据足、策略允许 | 把高风险建议当普通解释 | 先做风险分级和证据检查 |
| 安全改写 | 用户目标可接受,但表达方式或细节有风险 | 把关键约束改没了,或给出可滥用细节 | 保留安全替代路径和边界说明 |
| 追问澄清 | 意图不明、用途不明、风险等级不明 | 无意义追问拖慢体验 | 只问决定风险等级的关键问题 |
| 拒答 | 明确违反策略、证据不足且风险高 | 拒答过泛,正常学习和防护场景被误伤 | 拒绝危险操作,同时提供安全方向 |
| 人工升级 | 高影响、责任主体明确、需要组织授权 | 模型替组织做最终判断 | 交出证据、风险理由和建议动作 |
| 工具拦截 | 动作会改数据、发消息、花钱或越权访问 | 模型生成参数后直接执行 | 运行时权限、确认门和幂等补偿 |
误放会造成安全事故,误拒会破坏可用性和信任。生产系统不能只追求“拒得更多”,而要在不同风险等级上找到合适覆盖率。
攻击不是只攻击模型文字输出,而是攻击“模型如何解释上下文、服从谁的指令、什么时候调用工具、怎样处理策略冲突”。
Prompt Injection 和不可信上下文的权威判断,可继续看 指令层级 / 上下文可信度 / 权限边界;上下文拼装和检索材料来源继续看 Prompt / 上下文工程 与 RAG / 知识检索;工具越权和确认门继续看 Tool Calling / 执行协议;生产级输入输出过滤、审计和责任链继续看 AI 安全 / 护栏。
| 冲突 | 表现 | 为什么难 | 治理方式 |
|---|---|---|---|
| 帮助性 vs 安全性 | 用户确实需要帮助,但细节可能被滥用 | 过松危险,过紧不可用 | 提供高层解释、安全替代和必要澄清 |
| 通用策略 vs 组织策略 | 模型默认安全边界和企业内部规则不一致 | 不同业务、地区、角色规则不同 | 策略版本化、角色权限、组织级 policy layer |
| 证据不足 vs 任务紧急 | 用户要求快速决策,但材料不完整 | 模型容易用常识补全 | 强制追问、引用证据、人工升级 |
| 拒答一致性 vs 场景差异 | 同一问题在教育、防护、执行场景下边界不同 | 只靠关键词无法判断用途 | 场景分类、意图识别、分级回答模板 |
| 层次 | 解决什么 | 不能解决什么 | 继续深入 |
|---|---|---|---|
| 后训练 / 偏好优化 | 塑造默认回答风格、拒答倾向和安全边界 | 不能保证所有上下文和工具场景都安全 | 后训练 / 对齐机制 |
| 概率 / 校准 | 判断系统有多大把握,低把握时升级或拒答 | 不能替代策略本身 | 概率 / 熵 / 校准 |
| OOD / 鲁棒性 | 识别分布外、高漂移和长尾风险输入 | 不能单独判定是否违规 | 分布 / 泛化 / OOD |
| 指令层级 / 上下文权威 | 区分系统规则、用户目标、检索材料、工具返回和外部网页内容的权威等级 | 不能把不可信内容自动当作高优先级指令 | 指令层级 / 权限边界 |
| Prompt / RAG 上下文 | 管理系统指令、用户指令、检索材料和外部内容的拼装方式 | 不能只靠堆更多上下文解决可信度问题 | Prompt / 上下文、RAG |
| 模型评测 / 安全集 | 用红队集、误拒集、误放集和灰区集衡量策略边界 | 不能只用一个总分代表真实安全性 | 模型评测 / Eval |
| LLMOps / 回归观测 | 把安全样本放进版本回放、线上漂移和事故复盘 | 不能替代策略和权限控制 | LLMOps / 可观测性 |
| Tool Calling 执行协议 | 控制动作权限、参数校验、确认门和审计 | 不能让模型自行拥有最终授权 | Tool Calling / 执行协议 |
| 安全护栏 / 治理 | 把输入、输出、工具、审计和组织责任接起来 | 不能一次配置后长期免维护 | AI 安全 / 护栏 |
| 评价口径 | 看什么 | 为什么重要 |
|---|---|---|
| 误放率 | 危险请求是否被回答或执行 | 衡量安全底线是否被突破 |
| 误拒率 | 正常学习、防护、合规请求是否被拒绝 | 衡量系统是否把安全做成不可用 |
| 追问正确率 | 灰区请求是否问到决定风险等级的关键问题 | 避免模型用无意义追问拖慢流程 |
| 安全改写质量 | 是否拒绝危险细节,同时保留安全替代方向 | 让拒答不变成冷冰冰的终止语 |
| 工具拦截命中率 | 高风险动作是否触发权限、确认和审计门 | 防止文本安全但执行越权 |
| 回归稳定性 | 模型、Prompt、检索和工具改动后旧问题是否复现 | 安全是持续系统,不是上线前的一次考试 |
安全边界要能解释一次拒答、放行或升级是谁按哪版策略做出的,以及它是否通过红队回归。
| 证据节点 | 必须记录字段 | 用来判断什么 |
|---|---|---|
| policy_decision | policy_version、risk_taxonomy_label、refusal_decision、safe_completion_mode | 模型为什么拒答、改写、追问或放行 |
| redteam_case | redteam_case_id、jailbreak_trace_id、prompt_injection_source、expected_behavior | 当前策略是否覆盖越狱、注入和灰区边界 |
| runtime_guardrail | guardrail_result、tool_permission_check、waiver_id、reviewer_id | 运行时护栏和人工豁免是否接住高风险动作 |
| release_regression | eval_suite_id、false_allow_rate、false_refuse_rate、release_gate_id | 安全更新是否同时控制误放和误拒 |
后训练页解释模型怎样被偏好塑形,概率校准页解释什么时候该升级或拒答,评测与 LLMOps 页承接红队回归,安全护栏页解释生产系统怎样治理。本页解释中间那层安全行为机制:策略边界如何落到模型行为里,又怎样被红队攻击持续挑战。