Day 21:Week 3 复盘与考试

学习目标

Week 3 的前六天,我们从 RAG 的原理一路学到了优化。今天是复盘和整合的一天。

复盘不是简单地回顾知识点,而是把散落的六天内容串成一个完整的认知体系。你需要回答一个核心问题:我能不能独立搭建一个企业知识库 Demo,从文档上传到问答输出,并且在效果不理想时知道怎么诊断和优化?

今天的实战任务是构建一个完整的企业知识库 Demo,用 5 篇文档、30 个测试问题来检验 Week 3 的学习成果。这是一个模拟真实项目交付的场景——你有一个客户需要知识库,你需要在一天内交付一个可演示的 MVP。


核心概念

一、RAG 架构复盘

先回顾 RAG 系统的全貌。

RAG 是什么。 Retrieval-Augmented Generation,检索增强生成。核心思想是”先搜后答”——先从知识库中检索相关内容,再让大模型基于检索内容生成答案。

RAG 解决的问题。 大模型的四个核心缺陷——知识过时、缺乏私有知识、幻觉、无法引用来源——RAG 针对性地解决了这四个问题。

RAG 的两个管线。

  • 离线管线(Indexing):文档 解析 清洗 切分 向量化 入库
  • 在线管线(Querying):问题 向量化 检索 Prompt 组装 生成 引用标注

RAG 的局限。 检索质量决定上限、长文档处理困难、多跳推理能力弱、上下文窗口有限、维护成本不低。

复盘的关键不是记住这些条目,而是能在脑中形成一张清晰的图:当你听到”RAG”这个词时,脑海里应该浮现出两条管线、六个核心模块、以及它们之间的数据流。如果浮现不出来,说明前六天的学习还不够扎实,需要回头重新梳理。

二、文档解析复盘

文档解析是 RAG 管线的第一步,也是最容易低估复杂度的环节。

核心原则。 保留有价值的内容,去除噪声,保留结构信息。

五种文档格式的解析要点:

  • PDF:最难,需要区分文字型和扫描型,注意多栏排版、表格、页眉页脚
  • Markdown:最简单,天然有结构标记
  • Word:需要从样式到结构的映射,注意表格和嵌入对象
  • Excel:不是自然语言,需要文本化或摘要化处理
  • HTML:技术最成熟,但需要处理 JS 渲染的内容

清洗的度。 宁可少去噪声,不要误杀有价值的内容。保守操作是基本原则。

元数据。 文档级别和片段级别的元数据是 RAG 系统的基础设施,从第一天就要设计好。

复盘时问自己:如果给你一份 50 页的 PDF 产品手册,你能不能设计一个解析和清洗方案,输出干净的文本 + 结构信息 + 元数据?如果不确定,回顾 Day 16 的内容。

三、Chunking 复盘

切分是影响 RAG 效果最显著的环节之一。

核心矛盾。 粒度要细(检索精准)vs 上下文要保留(理解完整)。

四种切分策略的对比:

  • 固定长度:最简单,语义完整性最差
  • 按段落:保留段落完整性,段落长度差异大
  • 按标题:语义最完整,依赖文档有好的标题结构
  • 语义切分:最智能,成本最高

Overlap 的作用和代价。 保留上下文但增加冗余。通常 10%-20% 的 Chunk Size。

Chunk 的上下文信息。 每个 Chunk 应该携带所属的章节标题等上下文信息,使得单独看一个 Chunk 也能理解它的背景。

复盘时问自己:如果给你一篇技术文档,你能不能选择合适的切分策略和参数,并解释为什么这样选择?

四、Embedding 复盘

Embedding 是连接文本和数学世界的桥梁。

核心原理。 把文本映射成数值向量,语义相似的文本在向量空间中距离近。

两个场景。 离线(文档 Chunk 向量化)和在线(用户问题向量化),必须使用同一个模型。

向量数据库选型。 根据数据规模、查询频率、功能需求、运维能力、成本预算来决策。

相似度检索。 余弦相似度是最常用的度量方式。Top-k 的 k 值需要根据场景调整。

元数据过滤。 在向量检索基础上增加按文档类型、时间等维度的过滤,提升检索精准度。

复盘时问自己:如果让你选择一个 Embedding 模型和向量数据库,为一个 500 篇文档的企业知识库做方案,你会怎么选?为什么?

五、检索优化复盘

检索优化是 RAG 系统从”能跑”到”好用”的关键。

