结论先行:RAG 是一条证据管线,不是“上传 PDF 后聊天”。可靠性取决于文档解析、切块、metadata、召回、rerank、Context 组织、引用生成和 claim 核验;任何环节都可能独立失败。
从文档到证据
文档先被解析为带结构的内容,再按语义和章节切块。每个 chunk 应保留公司、报告期、发布日期、文档类型、章节、页码与来源 URL。查询同时使用语义检索和关键词检索可以兼顾概念相似与精确科目,候选结果再由 reranker 排序,最后只把高信号片段交给模型。
引用不是在答案末尾附一个链接。每个重要 claim 要绑定真正支持它的 chunk,并能回到页码与原文。如果 chunk 只讨论同一主题但没有支持数字,引用仍然失败。
金融案例:三年同口径比较
问题是“三年毛利率变化来自什么”。系统必须先过滤正确公司和年度,再分别检索毛利率数字、管理层解释和业务组合变化。只检索“毛利率”可能拿到会计表,拿不到原因;只检索“原因”又可能返回没有数字的评论。多查询、metadata 过滤和 rerank 要共同工作。
回答应区分:已由数字直接证明的变化;管理层给出的解释;研究者根据两者做出的推断。三种 claim 的证据强度不同,不能写成同一语气。
Lab:建立最小 RAG 评估
- 准备三年年报和 15 个有标准答案的问题,其中 3 个故意无答案
- 设计 chunk 与 metadata,保存每个标准答案对应的正确页码
- 比较关键词、向量和混合检索的 top-k 召回率
- 对召回结果增加 rerank,再测引用是否真正支持 claim
- 分开记录 retrieval failure、citation failure 和 generation failure
常见失败与排查
- 固定字符切块打断表格与标题:优先保留章节和表格结构
- 没有日期过滤:旧报告可能比新报告语义更相似
- top-k 越大越好:过多低相关片段会稀释 Context
- 只测“回答像不像”:先测正确证据是否进入候选,再测答案
本课成果物
保存一个 15 题评估集、检索配置、top-k 召回率、引用通过率和失败分类。系统必须对三道无答案题明确报告未找到,而不是用模型内部知识补全。
资料来源
本课实践工作台
用冻结案例建立 15 题检索评估,其中三题明确无答案,并区分召回、引用和生成失败。
Context Pack 与证据账本模板
RAG 评估集与失败分类
自动保存到当前浏览器;建议在完成后导出到自己的研究目录。
草稿仅保存在当前浏览器,不会上传。
查看合格示例
合格示例:无答案题返回 NOT_FOUND,并列出已检索文档;没有用模型内部知识补数。
查看失败示例
失败示例:引用同主题段落就判定通过,却没有检查该段是否支持具体数字。
实践通过条件:验收清单全部完成,并且本课小测最好成绩达到 4/5。当前最好成绩 尚未作答。
本课检查点
允许重试并保存最好成绩。达到 4/5 且 Lab 自查完成后,实践状态才会通过;它不会替你自动完成阅读。