模型与参数

图像与视频模型的提示词工程

又称 prompt engineering, 提示词, 咒语, 提示词模板, 提示词权重, 系统提示词

提示词工程是有意识地组织模型输入、让结果落在你想要的位置上的方法。对图像和视频模型来说,它主要关乎用词顺序、具体程度和权重,因为这类模型并不像对话模型那样执行指令,它做的是把一段描述和图像对上。

模型真正读到的是什么

扩散模型收到的不是你那句话。文本编码器把它变成一个向量,这个向量把去噪过程往「学到的描述与之接近」的那些图像上推。所有实用结论都从这里长出来。

这意味着模型在做「匹配」,不是在「服从」。它没法把「不要」当成一个操作来执行,没法维护一份计划,也没法反问你到底想要什么。所以整门手艺就是:把一个成品画面描述得足够准,让附近只剩下你能接受的画面;然后把每一个没起到收窄作用的词删掉。

对话模型正相反,这也是为什么大模型那套经验搬到图像上会失效。few shot prompting(少样本示例)和精心写的系统提示词都真实有效,但它们属于流水线里的语言层,比如那个帮你把一句想法扩写成镜头描述的助手、或者写训练标注的反推模型,而不属于图像模型本身。

一份站得住的提示词模板

顺序是有影响的:编码器给靠前的 token 更大权重,靠后的还可能被截断。所以把最不愿意丢的东西放最前面。

[景别] of [主体] [动作], [环境],
[光线], [镜头/光学], [色调/胶片], [运动,视频用]

套一下:Medium close-up of a fisherman mending a net, harbour wall, overcast diffused light, 85mm shallow focus, desaturated blue-grey grade

值得占位置的内容:

  • 具体的名词和动词。 「补渔网」远好于「拿着绳子做点什么」。
  • 摄影层面的具体参数。 焦段、光的方向和质地、时间。这些在训练标注里出现频率极高,所以叫得动。
  • 一个明确的主体。 两个主体各带一串形容词,属性一定会互相串味。

几乎从不值得占位置的:堆叠画质词(masterpiece、8k、超精细),它们主要把风格推向一种通用的塑料感;情绪化的恳求;以及描述「流程」而不是「画面」的句子。

按「对画面的实际影响」排序的手段

  1. 删词。 收益最高的一次编辑。把你在画面里看不出来的从句全删掉,剩下部分的跟随度立刻变好。
  2. 调顺序。 把最在意的东西提到最前面。同样的词,不同的结果。
  3. 负面提示词。 对反复出现的瑕疵(水印、多余肢体、乱码文字)有效,但它加不出模型本来就没有的控制力。
  4. 提示词权重。 适合给两个互相争抢的元素重新配平,倍数别开大。
  5. 风格锚点。 一个具名的媒介、年代或工艺(宝丽来、赛璐璐动画、钨丝灯室内)比一串形容词可靠得多,而且在一整个序列里更可复现。

什么时候「改词」是错的工具

提示词工程里最有价值的判断力,是认出天花板在哪。同一个问题改三轮还在,第四种写法也不会解决它,你只是在花积分证明这件事。这时候要伸手去拿提示词之外的东西:

问题真正有效的动作
观感不是你脑子里那张先把这一帧作为图生成出来,再当首帧用
角色跨镜头变样参考图、固定种子,或训练一个 LoRA
构图老是跑偏上控制图或蒙版,而不是加形容词
招牌上的字是乱码后期干净地补上,或换文本编码器更强的模型
运动不对一段只给一个运镜,需要两个就拆成两段

真正把熟手和生手分开的那个习惯:留一份「跑通过的提示词」小库,把模型版本和种子一起记上。一条在特定模型上验证过的提示词模板,比任何通用规则都值钱,因为它记录的是那个模型的脾气,而每个模型都有自己的脾气。

这个效果的提示词

一条能稳定出效果的起点。主体和场景可以换,技术性的那几句留着。

Medium close-up of a fisherman mending a net on a harbour wall, overcast diffused light, 85mm, shallow depth of field, desaturated blue-grey grade, film grain

试一下:提示词工程

打开生成器,参数已经预填好。

常见问题

提示词工程一句话讲是什么?
是有意识地写模型输入,照着模型真正读到的东西去写,让你要求的部分尽可能多地保留到画面里。在视觉模型上,这意味着你在写一段描述,而不是在下命令。
图像模型和对话模型的提示词写法一样吗?
不一样,把两者混为一谈是最常见的错误。对话模型会执行指令、能推理你的意图;扩散模型是把文本向量和图像对齐,所以「请避免」「务必注意」这类句式毫无作用。要描述你想要的画面,而不是描述这个任务。
提示词写得越长效果越好吗?
只在一定长度内成立。从句越堆越多,跟随度就越差,而且早期文本编码器在 77 个 token 处直接截断,尾巴被静默丢掉。一条精准的三十词提示词通常打得过一百二十词的那条。一次只加一句,留下那些真的改变了画面的。
提示词权重怎么用?
有些界面允许给某个词加倍,常见写法是括号或冒号加数字,比如 (neon sign:1.3),它放大这个短语在条件向量里的贡献。小幅调整有效,超过 1.5 左右通常换来的是瑕疵而不是强调。
为什么模型无视我写的「不要」?
因为文本编码器对否定几乎没有可靠表示。写「招牌上没有文字」,结果是把「招牌」和「文字」双双送进了条件里。该用的是负面提示词字段,那是一条独立的条件通路;或者干脆把这个概念从正向提示词里删干净。
提示词工程现在还算一门技能吗?
对视觉模型来说算,因为除此之外它没有别的输入通道来接收你的审美。正在过时的是「魔法画质词」那类偏方;始终有效的是知道该指定什么、按什么顺序说、以及什么时候该停笔改用参考图。

相关术语