八种优化手段的核心逻辑:

  • Query Rewrite:改写问题,解决表述差异
  • Multi-query:多角度查询,扩大覆盖面
  • Hybrid Search:向量 + 关键词,互补短版
  • Rerank:精细重排序,提升准确率
  • Context Compression:去除噪声,聚焦关键信息
  • Answer Grounding:约束模型,只基于检索内容回答
  • Citation Check:验证引用,保证可追溯
  • 检索失败回退:优雅处理失败,保证用户体验

优化原则。 一次加一种,测量效果,确认有效后再加下一种。不要一股脑全加上。

性价比排序。 Rerank > Query Rewrite > Hybrid Search > Multi-query > Context Compression > Citation Check。这个排序不是绝对的,但在大多数场景下 Rerank 的性价比确实最高。

复盘时问自己:如果一个 RAG 系统的主要问题是”专有名词检索不准”,你会选择哪些优化手段?如果主要问题是”答案中出现了文档里没有的信息”呢?

六、企业知识库产品化复盘

技术能力只是企业知识库的一部分。把它做成一个产品还需要考虑:

用户体验。 用户不需要知道 RAG、Embedding、向量数据库这些概念。他们只需要一个输入框和一个回答。界面的简洁程度直接影响用户的信任感。

文档管理。 文档上传、更新、删除的流程。权限控制(谁能看哪些文档)。文档版本管理。

答案可靠性。 引用来源、置信度提示、“不知道”的诚实回答。在面向企业用户时,可靠性比花哨重要得多。

运维体系。 系统监控(延迟、错误率、使用量)、定期评估(答案质量是否下降)、知识库更新(新文档入库、旧文档过期)。

成本控制。 每次问答的 API 调用成本、Embedding 成本、存储成本。需要给客户一个明确的成本预期。


概念关系图

Week 3 知识体系全景图
=========================================================

Day 15: RAG 原理与架构
    |
    |  建立"先搜后答"的认知框架
    |  理解离线管线和在线管线
    |
    v
Day 16: 文档解析与清洗
    |
    |  原始文档 -> 干净文本 + 结构信息 + 元数据
    |  核心原则:保留价值、去除噪声、保留结构
    |
    v
Day 17: Chunking 切分策略
    |
    |  干净文本 -> 适当大小的 Chunk + 元数据
    |  核心矛盾:粒度 vs 上下文
    |
    v
Day 18: Embedding 与向量数据库
    |                                  |
    |  Chunk -> 向量 -> 向量数据库      |  选型决策
    |  语义空间的数学表示               |
    |
    v
Day 19: RAG 问答链路 v1
    |
    |  问题 -> 向量化 -> 检索 -> Prompt -> 生成 -> 引用
    |  端到端跑通,建立基线
    |
    v
Day 20: RAG 优化
    |
    |  Query Rewrite / Hybrid Search / Rerank / Grounding / ...
    |  针对性优化,量化效果
    |
    v
Day 21: 复盘与整合
    |
    |  完整的企业知识库 Demo
    |  从技术能力到产品能力
    |


RAG 系统排错指南
=========================================================

症状:答案不正确
    |
    +-- 检索到了正确的 Chunk 吗?
    |       |
    |       +-- 没有 --> 检索问题
    |       |           |
    |       |           +-- Chunk 中有答案但检索不到?
    |       |           |       --> 改进检索:Query Rewrite / Multi-query / Hybrid
    |       |           |
    |       |           +-- 知识库中根本没这个内容?
    |       |                   --> 补充知识库
    |       |
    |       +-- 有 --> 生成问题
    |                   |
    |                   +-- Prompt 中有正确的上下文?
    |                   |       --> 没有 --> 检查上下文拼接逻辑
    |                   |
    |                   +-- 模型基于上下文回答了吗?
    |                   |       --> 没有 --> 加强 Grounding / 降低 Temperature
    |                   |
    |                   +-- 检索结果中有太多噪声?
    |                           --> Rerank / Context Compression


RAG 系统质量评估维度
=========================================================

维度一:检索质量
    - 召回率:正确 Chunk 出现在检索结果中的比例
    - 准确率:检索结果中相关 Chunk 的比例
    - 排序质量:正确 Chunk 的平均排名位置

维度二:生成质量
    - 准确性:答案内容是否正确
    - 完整性:答案是否覆盖了问题的所有方面
    - 简洁性:答案是否多余信息

维度三:引用质量
    - 引用准确率:引用标注的 Chunk 是否确实支持答案
    - 引用覆盖率:答案中的信息点是否都有引用
    - 引用完整性:引用信息是否包含来源文档、章节、页码

