Appearance
第 8 章 上下文构造与答案生成
先给结论:RAG 的后半程,决定的不是“有没有证据”,而是“证据能不能被模型稳定用好”。到了这一章,重点已经不再是继续把更多内容找出来,而是如何把已经找到的内容组织成可用上下文,并让模型在这个上下文上尽量忠实、稳定地回答。
前面几章已经解决了很多关键问题:
- 数据怎么准备
- 块怎么切
- metadata 怎么设计
- 索引和更新怎么做
- 查询怎么理解
- 候选怎么召回、重排和精选
但真实系统到这里仍然会卡住,因为即使这些步骤都做得不差,最后仍然可能出现:
- 上下文给得太多,答案变散
- 上下文组织得不对,模型抓错重点
- 长上下文里关键证据失焦
- Prompt 没把证据边界讲清楚,模型开始补猜
- 明明引用了来源,答案仍然不忠实
所以这一章真正关注的是:
- 检索之后,如何把证据变成更适合生成的输入
- 生成时,如何让模型更稳定地围绕这些证据回答
本章要解决什么问题
这一章主要回答五类问题:
- 为什么检索结果不能原样全塞给模型
- 为什么不同任务需要不同的上下文组织方式
- 为什么长上下文不等于问题已经解决
- 为什么 RAG Prompt 必须显式约束证据边界
- 为什么生成阶段仍然会出现答非所问、半忠实、半对半错的错误
如果说第 7 章更偏“检索结果怎么排、怎么选”,那么这一章更偏:
- 选完之后,怎样把它们组织成模型真正能用好的上下文
学这一章时,最值得先建立的判断
- 进入 Prompt 的内容,不是越多越好,而是越适合当前任务越好
- 上下文构造和 Prompt 设计,都是生成质量控制的一部分
- 长上下文只是预算变大,不代表证据组织问题自动消失
- “有来源”“有证据”不等于“回答忠实”,生成阶段仍然需要单独排查
建议阅读顺序
主题模块
学完这一章后,你最好能更稳地判断
- 当前系统的问题更像上下文构造失败,还是生成控制失败
- 什么情况下应该给模型更少、更精、更结构化的材料
- 为什么同一批候选,用不同组织方式喂给模型,结果会差很多
- 为什么“回答已经带来源”仍然不等于“答案足够忠实”
关联章节
- 这一章和 第 7 章 一起决定检索结果能否被模型真正用好。
- 如果你关心如何定位这里的问题,建议继续读 第 9 章 RAG 评测体系与错误归因。