指令遵循悬崖:为什么在系统提示中多加一条规则会破坏另外三条
你的系统提示最初只有十二行,运行得非常顺畅。后来产品团队要加语气规范,法务部门要加免责声明,安全团队又追加了三条约束。现在你有了四十条规则,模型却忽略了其中一半——而且每次忽略的还不是同一批。
这就是指令遵循悬崖:当你在提示中多加一条规则时,不仅仅是这条新规则的合规率下降——昨天还运转良好的其他规则也会跟着失稳。而且与大多数工程故障不同,这种失败方式令人抓狂地不确定。
悬崖的实证形态
IFScale 基准测试的最新研究描绘了一幅清晰的图景。研究人员对二十个模型在指令密度从 10 到 500 条的区间内进行了评估,结果揭示出三种截然不同的退化模式。
阈值衰减是最乐观的情形。Gemini 2.5 Pro 和 o3 这类擅长推理的模型,在大 约 150 条指令以内能保持接近完美的合规率,之后急剧下降。它们看起来坚不可摧,直到突然垮塌。
线性衰减是大多数生产级模型的表现。GPT-4.1 和 Claude 3.7 Sonnet 在整个指令密度区间内呈现出稳定、可预测的准确率损失。每增加一条指令,都会对现有指令的合规率造成微小但可量化的损耗。
指数衰减是较小模型的失效模式。Claude 3.5 Haiku 和 Llama 4 Scout 在最初几十条指令内就迅速崩溃,随后稳定在 7–15% 的准确率低谷——基本上等同于随机合规。
令人警醒的结论:即便是最顶尖的前沿模型,在最大指令密度下也只能达到 68% 的准确率。而且这与上下文窗口的大小无关。Goldberg 等人的研究发现,推理性能在大约 3,000 个 token 时就开始退化——远低于任何模型的技术上限。限制不在于记忆,而在于注意力。
规则为何相互冲突
悬崖不仅仅是数量的问题,更在于那些单独看来完全兼容的规则之间产生的隐性冲突。
设想一个系统提示,同时包含"始终以正式英语回复"和"匹配用户的沟通风格"两条规则。当用户以随意的语气写作时,这两条规则就产生了矛盾。模型不会标记这个冲突——它会悄悄地选出一个赢家,而且每次请求可能选的不同。
这类优先级冲突以组合方式倍增。十条规则产生 45 对潜在冲突,四十条规则则产生 780 对。你无法手动逐一审查,模型也不会告诉你它何时在处理歧义。它只是悄悄地丢弃一条规则,寄希望于你不会注意到。
关于指令层级的研究证 实了这一点:LLM 默认将所有指令视为大致相同的优先级。没有内置机制可以声明"这条规则比那条更重要"。模型从训练数据中学到的是指令通常不会相互矛盾,因此当真的出现矛盾时,它的行为本质上是未定义的。
这种失效模式尤为隐蔽,因为它看起来像随机的不合规。你看到模型偶尔忽略第 7 条规则,于是重新措辞让它更加强调。这修复了第 7 条,却悄悄地破坏了第 12 条——而你要等两周后用户反馈才会发现。
"迷失在中间"问题让情况更糟
位置效应进一步加剧了优先级问题。模型对提示开头和结尾的指令给予不成比例的关注,而对中间部分的信息权重不足。这种"迷失在中间"效应意味着,在一个有 40 条规则的提示中,第 15 到 25 条规则所获得的关注,系统性地少于第 1–5 条或第 35–40 条。
更糟糕的是,这种位置偏差还与语义相似性相互作用。研究表明,与任务概念相关的无关信息比完全不相关的噪声造成的损害更大。如果你有五条关于格式的规则和三条关于语气的规则,模型可能会将它们混为一谈,产生的输出只是部分满足了几条规则,却一条都没有完整遵守。
思维链提示——常被建议作为补救措施——在这里提供的保护相当有限。研究表明,模型在采用推理技术时,对噪声输入的敏感性反而更高。额外的推理步骤给了模型更多机会在相互冲突的信号中迷失。
分 解:首要的缓解策略
应对悬崖最有效的模式是分解——将一个庞大的系统提示拆分成多个专门化的提示,每个提示只负责整体行为中的一个狭窄切片。
基于路由的分解使用轻量级分类器(通常本身也是一个 LLM)对传入请求进行分类,并路由到专门的提示。一个客服系统可以将账单问题路由到包含 8 条账单专属规则的提示,将技术问题路由到包含 10 条故障排查规则的提示,将一般咨询路由到包含 6 条对话规则的提示。每个子提示都保持在悬崖阈值以下。
层级指令集建立明确的优先级层次。不是将四十条规则并列在同一层级,而是定义三到五条不可逾越的"宪法性"规则,十到十五条大多数情况下适用的操作规则,以及一组在与上层规则冲突时可以让步的风格偏好。你通过提示结构直接编码这种层级,使用清晰的措辞,如"以下规则覆盖所有后续指令"。
流水线分解将任务拆分为顺序执行的阶段,每个阶段有自己聚焦的提示。内容审核系统可以用一个提示分类意图,第二个提示起草回复,第三个提示对照安全规则核验草稿。没有任何单个提示承载超过十到十五条约束。
这种方式的代价是延迟和成本。基于路由的系统增加了一个分类步骤,流水线会成倍增加 API 调用次数,层级提示需要精心设计架构。但另一个选择——一个随机忽略三分之一规则的单一提示——代价更高。