维度四:系统性能
    - 端到端延迟:从提问到获得答案的总时间
    - 检索延迟:向量化 + 检索的时间
    - 生成延迟:模型生成答案的时间

实战分析

任务一:构建一个企业知识库 Demo

这是今天的主线任务。用 Week 3 学到的全部知识,构建一个完整的企业知识库 Demo。

选一个行业场景。 建议选你熟悉的行业。如果你在制造业,就用制造业的文档;如果你对半导体行业有了解,就用半导体的文档。如果都不熟悉,用通用的产品文档和制度文件也行。

准备 5 篇文档。 文档要求:

  • 至少包含 PDF 和 Markdown 两种格式
  • 至少包含一篇超过 10 页的长文档
  • 至少包含一个表格密集的文档
  • 内容应该有足够的事实性信息(数字、流程、规则等)

完整执行 RAG 管线:

  1. 文档解析:对每篇文档选择合适的解析方式,提取文本和结构信息
  2. 文本清洗:去除噪声,保留结构
  3. 文本切分:选择切分策略,设置参数,执行切分
  4. 质量检查:检查 Chunk 的大小分布、语义完整性
  5. 向量化:选择 Embedding 模型,批量向量化
  6. 入库:选择向量数据库,写入向量和元数据
  7. 问答链路:实现问题向量化、检索、Prompt 组装、答案生成的完整流程
  8. 引用标注:确保答案带有引用来源

这个流程你应该已经很熟悉了。今天的重点不是学习新东西,而是整合和练习。

任务二:30 个测试问题

准备 30 个测试问题,比昨天的 20 个更多、覆盖面更广。

问题分布建议:

  • 10 个简单事实型(有明确的单一答案)
  • 8 个流程型(需要描述步骤或流程)
  • 5 个条件判断型(需要根据规则判断)
  • 4 个跨文档型(答案分布在不同文档中)
  • 3 个知识库范围外的问题(测试失败处理)

运行测试。 对每个问题记录:

  • 检索到的 top-3 Chunk 的摘要和相似度分数
  • 系统生成的答案
  • 正确答案(人工标注)
  • 正确性判断
  • 引用准确性判断
  • 如果有问题,属于哪类错误(检索错误/生成错误/引用错误)

汇总统计。 计算整体准确率、引用准确率、不同类型问题的准确率、知识库范围外问题的处理表现。

任务三:输出 RAG 评估报告

基于 30 个问题的测试结果,写一份评估报告。

报告结构:

  • 系统概述:用了什么技术栈、处理了多少文档、生成了多少 Chunk
  • 整体表现:准确率、引用准确率、平均响应时间
  • 分类型表现:不同类型问题的准确率对比
  • 错误分析:每个错误案例的原因分类和根因分析
  • 优化建议:基于错误分析,建议下一步的优化方向
  • 已知局限:系统当前无法解决的问题,以及对应的处理策略

这份报告不是给自己看的,而是给”客户”看的——如果你在给企业做知识库项目,这就是交付文档的一部分。


当日产物说明

产物一:《企业知识库 Demo》

这是一个完整的、可演示的 RAG 系统。

应该包含:

  • 5 篇已索引的文档
  • 文档上传和索引的入口
  • 问答界面(可以是命令行,也可以是简单的 Web 界面)
  • 30 个测试问题的完整记录
  • 答案带引用来源

质量标准:

  • 30 个测试问题中,简单事实型的准确率不低于 80%
  • 整体准确率不低于 60%
  • 知识库范围外的问题至少能正确处理 2 个(回答”不知道”而非硬编答案)
  • 每个答案都有引用来源(准确性可以不完美,但必须有)

产物二:《RAG 评估报告》

这是一份专业的评估文档。

应该包含:

  • 系统概述和技术栈说明
  • 测试方法和测试集描述
  • 量化评估结果(准确率、引用准确率、响应时间)
  • 分类型分析
  • 错误案例和根因分析
  • 优化建议和路线图
  • 已知局限和风险提示

质量标准: 报告的专业程度可以让一个非技术人员理解系统的当前水平和局限。数据真实,分析到位,建议可执行。

产物三:《RAG 排错手册》

这是一份实用的排错指南。

应该包含:

  • 常见症状和可能原因的对照表
  • 每种原因的诊断方法
  • 每种原因的修复方案
  • 典型错误案例和解决过程

质量标准: 当 RAG 系统回答不好时,按照这个手册的步骤,能定位到问题所在。不需要覆盖所有可能的错误,但常见问题(检索不到、答案不对、引用不准)都要有对应的诊断流程。

