# 提示词写到多细才够：主体、构图、光线这三层各写什么

从能被指认的词到镜别与光源，把一句描述拆成能圈住结果的提示词骨架

> 提示词 · 构图 · 光线 · 约 6 分钟 · 09 月 29 日

## 本篇要点

1. 提示词真正要控制的是三层：主体、构图、光线；媒介、环境、色调、情绪可以挂在这三层上或交给参考图。
2. 能被指着画面确认的词才起作用：加名词、艺术家名、光线词对画面的改变远大于加“美丽”“高级”这类形容词，同一个词重复多遍常常无效。
3. 写主体时把形容词紧贴它修饰的名词，多主体分段写；模型经常把属性挂错对象，也数不准数量。
4. 构图层最有效的是镜别、视角高度、主体位置与留白、景深；直接写“相机在哪”比写“左边右边”更管用，因为空间关系是模型最弱的一项。
5. 光线按光源是什么、方向、软硬、时间与色温来写；写“窗光”“霓虹”这类具体光源，比写“漂亮的体积光”有效得多。
6. 越靠前的词分量越大：CLIP 文本编码器上限约 77 个 token，超出部分被截断，所以主体和构图放前面，风格放后面，用短语而非长句。
7. 判断标准是：写完后数一数有多少词能在画面上被指认；描述管不住精确布局、手部、画面文字和多主体从属关系，那些要靠参考图与局部控制手段。

---

上一篇的结论是：随机种子决定这一抽落在哪里，提示词决定结果能落在多大一片地方。种子那个旋钮已经拆完了，这篇接着解决另一个——怎么把“一个女孩在城市里”这样一句话，写成一段真正圈得住结果的描述。

需要控制的东西里，真正该花笔墨的只有三层：主体、构图、光线。其余要素可以挂在这三层上，或者干脆交给风格参考图，不占提示词的篇幅。Midjourney 官方的提示词指南把要素列成七项：主体、媒介、环境、光线、颜色、情绪、构图[1]。但对“让出图可预判”这个目标来说，主体、构图、光线是主干，因为它们直接决定画面的几何结构。

## 先分清两种词：能被指认的，和只能被感受的

同一段描述里的词，力量并不一样。有研究把提示词拆成两部分做对照：一部分写画面的物理内容（比如“一只猫”），另一部分加风格修饰（形容词、艺术家名、光线词），再用图像相似度衡量加进去之后画面变了多少[2]。

结果显示，加形容词（比如“beautiful”“minimalist”）对画面的改变最小，加名词、艺术家名、光线词的改变最大。同一个词重复写五遍，也常常完全没有效果[2]。这就解释了为什么“很有氛围感、很高级、绝美”写进去像没写——它们没有对应的视觉落点。**能被指着画面确认的词才起作用**：什么物体、什么颜色、什么材质、镜头在哪、光从哪来。

## 主体层：让形容词紧贴着它修饰的名词

主体要写“是谁/是什么”，加上能看见的属性：颜色、材质、服装、动作、表情。这里最容易踩的坑是多主体时的属性错挂——你写“蓝色长椅左边是一辆绿色的车”，出来的可能是绿色长椅配蓝色车。

这有一个已经找到的原因。扩散模型早期版本用一个叫 CLIP 的文本编码器把提示词转成模型能读的形式，研究者拆开它发现：在“两个物体各带一个属性”的句子里，后一个物体的表示会错误地混进前一个物体的形容词信息[3]。在专门测试这类组合能力的基准 T2I-CompBench 里，这种失败被归类为属性绑定（attribute binding），而空间关系是所有测试项里表现最差的一类[4]。

实用对策有三条：

- **属性和名词挨着写**，一件事说完再写下一件。用“a red flower and a yellow vase”的结构，而不是把一堆形容词堆在句尾。
- **超过两个主体就分开写**。不少工具支持用分隔符把提示词切成几段分别理解（比如 Midjourney 的 `::`），不同主体的描述不容易互相串味[1]。
- **不要指望模型数数**。T2I-CompBench 后来专门加了一类“生成计数”测试，就是因为“四个苹果”这种要求很不稳[4]。要几个东西，不如改用构图安排：一个在前景、一群在背景。

## 构图层：写相机在哪，不要只写“左边”

构图层的价值在于它给的是几何约束，而几何正是模型最弱的地方。偏偏“左边、右边”就是模型最不听的词。

更稳的写法是把“相机”写出来：

- **镜别**：特写、半身近景、全身中景、广角全景。这决定主体在画幅里占多大。
- **视角高度**：平视、略微俯拍、低角度仰拍、正俯视。
- **主体位置与留白**：居中、偏左三分之一、填满整个画幅、上方留出天空。
- **景深**：虚化背景、前后都清晰。

这四组词比“左边右边”有效，是因为它们在训练数据里对应着大量真实照片的描述，模型见过它们如何改变画面。写“马路右边的红色电话亭”是把关系交给模型去算；写“低角度仰拍，电话亭在画面左上，占画面四分之一”是把结果直接描述出来。

## 光线层：写光源，别写氛围

