
经常有朋友拿着从图库抄来的一长串 Stable Diffusion 提示词跑来问我为什么同样的 Prompt、同样的模型、同样的种子他跑出来是一团糊而原作者跑出来是海报级成片。答案通常不在模型上而在提示词的组织方式上。绝大多数人把咒语当成关键词清单在填而真正跑得稳的人把它当成一段有语法、有权重、有优先级的结构化描述在写。这篇操作手册想解决的问题很具体把提示词/咒语/词缀/关键词这四个经常被混为一谈的概念拆开讲清楚它们各自作用在哪一层、怎么写、怎么调、怎么复用最终让你从抄咒语的人变成能自己造咒语的人。不管你是刚装好 Stable Diffusion 想画第一张图还是已经跑了几千张但出图一直靠玄学下面这套东西都能直接用。1. 模型不是在读你的提示词CLIP 编码器的真实工作方式要写好提示词先得接受一个不太舒服的事实模型看不懂你的句子。它看不懂主谓宾也不理解一个女孩站在窗边阳光洒在她脸上这句话的语法关系。它看到的是一串被切碎的 token每个 token 被映射成一个高维向量然后这些向量被送进交叉注意力层去引导 U-Net 每一步去噪的方向。理解这一层你对提示词的所有困惑基本都会消失一半。1.1 从 token 说起为什么 77 这个数字会反复出现Stable Diffusion 系列模型用的是 CLIP 的文本编码器它的上下文长度是 77 个 token其中首尾各占一个特殊标记起始与结束真正留给你写内容的只有 75 个。这个数字是所有提示词长度问题的根源。很多人抱怨我写了三百个词怎么没效果原因就在于超出 75 token 的部分会被拆成第二个 chunk 单独编码两个 chunk 之间并没有你想象中的连贯语义第二个 chunk 的引导力会明显弱于第一个越靠后的词衰减越厉害。这就带来一个很实用的推论重要的词必须放在前面。你不必精确数 token但心里要有个粗算——一个英文单词通常 1 到 2 个 token像masterpiece3 个、photorealistic3 个这种长词更吃额度。一份写得比较克制的提示词主体信息基本都塞在前 40 个 token 里剩下的额度留给风格和画质。如果你的描述确实很长用大写的BREAK做手动分块比让模型自动切要靠谱得多1girl, silver hair, standing by the window, morning light, cinematic BREAK detailed eyes, soft skin texture, film grain, 85mm lens, shallow depth of fieldBREAK会让后面的内容进入新的编码块相当于你把主体段和质感段人为隔开两块各自独立生效。这比一直堆逗号要清晰也能避免语义互相污染。1.2 词序即权重句首的三个词决定了整张图的骨架交叉注意力是位置敏感的。同样两个词谁写在前面谁对画面的主导权就更大。举个很直观的例子red dress, blue background和blue background, red dress跑出来的构图倾向会明显不同前者裙子更抢眼后者背景更稳定。这不是玄学是注意力分配的结果。所以写提示词的第一个动作不是去搜高质量咒语大全而是先把画面最核心的三件事写好主体是什么、主体在做什么、整体是什么调性。这三样放在第一句后面所有词都是修饰。我见过太多人把masterpiece, best quality, ultra detailed, 8k, highly detailed这五连拍放在最前面结果主体被挤到第十个词以后模型自然先给你一张高画质但没有重点的图。1.3 词与词之间会串味语义泄露与污染还有一个反直觉的现象你加了一个词画面里出现的东西却不只那一个。比如你写cat和dog同框很容易跑出一只既像猫又像狗的怪物因为这两个概念在潜空间里距离很近注意力会把它们的特征混在一起。同理sword和hand放在一起时模型经常把手柄和手指糊成一团。处理这类串味有三个办法一是拉开距离把容易混淆的概念分到不同的位置或配合BREAK二是用负向位权重压制其中一个比如(cat:1.3), (dog:0.8)三是干脆用更明确的限定词比如a gray tabby cat对a golden retriever用具体品种的强特征把概念锚死。提示判断一个词是否在被污染最快的方法是做减法——把可疑的词删掉重跑。如果画面主体瞬间清晰了说明它和别的词在打架而不是词汇本身不够高级。2. 五层积木法把一句咒语拆成可复用的结构把提示词当成一个整体去调是效率最低的做法。我自己的习惯是把它拆成五层积木写的时候按层填调的时候按层改。这样做的最大好处是出问题时你能立刻定位到底是哪一层出了问题而不是面对一整串咒语发呆。2.1 主体层先把画什么写死主体层只回答三个问题——谁、在干什么、在哪里。数量词、性别、物种、年龄、发型、服装、动作、场景这一层要写得具体到不需要想象。1girl比girl好sitting on a wooden chair比sitting好in a sunlit attic比indoors好。新手最容易犯的错误是主体层写得太文艺比如a lonely soul wandering in the rain。模型不给孤独的灵魂出图它只会给你一个身处雨中的模糊人形。主体层拒绝抽象名词要用可被视觉化的具体词组。我一般会把主体层的词控制在 15 到 25 个 token 之间不够就加细节超了就砍修饰。2.2 风格层与画质层别把这两层混在一起写很多人会把anime style, oil painting, photorealistic, 8k, best quality全堆在一起结果模型在几种风格之间反复横跳跑出来的东西风格不伦不类。风格层和画质层必须分开写而且风格层要具体画质层要节制。风格层建议只保留一到两个方向用媒介加流派的组合最稳比如digital painting, concept art或film photography, analog grain。如果你想模仿某位艺术家的笔触可以用in the style of ...这种写法但要注意这类词权重很大很容易把画面完全带跑建议配合权重控制在 0.6 到 0.8 之间。画质层则是被滥用最严重的地方。masterpiece, best quality这类词在早期的动漫向模型上确实有用因为训练数据里的高分图被打了这类标注相当于一个择优信号。但在大量新模型上它们的收益已经非常边际甚至会让画面过度锐化、油光发亮。我的做法是画质词只留best quality加一个质感词film grain或detailed skin texture剩下的额度给主体和构图。2.3 镜头、光照、材质决定成片质感的三个杠杆这三层是业余感和成片感的分水岭也是最容易被忽略的部分。镜头层的词汇直接决定视角和透视。close-up、upper body、full body、wide shot决定景别from above、from below、dutch angle决定机位85mm lens、telephoto、fisheye决定焦距感。写实类出图里光是一个85mm portrait lens就能让人像的纵深和背景虚化立刻上档次。光照层是提升氛围最快的手段。golden hour、rim light、backlighting、soft diffused light、neon glow这些词对画面的整体色调影响极大而且不吃太多 token。我个人的经验是当画面怎么看都平的时候先别改主体先改光照词八成问题能解决。材质层是细节控的战场。silk fabric、weathered leather、ceramic glaze、matte metal这些词会显著影响表面的高光和反射表现。搭配写实模型使用时效果尤其明显因为它们直接作用于纹理特征。2.4 一份可以直接抄的模板骨架把上面五层串起来我常用的骨架长这样[主体层] 1girl, silver short hair, red coat, standing on a rooftop, looking at the sky BREAK [镜头层] upper body, from below, 50mm lens, slight depth of field BREAK [光照层] golden hour, warm backlight, rim light on hair BREAK [风格层] cinematic photography, film grain BREAK [画质层] best quality, detailed skin texture这套骨架不是让你死记而是提醒你一段好的提示词是有呼吸感的层与层之间用BREAK隔开每层内部用逗号并列这样模型接收到的信息结构非常清晰。你完全可以按自己的习惯调整层的顺序但层与层不要搅在一起这条原则别动。3. 权重与括号语法让模型听话的硬手段当你发现某些词明明写了却没效果或者某个词过于强势压住了其他元素时就该动用权重语法了。这部分是纯技巧但用不好反而会把画面搞崩所以我把参数区间和踩坑经验都写清楚。3.1 权重区间与崩坏阈值在多数前端里权重的写法是(关键词:数值)。数值的合理区间和对应的效果大致如下权重值实际效果使用建议0.4 - 0.6轻微提示容易忽略用于氛围点缀词0.7 - 0.9较弱但可见用于不想太抢戏的修饰1.0默认绝大多数词保持默认1.1 - 1.3明显增强用于必须出现的主体特征1.4 - 1.6强烈开始失真谨慎使用注意局部崩坏1.7 以上结构扭曲、颜色过饱和基本不建议我把 1.5 当成一条警戒线。超过它之后词对应的视觉特征会开始烧穿——头发会变成一坨高饱和色块皮肤会出现塑料质感和奇怪的高光物体边缘会出现类似过曝的色边。这个现象在写实模型上尤其明显因为过度加权的特征超出了模型训练的分布范围。3.2 花括号、方括号、圆括号的历史包袱你可能在某些老教程里见过{}和[]它们其实是老前端里乘 1.05和除 1.05的简写。现在主流前端已经统一走(词:数值)的写法直接用数字更直观也不容易算错。如果非要写嵌套括号建议只嵌一层多层嵌套会让人完全算不清最终权重调试成本极高。另外提醒一句圆括号在提示词里是有语法含义的如果你要表达的本身就是括号内容比如某些作品名记得转义或者换写法否则会被当成权重语法解析直接报错或吃掉后面的内容。3.3 BREAK、AND、交替与分步调度除了权重还有几个高级语法值得掌握AND会把两侧的提示词分别编码再拼接适合处理两个互不干扰的元素放一张图里。比如1boy AND 1girl比直接写逗号更容易跑出两个完整的人而不容易糊在一起。交替语法[a|b]会让模型在去噪的不同步骤间来回切换这两个概念常用于做风格融合。它的效果比较随机适合探索阶段不适合定稿。分步调度[a:b:0.4]是更可控的版本意思是前 40% 的去噪步骤用 a之后换成 b。这个语法在做前段定构图、后段加风格时非常有用比如让前期按写实骨架去噪后期再切到插画风格能兼顾结构和笔触。BREAK前面已经说过本质是手动分段编码用它来控制上下文边界比依赖自动切分稳定得多。4. 负面提示词被浪费掉的半张画布如果只让我给一条提示词优化建议我会说先把负面提示词写好。很多人把负面框当垃圾桶随便丢几个bad hand就完事实际上负面提示词和正面同等重要它决定了模型在去噪时避开哪些方向。4.1 负面提示词不是垃圾桶一个常见的误区是把想到的所有问题都塞进负面框搞出五十个词。这样做有两个代价一是占用上下文额度挤掉真正重要的抑制项二是某些负面词会互相冲突导致画面整体变得发灰、缺乏对比度。我见过最极端的例子有人把low quality, blurry, dark, bright, noise, smooth全写了进去结果出图是什么都没有质感的中间态。正确的思路是分层结构性问题、画质问题、风格问题分开处理按需取用。4.2 一份分层负面词表与它的适用场景结构层人物向必加bad anatomy, extra fingers, fused fingers, extra limbs, missing limbs, malformed hands, long neck, deformed face, mutated画质层通用lowres, worst quality, low quality, jpeg artifacts, blurry, text, watermark, signature, username风格层按需3d render, cgi, cartoon, sketch, oversaturated, plastic skin注意风格层的词要慎用。比如你在跑插画模型时写cartoon进负面框可能会连带把笔触感也压掉。风格层的负面词应该服务于你的目标画写实就压扁平感和塑料感画插画就压照片感和过锐。4.3 负面词与 CFG 的联动关系负面提示词的效果强度受 CFG scale 直接影响。CFG 是正面与负面的差值放大倍数值越高模型越严格地同时贴近正面、远离负面但画面也越容易过曝和僵硬。CFG 偏低时比如 4 到 5负面词几乎不起作用画面更柔和自然。我的经验区间是这样的写实类 5 到 7插画类 7 到 9需要强约束结构比如多人物、复杂手部姿势时才会到 10 以上。不要把 CFG 拉高当成解决所有问题的万能药很多时候结构崩坏是提示词本身写得不明确拉 CFG 只是把错误也一起放大了。5. 词缀库的搭建从抄咒语到建自己的弹药库抄咒语能解决一时之需但抄多了你会发现自己的出图风格越来越杂因为你根本不知道每个词在起什么作用。真正的效率提升来自建立自己的词缀库。5.1 建立分类词表我建议按层来建表而不是按风格来建。理由是风格会过时层的逻辑是稳定的。一个简单的词表可以长这样分类示例词使用频率镜头close-up, from below, 85mm lens高光照rim light, golden hour, soft light高材质silk, matte metal, ceramic中情绪氛围melancholic, serene, tense中画质best quality, film grain高结构负面bad anatomy, extra limbs高有了这张表写新提示词就变成了按格子取词的过程速度快而且不容易漏项。我的词表是放在一个纯文本文件里维护的每加一个验证过有效的词就记下来标注它在什么场景下用了效果最好。5.2 LoRA 与 Textual Inversion 的触发词管理如果你在用 LoRA 或 Textual Inversion 这类附加权重触发词管理是另一个坑。这类模型的触发词通常是训练者自定义的短词必须写进提示词才会生效漏写等于白加载。更麻烦的是权重平衡LoRA 权重建议从 0.6 到 0.8 起步看效果再加减超过 1.0 很容易压垮底模的原生风格出现脸部同质化和画面变蜡。同时加载多个 LoRA 时它们的特征会互相干扰如果发现画面出现怪异融合先把各自的权重都降下来再逐个加上去定位问题源。5.3 用样式预设和 XYZ 图固化你的组合调出一个满意的组合后别让它散在聊天记录里。主流前端支持把提示词存成样式预设下次一键调用这是最省事的做法。另一个必学工具是 XYZ 参数扫描图。把种子固定把 CFG、步数、权重、采样器分别作为 X 轴和 Y 轴跑一组对照图你能在一次出图里看清参数对画面的真实影响。这比在脑内做假设靠谱一百倍。我自己的很多经验值都是从扫描图里读出来的比如某个模型的最佳 CFG 其实是 5.5 而不是教程里说的 7。6. 一套可复现的迭代调试流程出图靠玄学的人通常是同时改了太多变量。可复现的调试核心就一句话一次只动一个变量其余全部锁死。6.1 固定变量的顺序开始调之前把这些先固定下来模型、VAE、种子、采样器、步数、CFG、分辨率。然后只动提示词。这样跑出来的差异才能归因到提示词上。等画面满意了再回头微调参数。种子这个东西特别值得强调。很多人不知道种子决定了初始噪声同一段提示词配同一个种子结果基本是可复现的。所以当你调出一个好画面时第一件事是记下种子否则你连刚才那张是怎么来的都答不上来。6.2 出图到收敛的四轮循环我自己的调试流程基本是四轮第一轮只写主体层把构图和人物姿态跑对。这一轮画面会很素别管质感。第二轮加镜头和光照层调整视角和氛围。这一轮决定画面的气势。第三轮加风格和画质层同时开始往负面框里补该模型暴露出来的问题。这一步会比较反复因为风格词常常会带崩前面的结构。第四轮微调权重和参数。针对还残留的手部、眼神、边缘细节用权重和负面词精准补刀。四轮跑完还不满意大概率是模型选错了。写实题材用动漫底模或者反过来都能让你在提示词上多花十倍功夫。选模型这一步的收益远大于在同一模型上死磕提示词。6.3 记录与复盘我会给每个满意的出图记一条简短的配方记录包含模型名、种子、关键提示词、权重设置。时间长了你会发现自己形成了某种偏好模式比如总是偏好某种光照、某种镜头语言。看到这个模式就是你风格成型的开始也是你可以开始批量化生产的时候。对批量需求把固定部分做成模板把变化部分做成变量配合批量脚本一次出几十张再人工筛选效率比一张张手调高得多。这里的关键是提前想清楚哪些维度需要变化别一次变太多。7. 一些没人写进文档的坑这几条都是我实打实踩过的教程里基本不会提但每一条都能帮你省下大把时间。7.1 提示词过长的真实原因当你看到提示词长度相关的报错或效果异常时先做两件事数一下是不是超过了 75 token 的核心段检查有没有多余的空格、重复的逗号、未闭合的括号。未闭合的圆括号是最高频的隐形杀手它会让解析器把后面所有内容都当成括号内的权重参数整段提示词直接失效。养成写完检查括号配对的习惯能避免一半以上的提示词没反应问题。另一个隐形因素是某些前端对特殊字符的处理不一致。在提示词里出现英文引号、井号、斜杠这类符号时不同前端的解析结果会不一样。稳妥起见提示词里尽量只用逗号分隔特殊符号该删就删。7.2 中文提示词到底能不能用可以但要清楚代价。CLIP 的文本编码器主要以英文语料训练中文词需要先被翻译或者经过多语言编码器处理这个过程中语义会有损耗尤其是那些中文里特有、英文里没有精确对应的词比如某些服饰、器物、意境的描述效果会明显打折扣。我的建议是主体和镜头这类需要精确控制的词用英文氛围和情绪这类允许模糊的词可以偶尔用中文点缀。如果你的工作流本来就依赖中文理解那就需要在提示词之外多下功夫——用控图工具来补足文本控制力的不足而不是指望文本编码器理解中文的微妙之处。7.3 采样器、步数与提示词的耦合最后一个容易忽略的点采样器和步数的变化会改变提示词的效果表现。同一个提示词在 20 步和 40 步下细节丰富度差异明显不同采样器对提示词的忠实度也不一样有的更愿意听多样性的词有的更倾向收敛到平均结果。这意味着你换采样器之后之前调好的权重可能需要重新校准。所以我的建议是把采样器也纳入固定变量里一次调好一套工作流就别乱换除非你明确是想探索新风格。提示换模型或换采样器时先拿一个简单的提示词跑一张看基础表现别直接上复杂咒语。基础盘不稳复杂咒语只会放大问题。最后分享一个我一直在用的小技巧给自己准备一段最小可用提示词只有主体加一个光照词遇到任何新模型、新参数先用它跑一张。这张图能告诉你模型的底色是偏写实还是偏插画、对比度偏好如何、有没有奇怪的色彩倾向。心里有了这个底再往上叠风格和画质层你会发现自己对提示词的判断力突然变准了。