产物四:《Week 3 学习总结》

这是一份个人学习总结。

应该包含:

  • Week 3 学到的核心概念列表
  • 每个概念的一到两句话理解
  • 概念之间的关系图
  • 个人觉得最难理解的知识点
  • 还需要继续深入的方向
  • Week 3 和 Week 1-2 的知识衔接关系

质量标准: 这份总结是你自己对 Week 3 的消化和沉淀。不需要完美,但需要真实。


常见误区与避坑

误区一:复盘就是重读笔记

复盘不是把前六天的笔记重新看一遍。那叫复习,不叫复盘。

复盘是站在更高的视角,重新审视学过的内容。问自己:

  • 这些知识点之间的关系是什么?
  • 哪些知识我已经内化了,哪些还是死记硬背?
  • 如果让我给一个新人讲 RAG,我能讲清楚吗?
  • 如果让我独立搭建一个 RAG 系统,我知道第一步做什么吗?

把六天的散点知识变成一张网,这是复盘的核心目的。

误区二:Demo 追求完美

今天的 Demo 不需要完美。它的目标是:

  • 能跑通(端到端流程没有断点)
  • 能演示(给别人看能理解 RAG 是什么)
  • 能评估(有量化数据说明当前水平)

不需要:

  • 界面好看
  • 支持所有文档格式
  • 准确率 90% 以上
  • 支持多用户并发

MVP 的原则是”最小但可行”。先做到可行,再逐步完善。

误区三:忽略错误案例

测试 30 个问题,18 个答对了、12 个答错了。很多人会把注意力放在 18 个答对的上面,觉得”60% 的准确率还不错”。

但真正有价值的是那 12 个答错的。它们告诉你系统的薄弱环节在哪里。是检索的问题还是生成的问题?是某些类型的文档处理不好?还是某些类型的问题回答不了?

错误案例是优化的起点。没有错误的系统是不需要优化的系统,而真实的系统一定有错误。

误区四:不建立知识库范围说明

用户不知道知识库中有什么内容,也不知道系统能回答什么类型的问题。他们可能会问知识库范围之外的问题,然后得到一个错误的答案,进而对系统失去信任。

解决方案是为知识库建立一份”范围说明”:列出知识库包含哪些文档、涵盖哪些主题、可以回答什么类型的问题。在系统界面上明确展示这个范围说明,引导用户在范围内提问。

误区五:不复盘 Week 3 和 Week 1-2 的衔接

Week 3 不是孤立的。RAG 系统中的很多环节直接用到了 Week 1-2 的知识:

  • API 调用(Week 2) 调用 Embedding API、LLM API
  • 结构化输出(Week 2) RAG 答案的 JSON 格式化
  • Prompt Contract(Week 1) RAG Prompt 的设计
  • 错误处理(Week 2) API 调用失败的重试机制

理解这种衔接关系,有助于把七周的学习内容融会贯通,而不是一个个孤立的知识岛屿。


延伸思考

Week 3 到 Week 4 的过渡

Week 4 的主题是 Workflow、Agent 与 Tool Calling。RAG 和 Agent 的关系是什么?

RAG 解决的是”从静态文档中检索信息”的问题。但企业场景中有很多问题不是靠检索文档能解决的:

  • “帮我查一下工单 #12345 的当前状态”——需要查询实时系统
  • “把这个分析结果发邮件给张经理”——需要执行操作
  • “对比一下产品和竞品的功能差异”——需要多步推理和综合

这些场景需要 Agent:能自主决策、调用工具、多步执行的智能体。Agent 可以调用 RAG 作为它的工具之一(当需要从知识库检索信息时),但 Agent 不局限于 RAG。

Week 4 会学习如何设计 Agent 系统,以及如何把 RAG 作为 Agent 的一个工具来使用。这种组合(Agent + RAG + Tool Calling)才是企业 AI 应用的完整形态。

从学习者到实践者

三周过去了。如果你认真完成了每天的学习任务,你应该已经:

  • 理解了 AI 应用开发的全景(Week 1)
  • 掌握了 API 调用和 Prompt 工程的基础能力(Week 2)
  • 能够搭建一个端到端的 RAG 知识库系统(Week 3)

这三周的学习重点在”技术能力”。接下来的五周,重心会逐渐从技术转向应用:行业拆解、方案设计、商业化。因为技术能力只是基础,把技术能力变成可以交付的价值,才是最终目标。

企业知识库项目的真实挑战

