模型支持百万级上下文之后,很多团队的第一反应是“把所有资料都塞进去”。实测下来,效果并不随上下文长度线性提升,成本和延迟却直线上升。
一、位置效应:关键信息放在超长上下文的中间,被注意到的概率明显低于开头和结尾。重要的约束条件应该放在最前,最后再复述一遍,中间放支撑材料。
二、噪声稀释:塞进去的无关文档越多,模型越容易被带偏。检索环节宁少勿多,宁可给三段高相关的内容,也不要给三十段沾边的。
三、缓存与压缩:多轮对话里,把历史消息做摘要而不是原样拼接;固定不变的说明放进系统提示并利用提示缓存,能显著降低重复计费。
四、可验证:上下文里要求的每个结论,都应该能指回某一段原文。做不到这一点的长上下文应用,出错时无法归因,也就没法迭代。
结论很简单:上下文窗口是容量,不是能力。真正的工程工作是决定“放什么、放多少、放哪里”,这三件事都有可验证的方法,而不是靠感觉。
长上下文不等于长记忆:上下文工程实践指南