渐进式上下文替换:在长 AI 对话中保持质量的方法
你的聊天机器人在前十五轮对话中运行完美。然后,问题出现了。它与之前的决定相矛盾。它询问用户已经提供过的信息。它丢失了对话开始时明确定义的多步骤任务的脉络。对话历史在技术层面上还在那里——你没有删除任何内容——但模型的行为却好像它不存在一样。
这就是上下文腐化(context rot):随着对话历史增长,输出质量逐渐下降的现象。2024 年对 18 个最先进模型进行的评估,涵盖近 20 万次受控调用,发现即使在名义上拥有更大窗口的模型中,可靠性在超过 30,000 个 Token 后也会显著下降。在扩展对话中,高性能模型会变得和小得多的模型一样不可靠。问题不在于你的上下文窗口耗尽了,而在于 Transformer 注意力机制是二次方的——100,000 个 Token 意味着 100 亿对关系——模型被迫将注意力分散得如此稀薄,以至于重要的早期内容实际上被忽略了。
当团队遇到这个瓶颈时,通常会采用两种解决方案之一:截断或摘要。这两种方法都会以可预见的方式让情况变得更糟。
