表述差异会导致结果差异
别名: 提示敏感 · 措辞依赖 · phrasing-dependent output
概念解释
「把这段改短一点」和「压缩到一百二十字、保留数字与专名」指向同一意图,却常常走出两条成品。提示敏感(prompt sensitivity)说的是:在开放输入里,表面措辞是真正的自变量,不是可忽略的包装。人对近义词默认「意思一样就行」;解码器对词、词序、标点和少一个约束都重新加权。
它不是「用户还没学会怎么说」——即使两句话在说话人看来已经同义,结果仍可分叉。也不是事后形成的「存在一句要背的口令」那种民间理论,只是映射本身不稳定。
机制
自回归模型把提示当作条件上下文。近义替换会改写注意力落点:一个词把模型拉向「口吻」,另一个拉向「长度」,第三个触发某个工具格式。少写的约束不是被问回来,而是被先验填上,所以两句「差不多」的话其实在条件分布的不同区域采样。温度再把区域内的点打散,于是连同一句的两次运行都会晃——措辞差异是在这个晃动之外又加了一层输入噪声。
人的语言理解靠意向:听者会把措辞差归一到同一个目标。把这套听者模型套到生成入口上,就会把结果差读成系统偶发故障,而不是读成「你换了自变量」。
怎么研究
固定意图说明书(给编码员看,不给模型看),让不同人各写一条提示,或用释义模型批量生成释义,全部跑同一解码设置。度量输出在任务指标、结构槽位、禁用项上的分歧。自变量:释义的编辑距离、是否显式写出数值约束、提示长度。因变量:输出两两一致率、关键槽位命中率、人类判定「是否仍算完成同一任务」。
必须把采样噪声从措辞效应里拆开:每条提示重复 n 次,先看组内方差,再看组间方差。组间仍显著大于组内,才谈得上表述在驱动结果。
边界
被强结构约束的调用——JSON schema、只能填三个枚举字段、下游规则校验——会把措辞差压到格式层以外几乎看不见。温度锁死且提示被系统重写成内部规范语句时,用户侧的措辞差异被一层编译抹平。创意探索里,措辞差本身是想要的分叉,不能当缺陷。这条只覆盖「用户以为自己在说同一件事、系统当成两件事」的任务型生成。
怎么落地
- 在发送前把用户的话解析成可见的约束清单(长度、对象、禁止项)。用户改的是清单,不是再赌一句近义词。
- 对已成功的提示提供「换个说法再试」时,并排保留两次结果,让人看见分叉来自措辞而不是刷新失败。
- 需要稳定时,不要让同一意图每次都以原文提示直达模型;先归一到内部任务表示再生成。
- 验证:准备三句人类评为同义的请求,在同一账号、同一设置下各生成一次(每句再各重复一次以估计采样噪声)。若三句之间的任务级差异稳定大于各句内部的差异,界面仍把措辞当包装而不是自变量。
延伸
- 同组:L2.01.1 开放输入不提示能力范围 · L2.01.2 用户不知道该怎么说是主要门槛 · L2.01.4 空白输入框不传达任何能力边界,用户的第一句话本质上是猜测 · L2.01.5 开放输入把失败的归因引向用户自己说得不好 · L2.01.6 同义表述得到不同结果,用户会误以为存在需要背诵的固定说法 · L2.01.7 开放性使功能无法被枚举,产品的能力清单不再可完整展示 · L2.01.8 开放输入的错误提示难以具体,因为系统并不知道用户原本想做什么
- 相邻:L1.01 概率性输出与确定性界面的错配 · L2.15 指令的歧义与澄清追问 · L2.04 参数化控制与自然语言的互补
- 站内检索:
prompt sensitivity·paraphrase robustness·phrasing-dependent output