一句话定义:指令衰减(Instruction Decay)指的是系统提示(system prompt)里定下的规则,随着对话轮次增加、上下文越来越长,约束力被一点点稀释的现象。规则并没有被删掉,原文还在,只是管不住后面的话了。
先打个比方。部门开会,领导开场就定规矩:“今天只讨论方案,不谈预算。”头半小时,大家都守规矩;可聊到两小时,讨论越来越热,有人顺口算起了成本,其他人也跟着往下算。其实没人忘记开场那句规矩,只是后面这几十分钟的内容离得近、说得具体、情绪也足,把开场那句话压住了。模型面对长上下文时的处境,跟这很像。
原理上说,模型对上下文的注意力不是均匀分配的。越靠后的内容、越具体的要求、越贴近当前问题的语句,通常影响更大;而开头那段又长又抽象的系统提示,相对权重会往下掉。此外还有两重叠加效应:一是AI 词典:上下文窗口">上下文窗口(context window)被填满后,早期内容可能被截断,或被摘要压缩成几句“大意”,细节就丢了;二是模型本身有顺着用户最近一句话走的倾向,用户在后半程随口一句“先简化一下”,就可能盖过开头“必须输出完整表格”的硬性要求。
几个容易混的概念:
| 概念 | 发生在哪 | 本质 |
|---|---|---|
| 指令衰减 | 单次对话内 | 规则还在,但影响力被稀释 |
| 上下文溢出 | 单次对话内 | 上下文窗口装不下,早期内容被挤掉 |
| 灾难性遗忘 | 模型训练中 | 学新知识时把旧能力弄丢了 |
| 提示注入 | 输入内容里 | 外部内容恶意或无意地覆盖了原指令 |
前两个常被一起提起,但区别很实用:溢出是“装不下”,衰减是“装得下但管不住”。只把上下文窗口做大,能缓解溢出,却未必能解决衰减。
对从业者:别把关键约束当成“说一次就永久生效”的配置。比较稳妥的做法有这些:在长任务中定期复述核心规则;把硬性要求做成输出校验、格式检查、工具层拦截,而不是靠模型自觉;把长流程拆成几段,每段重新给一次上下文和约束;把最重要的要求放在靠近当前请求的位置,而不是只写在开头。判断效果时,以实际测试和官方文档为准。
对普通人:用久了发现 AI 开始跑偏,不必急着新开会话。先把最关键的要求在最近一条消息里再说一遍,往往就恢复了。反过来说,开头写一大段“你必须永远……”,也别指望它在第 50 轮还牢靠,能一句话重申的规矩,比写得漂亮的长篇前言管用。
