一句话定义
提示词格式敏感性(Format Sensitivity)指的是:同一个意思、同一份信息,仅仅因为写法排布变了——换了个标点、少了个空格、调了下示例顺序——模型的输出就明显跟着变。内容没变,结果变了。
模型读的不是"意思",是"序列"
人读句子会自动忽略排版:"请把这段话翻译成英文"和"请把这段话,翻译成英文",理解完全一样。模型不是这样工作的。它先把文本切成词元(token),再逐个预测下一个词元。标点、换行、缩进、分隔符本身都是词元,都会参与这个预测,并影响后续每一个位置的注意力分布。
打个比方:这就像给一位手艺很好但特别依赖摆盘的厨师递食材。食材没变,你把调料放左边还是右边、按什么顺序摆,他做出来的菜就是不一样。他不是不懂你的意思,而是他的判断是在"看排版"的过程中形成的。
常被观察到会改变结果的格式要素:
| 格式要素 | 举例 | 常见影响 |
|---|---|---|
| 标点 | 用逗号还是句号分隔要求 | 要求之间的"边界感"不同 |
| 换行与空格 | 三条要求挤一行 vs 各占一行 | 分行后更易逐条落实 |
| 分隔符 | 用 ```、###、--- 包住待处理文本 | 决定哪段是指令、哪段是素材 |
| 示例顺序 | 少样本示例的先后排列 | 靠近问题的那条示例往往影响更大 |
| 字段顺序 | JSON 里先 name 后 age,或反过来 | 结构化抽取的稳定性会变 |
和相邻概念的区别
- 措辞敏感性(Wording Sensitivity):改的是"用什么词";格式敏感性改的是"怎么排"。
- 输出格式遵循(Output Format Adherence):那说的是模型能不能按你要的格式吐出来;这里说的是你的输入排版怎么影响它吐什么。
- 采样随机性(Sampling Randomness):那是同一输入两次结果不同的噪声;格式敏感性是系统性的——换个格式,结果稳定地变好或变差,重跑还那样。
对你意味着什么
对从业者:把提示词当代码管。格式是接口的一部分,要纳入版本控制和回归测试;评测时冻结格式,一次只改一个变量,否则分不清是措辞的功劳还是换行的功劳;能用结构化输出(如 JSON Schema)就别靠自然语言描述格式。别把格式当成玄学调参的赌场。
对普通人:模型答非所问时,先别急着换说法,先重新排版——把要求拆成短行、编号,用空行把"指令"和"素材"分开。这往往比反复改措辞更管用。抄别人的提示词模板时,也别随手删掉那些看起来多余的空行。
最后一句:不同模型、甚至同一模型的不同版本,对格式的敏感程度都不一样,具体表现以官方文档和你的实测为准。
