一句话定义:负面提示词(Negative Prompt)是文生图扩散模型里和正面提示词成对使用的第二段文本,它不描述你想要什么,而是给采样过程提供一条"要远离的基线方向"。
它作用在哪一步
主流文生图模型用扩散(Diffusion)方式出图:从一张纯噪声图开始,反复去噪几十步,逐步"显影"成图像。每一步去噪时,模型都会预测一次噪声,而这一步的预测是带条件的——条件就来自文本编码器(Text Encoder)对提示词编码出的向量。
关键在AI 词典:无分类器引导">无分类器引导(Classifier-Free Guidance,CFG):每一步,模型其实跑两次预测,一次以正面提示词为条件,一次以负面提示词为条件,然后做一次外推:
结果 = 负面预测 + 引导强度 × (正面预测 − 负面预测)
所以负面提示词不是"过滤器",也不是"禁令",它只是把那条基线从默认的空白文本替换成了你写的内容。
打个比方
把出图想成一次带路。默认情况下,向导从"画面最平庸的平均位置"出发,朝正面提示词描述的方向走。你写了负面提示词,等于把出发点挪到了负面提示词描述的那个地方——比如你写"模糊、多手指",出发点就设在"模糊又多手指"的图上,然后向导朝"清晰、手指正常"的方向走,走多少倍由引导强度决定。
这就有两个后果:一是出发点越靠近你不想要的东西,外推的方向越准;二是负面提示词里如果混进了你想保留的概念,它也会被一起推开。很多人写"不要难看的手",结果手直接变形或消失,就是这个原因。
为什么"不要"会变成"要"
还有一层原因在文本编码器。这类编码器对否定词天然不敏感:没有大象 和 大象 编码出的向量非常接近,因为训练语料里两者本就高度共现。模型拿到的不是一条逻辑规则"排除大象",而是一个和大象高度相关的方向。
综合起来,"写了不要反而出现"通常有三种成因:
| 现象 | 成因 | 应对 |
|---|---|---|
| 负面词的内容反而出现 | 编码器忽略否定词,只抓到名词本身 | 直接写你想要的,别写"不要X" |
| 想保留的部分被误伤 | 负面词与目标概念在向量空间里纠缠 | 缩短负面清单,只留通用坏项 |
| 完全没效果 | 引导强度低、步数少,外推幅度不够 | 调引导强度,而非继续加词 |
和相邻概念的区别
正面提示词是"往某方向加",负面提示词是"把某方向定为负端",引导强度是放大两侧差距的倍率。降低某个词的权重(如 (词:0.5))是减弱,不是推离。而内容安全过滤是图像生成完之后由独立分类器判断、拦截或打码,不参与采样——也就是说,不能指望负面提示词充当安全机制。
实际意义
对做产品的人:用户天然爱用否定句,界面需要引导他们写正面描述,同时别把内容安全押在提示词层。对用模型的人:维护一份短而稳定的默认负面清单(低质量、模糊、水印之类)通常比每次都堆一长串更有效;不同模型对负面词的敏感度差别很大,具体行为以官方页面为准。对普通人:与其研究怎么"不要",不如想清楚你到底"要"什么。
