Appearance
7.3 检索结果的组织与精选
先给结论:检索结束并不意味着材料已经可以直接送进模型。真正影响回答质量的,常常不是“有没有找到”,而是“找到之后怎么组织、保留哪些、丢掉哪些、按什么顺序送进去”。
很多 RAG 系统在这一步会出问题,不是因为召回太差,也不是因为没有 Rerank,而是因为:
- 送给模型的块太多,噪声压过证据
- 送给模型的块太少,关键上下文不够
- 前几条结果高度重复,白白占掉上下文预算
- 该合并的没有合并,导致模型只看到碎片
- 该截断的没有截断,导致真正关键的信息被挤到后面
所以这一节要解决的,不是“怎么再找更多结果”,而是:
- 检索完成后,怎样把候选整理成更适合生成的最终上下文
你可以把它理解成检索链路里的最后一道整理工序。前面的召回和重排是在回答:
- 哪些内容值得进入候选池
而这一节关注的是:
- 候选已经拿到了,最终怎样组合,才更适合模型使用
学这一节时,最值得先建立的判断
Top K不是越大越好,最终给模型的结果数必须和问题复杂度、块大小、上下文预算一起看- 高分结果之间也可能高度重复,不做去重和聚合,模型看到的只是同一证据的不同切片
- 有些场景更适合
chunk级精选,有些更适合文档级合并,还有些必须把相邻块一起带上 - 最终排序不是展示层细节,而是生成质量的一部分
这一节会回答什么问题
读完这一节后,你最好能更稳地判断:
- 当前系统该调的是召回规模,还是最终送入模型的结果数
- 候选池里的重复问题有没有已经开始浪费上下文预算
- 面对长文档、FAQ、手册、流程文档时,最终结果该按哪种方式组织
- 模型回答不稳时,问题到底出在“没找到”,还是出在“送进去的顺序和结构不对”