在生成式AI应用中,提示词是用户意图与模型行为之间的桥梁。但不少平台在实际调用模型之前,会先经过一层内容安全网关。这个网关不一定理解语义,却对关键词非常敏感。想在稳定输出和合规之间取得平衡,就需要系统梳理敏感词类型、审核逻辑和替代表达方式。本文从审核机制出发,给出可落地的词库结构与改写方法。

一、内容审核敏感词的触发机制与词库结构
内容审核并不是简单的字符串匹配。多数平台会采用规则词库、分类模型和语义向量三级过滤。规则词库速度最快,只要命中预设词或正则模式就会直接拦截;分类模型负责判断提示词的整体倾向;语义向量则用来识别同义词替换、拼音改写和绕行表达。因此,单纯把某个敏感词换成近义词,并不一定能通过审核,尤其是在涉及医疗、金融和政治话题时。
敏感词通常会按风险等级和使用场景划分。高危词包括明确的政治敏感内容、色情低俗词汇、暴力血腥描述;中危词集中在医疗诊断、金融承诺、法律建议等领域;低危词则多为广告极限词、绝对化用语和平台导流话术。除了通用词库,不同平台还有各自的行业补充库,比如电商平台会重点拦截价格欺诈用语,内容社区会拦截第三方引流词。
构建词库时,建议把敏感词分成硬拦截、软复核和上下文规则三层。硬拦截是出现即拒绝;软复核需要结合上下文判断,例如“专家”在科普文章里可能是中性词,但在金融产品推荐里就可能构成违规;上下文规则用来处理组合触发,比如“治疗”加上“癌症”和“方案”同时出现时风险更高。下面是一个简化的词库结构示例:
{
"hard_block": ["治疗", "治愈", "稳赚", "保本", "最好", "第一"],
"soft_review": ["专家", "推荐", "特效", "百分之百"],
"context_rules": [
{"pattern": "治疗.{0,6}癌症", "action": "block"}
]
}
二、高频敏感词场景与替代表达策略
不同场景下的敏感词触发逻辑差别很大。医疗健康类提示词中,“治疗”“药方”“诊断”等词很容易触发平台风控,因为平台需要避免提供医疗建议。金融投资类提示词中,“稳赚”“保本”“内幕”“涨停”等词会被判定为诱导性承诺。营销文案类提示词中,“全网第一”“绝对”“顶级”“国家级”等极限词属于广告法重点监管对象。版权内容类提示词中,具体角色名、书名、影视剧名如果未经授权,也可能被平台拦截。
替代表达的关键不是简单换一个同义词,而是把需求改写成更中性、更偏向信息参考或科普性质的描述。例如,把“请给出治疗高血压的药物方案”改成“请从健康科普角度介绍高血压的常见管理思路,不构成诊断”;把“推荐几只稳赚不赔的股票”改成“分析几只股票近三年的波动与风险因素”;把“写一个哈利波特的同人故事”改成“写一个魔法学院背景的原创短篇”。这样既保留了用户想获取的信息类型,又降低了触发审核的概率。
有些词单独出现没有问题,但组合在一起就会触发风控。比如“药物”在科普语境下可能通过,而“药物+剂量+服用”同时出现时风险会明显上升。因此改写时还需要调整句式结构,避免把敏感动作、对象和结果写在同一句里。可以用“介绍一般性信息”“梳理常见因素”“提供参考框架”等表达替代直接给结论的方式。除此之外,在提示词开头加上“以下内容仅用于一般性信息参考,不构成专业建议”这类声明,也能减少部分平台的误判,但不能把它当成万能护身符。
三、构建可维护的禁忌词库与自动扫描脚本
词库维护不能靠临时记忆,需要形成可版本化、可测试的资产。可以建立一个包含硬拦截、软复核和上下文规则的JSON文件,由产品、运营和合规人员共同维护。每次平台更新审核政策或出现新的拒审原因时,就把对应词汇加入词库,并补充一条说明记录。词库文件可以放在独立的配置仓库中,方便多个项目复用。
除了人工维护,还可以写一个简单的扫描脚本,在提示词保存或上线前自动检测风险。下面是一段Python示例,它会读取词库文件,扫描提示词中是否命中硬拦截词和上下文规则:
import json
import re
def load_wordbank(path):
with open(path, 'r', encoding='utf-8') as f:
return json.load(f)
def scan_prompt(prompt, wordbank):
hits = []
for word in wordbank.get('hard_block', []):
if word in prompt:
hits.append(('hard_block', word))
for rule in wordbank.get('context_rules', []):
pattern = rule['pattern']
if re.search(pattern, prompt):
hits.append(('context_rule', pattern))
return hits
if __name__ == '__main__':
wordbank = load_wordbank('sensitive_words.json')
test_prompt = '请给出治疗高血压的药物方案'
result = scan_prompt(test_prompt, wordbank)
print(result)
这个脚本只能覆盖规则的直接匹配,无法识别语义层面的绕行表达。更完整的方案是把扫描结果作为前置过滤,再接入平台的在线审核接口或语义安全模型进行二次判断。同时要建立白名单机制,把已确认合规的专业术语、产品名称和固定搭配排除在扫描之外,避免误伤正常提示词。
扫描结果需要分级处理。命中硬拦截词时直接阻止提交,并提示用户修改;命中软复核词时进入人工审核队列;命中上下文规则时则要求用户重新组织表达。这样既控制了风险,也不会让自动过滤系统变得过度敏感,导致正常内容无法发布。
四、各平台审核差异与合规改写实例
不同平台的审核尺度并不完全一致。微信公众号对医疗、金融、营销类内容把关较严,尤其是涉及疾病治疗、投资回报和绝对化承诺的提示词;小红书会重点拦截导流、极限词和未报备的商业推广;知乎则对历史、政治、社会事件类话题更为谨慎;抖音、快手等短视频平台对医疗健康、金融理财和未成年人相关内容有额外限制。出海平台如OpenAI、Midjourney还会针对版权角色、真实人物肖像和暴力内容设置专门策略。
同一个提示词在不同平台可能得到完全不同的审核结果。比如“写一篇治疗失眠的文章”在微信公众号上很可能被拦截,因为“治疗”属于医疗行为描述。如果改成“写一篇关于睡眠健康与作息调整的科普文章”,不仅更容易通过,内容方向也更清晰。这说明替代表达不只是为了过审,还能帮助提示词更准确地对应用户需求。
下面整理了几类常见风险的改写对照:
| 原始提示词 | 主要风险 | 替代表达 |
|---|---|---|
| 推荐几只稳赚不赔的股票 | 金融承诺 | 分析几只股票近三年的波动与风险 |
| 给我一个治疗抑郁症的方案 | 医疗诊断 | 介绍抑郁症的常见应对资源和就医渠道 |
| 写一个哈利波特的同人故事 | 版权角色 | 写一个魔法学院背景的原创短篇 |
| 全网最低价 | 广告极限词 | 价格在同类中具有竞争力 |
需要强调的是,如果用户的需求确实涉及医疗、法律、投资等专业领域,最稳妥的做法不是继续修改提示词,而是引导用户通过正规渠道获取专业服务。替代表达的价值在于保留合法的信息参考和创作空间,而不是把敏感内容包装成普通内容。理解了这一点,禁忌词库和替代表达策略才能真正服务于长期稳定的内容生产,而不是成为一场与审核系统的文字游戏。