AI 生成被安全过滤拦截:原因 + 修复路径

看起来很普通的 prompt 被拒——大概率是某个词撞了过滤器,你自己没发现。

你提交一段看起来人畜无害的 prompt——“红色连衣裙的女性肖像、坐在咖啡馆”——平台回了一句”This generation cannot be completed”或”内容政策违规”。你并没有写明显违规的内容,但过滤器抓到某个 token 或某种组合,把它归到了被拦的分类里。一旦看清触发的是哪一类,重写 prompt 一般 60 秒就能搞定。

常见原因

按命中率从高到低。

1. 名人 / 品牌 / 商标名

Taylor SwiftCoca-ColaMickey MouseIron ManPokemonNike swoosh——哪怕只是描述性出现(“Taylor Swift 巡演风格”)也会把 prompt 路由到更严格的分类器。Midjourney、DALL-E、Imagen、Flux Pro 都维护着 block list。有的在 prompt 解析阶段就拦,有的在出图后扫。

如何判断:把 prompt 里的专有名词全标出来。能找到的,先想想能不能换成同等味道的通用描述。

2. 场景描述被读成暴力 / 血腥

Bloodwounddeadbody on the groundweapon raisedcombatdripping,甚至单独的 red liquid——单个或组合都可能触发。模型只学到模式,没学到意图。“恐怖电影海报”或”战地摄影”这类合法用途经常踩雷。

如何判断:把 prompt 当作高中内容审核员去读。会下意识打标的,过滤器也会。

3. 性暗示 / 接近 NSFW 的语言

Lingeriebedroombare shoulderswetlying downseductive,甚至 intimate——尤其是和 youngteenageschool 组合时。未成年 + 暗示性的组合触发最严格的拦截;一些平台连单独的 school uniformswimsuit 都拦,不看年龄上下文。

如何判断:先找暗示性的词。再看 prompt 里有没有任何可被读成未成年的描述(studentyoungschool)。两者同时存在就是触发点。

4. 负面 prompt 本身触发过滤

反直觉但常见,特别是 SDXL / Flux 工作流。你在负面里写 nsfw, nude, child 来抑制不想要的输出,但部分平台用同一个分类器扫负面字段,看到这些词就直接拦任务。

如何判断:清空负面 prompt 重试,能过就是负面踩雷。

5. 真人 / 在世政治人物

PutinTrumpBidenElon Musk、教皇、朝鲜领导人,等等。大多数平台硬拦能识别的在世政治人物;很多平台连任何私人姓名都拦。提示一般会显示成”content policy”而不是”real person blocked”。

如何判断:扫 prompt 里的政治 / 公众人物姓名。换成描述性表达(“中年欧洲商人、灰发、西装”)。

6. 医疗 / 自残相关信号

Suicidecuttingpillsnoosehangingbleeding,外加 surgeryautopsywound——哪怕在合法的医学插画场景里。分类器分不清教科书和血腥画面。

7. 无害词被误伤

Cock(公鸡)、bare handsbreast(鸡胸肉)、loaded gun(俚语)、kill it(俚语)——子串匹配偶尔会拦。2025-2026 旗舰模型少见,但小一些的开源过滤器仍会发生。

动手前先确认

  • 记录拦截你的工具和模型版本——不同模型过滤强度不同。
  • 把完整 prompt 和拒绝文案复制到一个草稿里,再去改。
  • 看一眼平台的 content policy 页面,被拦的类别一般写得清楚。
  • 想清楚你的用例是不是真的违规。如果模型在拦真违规内容,那要改的是用例,不是 prompt。
  • 把这个账号上其他能用的 prompt 备份;连续被拦多次会在部分平台触发账号级的速率限制甚至封禁。

需要收集的信息

  • 完整 prompt、负面 prompt(如有)、模型名、档位。
  • 完整的拒绝文案、UI 截图、时间点。
  • 同一 prompt 少一个词是否能过——这是二分搜索的锚点。
  • 账号的拒绝历史——连续 3 次在部分平台会从软拦升级到硬拦。
  • 同 prompt 在别的工具 / 模型里是不是能过。

最短修复路径

Step 1:用二分搜索定位触发词

收益最高的一步,60-90 秒就能搞定。

  1. 删掉 prompt 后半段,重提交。
  2. 能过,触发在后半段;被拦,触发在前半段。
  3. 继续对半砍。直到收敛到单个词或短语。

30 词的 prompt,最多 5 轮搞定。

Step 2:把专有名词换成描述

几乎一定能过的替换:

  • Taylor Swiftblonde pop singer in glittering stage outfit, microphone in hand
  • Iron Manman in red and gold robotic armor, glowing chest plate
  • Putinbald middle-aged Eastern European politician in dark suit
  • Coca-Cola canred soda can with white ribbon design

模型依然能产出可识别的结果,但不踩名字过滤。

Step 3:弱化暴力 / 血腥语言

  • Bloodred liquid,或者直接去掉,让场景上下文暗示
  • Body on the groundfigure resting on the ground
  • Sword raised, blood drippingdramatic medieval combat scene, action pose
  • Deadstillunconscious,或者去掉

合法的恐怖 / 战争 / 医学场景,多用光线和构图(暗影、低角度、昏暗光)暗示,少用显式损伤描述。

Step 4:重新表述与年龄相关的语言

主体确实是成年人,就写明:adult woman in her late 20s。原来写过 studentyoung 的话,加上”成年”锚点往往就能过。如果主体必须是未成年人(毕业照、家庭合影),就避免任何可被读成暗示性的衣着或姿态语言。

Step 5:先清空负面 prompt 再测

把整个负面段去掉、只跑正向。能过就是负面踩雷。再加回的话,只放中性词(blurry, low quality, deformed hands),不要在负面里写 nudechildnsfw 这类敏感词——哪怕你的意思是抑制它们。

Step 6:换模型

不同模型过滤强度差很多。如果是合法用途(确实没违规)但 Midjourney 拒了,试试 Flux Dev、SDXL、Imagen。本地开源模型的过滤最松,云上商业模型最严。

Step 7:商业 / 教育用途可申请例外

OpenAI、Anthropic 这类平台有商业级客服可以审核误判。把用例、prompt 整理好,申请政策复核。流程慢(1-2 周),但对反复出现的误判有效。

怎么确认已经修好

  • 同 prompt 改了之后从头到尾跑完不报错。
  • 输出仍然捕捉到你要的主体和氛围。
  • 不同 seed 连续 3 次都能过,确认是触发词不是噪声。
  • 当天账号拒绝计数不再上涨。

如果还是没修好

  1. 看一眼平台的 status page——有时安全策略在事故期间临时收紧,过几小时会回滚。
  2. prompt 砍到最简(主体 + 风格、别的都删),然后逐词加回,每加一个测一次。
  3. 用新账号或同事账号验证一次,排除账号级速率限制伪装成内容拦截的情况。
  4. 联系支持前,备好完整 prompt、拒绝文案、时间点、用例说明。

预防建议

  • 维护一份”中性词替换表”,把常踩雷的词及安全替代词收录在内。
  • prompt 里别写任何专有名词,写它的样子,不写它的名字。
  • 提交前花 5 秒用审核员视角读一遍,能挡掉 80% 的拒绝。
  • 做边缘性创意(恐怖、冲突、时尚)时,先在更宽松的模型里迭代,定终再用更严的商业模型重渲。
  • 一次被拒就停下来重写——反复提交边缘 prompt 会给账号软标记。

相关阅读

标签: #排查 #排查