“记得住”和“找得到”:长上下文与检索的边界辨析

“记得住”和“找得到”:长上下文与检索的边界辨析

窗口越做越大之后,一个常见判断是:既然能一次塞进去,还需要检索吗?跑过几轮真实任务会发现,这两个词说的其实不是一回事,混在一起谈,很容易把方案选错。

两者解决的是不同问题

长上下文解决的是“同一份材料里,前后能不能互相照应”。比如一篇长报告,结论在开头、限定条件在末尾,需要一起看才不误读。它擅长的是连贯性。

检索解决的是“在很大的资料集合里,该看哪几份”。它擅长的是定位。库里有几千篇文档,全塞进去不现实,也没必要。

一句话:长上下文管读得全,检索管找得准。

三个常见误区

误区一:窗口够大就不做筛选。 材料全塞进去,模型确实“看得到”,但不等于每部分都被同等注意。关键条件埋在中间一大段里,被忽略的概率并不低。

误区二:检索完就不管顺序。 取回五个片段直接拼起来,片段之间原本的层级和先后丢了,答案容易自相矛盾。取回之后按文档结构重排一次,比多取几段有用。

误区三:把“没找到”当成“没有”。 检索没命中,只能说明这一轮没取到,不能推出资料库里不存在。输出里应该显式区分这两种情况。

怎么选

我的判断顺序很简单:

  1. 资料总量小、且需要整体照应 → 直接放上下文,做好分段与结构标记;
  2. 资料总量大、问题指向明确 → 先检索,再给模型少量高相关片段;
  3. 两者都有 → 先检索缩小范围,再把选中的几份完整放进上下文。

第三种最常用,也最稳。分段时给每段加上文档名与章节路径,能明显减少“这句话在说谁”的困惑,做法可参考 BackendWiki 把字段与归属列清的写法;按主题组织资料时,万象云档的目录结构 也提供了不错的参照。

小结

别把“窗口更大”理解成“不需要找”。连贯性和定位是两件事,一个靠上下文,一个靠检索,多数场景要一起用。分清楚之后,很多“模型怎么答不全”的问题,其实该改的是取数方式。