上下文超长被截断时,用户看到的是没有解释的能力退化
别名: 静默截断 · 窗口丢了却不说 · unexplained capability drop
概念解释
长对话里用户早先上传过一份规格表。写到后半段,系统开始像没见过那张表:数字对不上、条款要人再贴一次。窗口满了,早段被截掉或被粗摘要替换,界面上没有任何「我已经看不见那张表」的说明。人看到的是没有解释的能力退化(silent context truncation):同一条产品突然变笨,归因只能落在「它不稳定」或「我把表贴坏了」。
截断是工程必然,静默才是交互失败。能力下降可以发生;下降必须被说成材料缺失,不能被表演成模型突然不会了。
机制
上下文有硬长度。超出后常见策略是丢掉最早的轮次、做滚动摘要、或按检索只留下被认为相关的片段。规格表若落在被丢的区,后续生成的条件里就没有它。模型仍会流畅作答,于是缺失被流畅填上——用训练分布里的「像样规格」顶替用户那张表。流畅把截断从「材料不在了」伪装成「它答得一般」。
用户侧没有任何长度仪表。滚动条暗示整段历史仍在场,心智模型是「它一直看着全部」。仪表与真源再次分裂,失败表现为无故退化。
怎么研究
把一份后面任务必需的材料放在会话前部,用填充轮次把窗口推过截断点,再问依赖该材料的问题。自变量:截断策略(丢头、摘要、检索)、是否在界面上提示材料已不在、提示的具体程度。因变量:材料依赖题的正确率、用户归因(模型变差 / 自己没说清 / 材料丢了)、发现缺失后的补救时间。
必须把「答得流畅但材料错」和「承认材料不在」分开编码。前者是静默截断的典型外观,不能算成功。
边界
始终短于窗口的会话没有截断,这条不出现。材料被工具外置(文件仍可通过引用拉取)时,窗口丢的是对话文本不是文件本身,提示应改成「对话里的摘录不在了,文件还可以再读」。摘要若经用户确认且可点回原文,截断被转化成压缩,不再静默。检索策略会误杀「看起来不相关、其实是约束」的早段,比均匀丢头更难被用户预见。
怎么落地
- 当一条仍被引用的材料将要或已经被移出窗口,在输入区给出明确状态:「规格表已不在当前上下文,需要的话请再钉住或再贴。」不要只在内部日志里记一条 truncating。
- 提供钉住:用户可把文件、约束、提纲钉在窗口里不被丢。钉住有名额,名额满了要说,不要暗中挤掉最早的钉。
- 被摘要替换的段,允许点开看摘要所依据的原文是否还在。原文没了,摘要要标成不可核对。
- 验证:把必需材料放在第 1 轮,填充到必然截断,再问材料里的一个独特数字。无提示条件下,错误数字加流畅回答记为静默事故。有状态提示后,用户应在提问前选择再钉或再贴;若仍在无提示下继续问、并得到错数字,提示没有进入决策点。