把整篇长文档一次性粘贴进上下文窗口,是对一种稀缺资源的低效占用。更稳妥的工程做法是:文档侧先建立索引,按当前问题检索出相关段落,只把命中片段注入上下文窗口。这不是风格偏好,而是由上下文的硬约束决定的架构选择。
上下文窗口的容量是有限的,超出部分会被直接丢弃。但即便没有超限,"塞得下"也不等于"处理得好"。窗口内的信息会相互竞争模型的处理能力,无关内容越多,关键事实越难被稳定定位,典型后果就是回答只覆盖文档的一部分,或在长输出中出现前后矛盾。信息质量对结果的影响权重大于信息数量,这是全量输入策略的根本缺陷。
检索再喂的逻辑,是把"顺序通读"换成"按需供给"。模型处理的长输入不仅慢,冗余历史还容易引入重复与冲突;而经过相关性筛选的片段,让窗口内始终保持较高的信噪比——每一段进入窗口的内容都与当前任务直接相关,容量被花在刀刃上。
实际流程可以拆为四步:先做信息分级,把必须常驻窗口的内容(如任务目标、核心约束)与可检索的文档主体分开;再为长文档建立索引;需要哪一段就检索哪一段,注入窗口前可用一个简短的"背景+任务"开头段锚定方向;最后定期清理,把过时或冗余内容移出窗口,避免窗口被历史残留占满。
判断标准其实很直接:当文档体量明显超过单次任务所需的信息量,检索再喂几乎是必然选择;只有当文档足够短、且全部内容与问题相关时,直接全文输入才合理。把上下文窗口当作需要精心打理的容量,而不是无限仓库,是长文档场景下输出稳定性的前提。
参与讨论
暂无评论,快来发表你的观点吧!