在学校里做 Demo 和在企业中交付项目是两回事。企业项目中你会遇到:

  • 数据质量问题。 客户的文档可能格式混乱、内容过时、大量重复、缺少版本管理。你花在数据清洗上的时间可能比写代码还多。
  • 预期管理。 客户可能期望 RAG 系统像 ChatGPT 一样什么都能回答,但实际的知识库只能回答特定范围内的问题。需要提前管理好预期。
  • 持续运营。 Demo 交付后,文档需要持续更新,系统需要持续监控,效果需要持续评估。这不是一次性项目,而是持续运营的服务。
  • 安全合规。 文档权限、数据隔离、审计日志,这些在企业场景中都是强制要求。

了解这些挑战,不是为了吓退你,而是为了让你在进入真实项目时有心理准备。


自测问题

  1. 用自己的话完整描述 RAG 系统的离线管线和在线管线,包括每个环节的输入和输出。

  2. 如果一个用户问”产品 A 的保修期是多长”,但系统回答”未找到相关信息”,你怎么排查问题?列出诊断步骤。

  3. 选择 Embedding 模型时需要考虑哪些因素?如果知识库中大部分是中文文档,你会怎么选?

  4. 对比四种切分策略的优缺点。什么场景下选哪种策略?

  5. Rerank 为什么比初始的向量检索更准确?它的成本体现在哪里?

  6. 设计一个 RAG 系统的评估方案:有哪些指标、需要多少测试问题、怎么判断效果好坏。

  7. 如果你的 RAG Demo 在 30 个测试问题中只有 50% 的准确率,你会怎么分析原因和优化?

  8. 企业知识库项目中,除了技术实现,还需要关注哪些非技术因素?

  9. RAG 和 Agent 的关系是什么?为什么说”Agent + RAG + Tool Calling 是企业 AI 应用的完整形态”?

  10. 用三句话总结你 Week 3 最大的收获、最大的困惑、下一步最想深入的方向。


关键词

  • RAG 全流程:从文档解析到答案生成的端到端管线,包括离线索引和在线查询两个阶段
  • 文档处理管线:解析 清洗 切分,将原始文档转换为可检索的文本片段
  • 向量检索管线:向量化 检索 重排序,根据用户问题找到最相关的文档片段
  • 答案生成管线:上下文拼接 Prompt 组装 模型生成 引用标注
  • 检索优化工具箱:Query Rewrite、Multi-query、Hybrid Search、Rerank、Compression、Grounding、Citation Check
  • RAG 排错:从症状出发,通过检索质量、生成质量、引用质量三个维度定位问题根因
  • 评估体系:准确率、引用准确率、召回率、响应时间等多维度的量化评估
  • 企业知识库产品化:从技术 Demo 到可交付产品的转化,包括用户体验、文档管理、运维体系、成本控制
  • MVP 原则:最小但可行,先做到端到端跑通,再逐步优化
  • 知识库范围说明:明确系统可以回答什么类型的问题,管理用户预期

Week 3 综合考试

以下是一套综合自测题,帮助你检验 Week 3 的学习效果。建议闭卷作答,写完后再回头查资料补充。

第一题(架构设计)。 你要为一家中型制造企业设计一个知识库系统,该企业有约 200 份内部文档(PDF 和 Word 格式),主要使用场景是新员工查询公司制度和产品规范。请设计系统架构,包括技术选型、处理流程、关键参数选择。

第二题(问题诊断)。 RAG 系统上线后,用户反馈以下三个问题: A. 问”年假怎么请”时,答案提到了年假天数但没说请假流程 B. 问”设备编号 EQ-2024-156 的维保记录”时,回答”未找到相关信息” C. 问”公司对加班的态度”时,回答了一段看似合理但文档中并未提及的观点

请分别分析每个问题的可能原因,并提出对应的优化方案。

第三题(方案对比)。 客户要求你比较两个方案: A. 基于 RAG 的知识库问答系统 B. 直接用大模型 + Fine-tuning 的问答系统

请从成本、效果、迭代速度、适用场景四个维度做对比,并给出推荐。

第四题(优化排序)。 你接手了一个 RAG 系统,评估发现以下问题(按严重程度排序):

  1. 30% 的问题检索不到相关内容
  2. 检索到相关内容时,答案的准确率约 80%
  3. 引用标注的准确率约 60%

请制定优化计划,说明先做什么、后做什么、为什么这样排序。

第五题(口头表述)。 假设你要给一位不懂技术的企业老板解释 RAG 知识库是什么、为什么他的公司需要它、它能做什么不能做什么。写一段 3 分钟的口头表述。