光线值得单独一层，因为它一次改动的范围最大——常常不只改亮度，还改主体质感和背景[2]。但光线词也有强弱之分。研究里有一组很说明问题的对照：“ambient lighting”这种把光源说清楚的词会显著改变画面内容，而“beautiful volumetric lighting”这类由形容词堆出来的说法，改变相对小[2]。差别在于前者是名词，后者是评价。

所以光线按四项来写就够了：

- **光源是什么**：窗光、顶灯、街灯、霓虹招牌、柔光箱（影棚里那种大面积的柔光灯）、硬日光。
- **方向**：从左前方、从背后逆光、从头顶。
- **软硬**：柔和漫射、锐利硬阴影。
- **时间与色温**：黄金时刻（日出后或日落前那段暖光）、阴天、深夜蓝调。

“左前方窗光、柔和、暖色”和“背后霓虹、硬光、冷色”，两句都不长，但出来的图基本不会认错。

## 顺序和长度：重要的话放前面

还有一个容易被忽略的维度：位置。基于 CLIP 的模型，文本编码器最多只读 77 个 token（一个 token 大致相当于半个到一个英文单词），超出的部分会被丢掉[5]。在 Stable Diffusion 3、Flux 这类同时用 CLIP 和另一个更大的文本模型 T5 的模型里，只有 T5 那一支能看到全文，CLIP 那一支仍然截断在 77[5]。不同平台的处理方式不完全一样，但规律一致：**越靠前的词越有分量，越靠后的内容越可能被削弱或丢掉**。

结论很朴素：主体和构图放最前面，光线和风格放后面，用逗号和短语，不用华丽长句。一句二十个词的提示词，比一段八十个词的小作文更可控。

## 合起来：一条能直接用的骨架

```
[镜别 + 视角] + [主体 + 紧贴的属性 + 动作] + [环境/背景] + [光源方向与性质] + [画幅比例/风格]
```

对照同一句话的两种写法：

- 改前：`一个女孩在城市里，电影感，高级感，超美`
- 改后：`半身近景，平视，一位穿米色风衣的年轻女性走在雨后的街道上，位于画面右侧三分之一；背景是虚化的霓虹店招；左前方路灯的暖黄光打在她脸侧，阴影柔和`

改后的版本里几乎每个词都能在画面上被指认出来。这就是判断标准：写完后数一数，有多少个词是别人能指着图确认的。够多，结果就在你圈定的那片小区域里，剩下的差异交给种子去抽；不够多，模型就仍然在替你做决定。

也要知道这套描述的边界。它擅长管住整体构图、主体外观和光线气质，但管不住精确布局、手部结构、画面里的文字，也管不住多主体之间的从属关系。这些要靠参考图、局部重绘、姿态或深度控制这些手段，是往后要讲的内容。还有一条边界：具体不等于长。具体是用来消除歧义的，写到 77 个 token 之后，多出来的字往往只是被丢掉。

## 术语表

- 属性绑定：把颜色、材质这类属性正确挂到它所修饰的那个物体上；多主体提示词里模型经常挂错，是“蓝色长椅旁一辆绿色的车”变成绿椅蓝车的原因。
- 镜别与视角：特写、半身近景、中景、仰拍、俯拍这类说法，用来交代相机在哪、画面切多近，是控制构图最有效的一组词。
- 光线词的强弱：把光源写成名词（窗光、柔光箱、霓虹、黄金时刻）会明显改变画面；“漂亮的体积光”这类评价式修饰改变很小。
- CLIP 的 77 token 上限：基于 CLIP 的文本编码器最多读约 77 个 token，超出的提示词被截断，因此重要内容要写在前面。
- 提示词骨架：按“镜别与视角 → 主体与属性 → 环境背景 → 光源方向与性质 → 画幅与风格”的顺序组织一段描述。

## 来源

1. [Midjourney 官方提示词指南：主体、媒介、环境、光线、颜色、情绪、构图七项要素与分段写法](https://docs.midjourney.com/hc/en-us/articles/32023408776205-Prompt-Basics)
2. [Investigating Prompt Engineering in Diffusion Models — 测度不同类别词语对生成图像的改变幅度](https://arxiv.org/abs/2211.15462)
3. [Improving Compositional Attribute Binding via Enhanced Text Embeddings — CLIP 文本编码器的错误注意力归因](https://arxiv.org/abs/2406.07844)
4. [T2I-CompBench++ — 属性绑定、空间关系、计数等组合能力的评测基准](https://arxiv.org/abs/2307.06350)
5. [diffusers issue：CLIP 文本编码器的 77 token 截断与 SD3 中 T5/CLIP 的不同处理](https://github.com/huggingface/diffusers/issues/8786)
6. [W1KP：提示词具体程度与出图差异性的量化研究（上一篇的承接来源）](https://arxiv.org/abs/2406.08482)

---

原文：https://pangzhengboyin.com/articles/prompt-layers-subject-composition-lighting-40a441f0

> **庞征博引** · 想学的，慢慢都会
>
> 庞征博引是把想学的东西写成连载的 AI 学习工具。说出想学什么，它会先了解你的基础，再把主题写成一篇篇 5–10 分钟能读完的文章；边读边问，接下来学什么跟着你走。这篇就是这样写出来的。
>
> 开始你自己的连载 → https://pangzhengboyin.com
