---
url: /courses/ai-literacy/07.rag.md
---
# 第五章：让 AI 基于资料回答

前几章里，我们一直在练两件事：

* 把问题说清楚。
* 判断 AI 回答是否可靠。

但你很快会遇到一个新问题：很多时候，你不是想让 AI 凭“它自己知道的东西”回答，而是希望它参考某些指定资料。

比如：

* 参考这节课的教材内容回答。
* 参考学校官网和招生简章回答。
* 参考老师发的讲义回答。
* 参考一本书、一篇文章、一份说明书回答。

这时，关键不只是“Prompt 怎么写”，而是：

> AI 回答时到底看到了哪些资料？这些资料从哪里来？答案能不能追溯回原文？

工程里常把这类做法叫 RAG，也就是检索增强生成。你暂时不用背英文缩写，先把它理解成一句话：

> 先找资料，再让 AI 基于资料回答。

## 5.1 为什么不能只让 AI 凭记忆回答

大模型有很多知识，但它不是你的个人资料库，也不是永远最新的搜索系统。

它可能不知道：

* 你这门课刚刚更新的内容。
* 学校今年最新招生政策。
* 某个产品刚改过的使用说明。
* 老师课堂上特别强调的讲法。
* 某个机构内部文档里的规则。

即使它“看起来知道”，也不代表它能说出可靠来源。

所以，在需要准确、可追溯、可更新的场景里，我们不能只问：

```txt
请介绍这个政策。
```

更应该问：

```txt
请根据下面这段资料回答。
先引用支持结论的原文，再说明你的解释。
如果资料里没有提到，请直接说“资料中没有依据”。
```

这就是从“凭感觉回答”走向“基于资料回答”。

## 5.2 一个好答案应该带着来源

如果 AI 的回答会影响学习、选择或行动，它最好能说明：

* 它参考了哪份资料。
* 哪句话支持了这个结论。
* 哪些内容是资料里明确写的。
* 哪些内容是 AI 根据资料做出的解释。
* 哪些内容资料里没有，需要继续查。

你可以把答案分成三层：

| 层级 | 含义 | 例子 |
|---|---|---|
| 原文依据 | 资料里明确写了什么 | 招生简章写明“需参加校测”。 |
| 基于资料的解释 | AI 根据原文帮你换句话说明 | 这意味着只看高考成绩还不够。 |
| 需要继续核验 | 资料里没有或可能变化 | 今年具体时间要看最新通知。 |

如果一个答案只有结论，没有来源，就像一张没有出处的截图：看起来方便，但不够可靠。

{{reflection-checkpoint:source-grounding-trace-checkpoint}}

## 5.3 资料也会出问题

让 AI 基于资料回答，不等于一定正确。因为资料本身也可能有问题。

常见问题包括：

* 资料过时：引用的是去年的通知。
* 资料不完整：只上传了第一部分，缺少后续说明。
* 资料来源不可靠：来自随手转发的截图。
* 资料切得太碎：AI 只看到一句话，看不到前后条件。
* 权限不清楚：把不该给某个用户看的资料也放进去了。

所以，资料回答有两个责任：

* 给 AI 看对资料。
* 让用户看见资料从哪里来。

如果资料错了，AI 基于资料回答也可能错；如果资料对但切坏了，AI 也可能误解。

## 5.4 让 AI 基于资料回答的问法

当你把资料交给 AI，可以这样问：

```txt
请只根据下面资料回答问题。
问题：这份通知对报名时间有什么要求？

要求：
1. 先给一句话结论。
2. 引用支持结论的原文。
3. 如果资料中没有依据，请明确说没有依据。
4. 不要编造资料外的信息。

资料：
[粘贴资料内容]
```

如果资料很长，可以先让 AI 做资料整理：

```txt
请把这份资料整理成：
1. 明确事实。
2. 时间、地点、对象等关键信息。
3. 仍需核验的问题。
4. 可能容易误解的地方。
```

注意这句话：“仍需核验的问题”。它会提醒你：AI 不是把资料一读就自动变成权威解释，它还需要帮助你发现资料空白。

## 5.5 什么是 RAG

现在可以给 RAG 一个稍正式一点的解释。

RAG 的基本过程是：

1. 用户提出问题。
2. 系统先从资料库里找相关片段。
3. 系统把问题、规则和资料片段放进 AI 的上下文。
4. AI 根据这些资料生成回答。
5. 界面最好展示引用、来源和原文位置。

你可以把它想成：回答前，AI 先去翻教材和讲义，而不是只凭记忆说。

这也是为什么 XPKBook 很重视 IR/AST 级别的结构化内容。教材系统如果知道“学生正在读哪一节、这段内容属于哪个知识点、题目对应哪些概念”，AI 助理就不需要从页面 DOM 里猜，而是可以基于清楚的资料结构帮助学习。

## 5.6 基于资料回答也要看权限

不是所有资料都应该给所有人看。

比如：

* 学生可以看自己的学习记录，但不应该看其他同学的隐私。
* 老师可以看班级汇总，但不一定能看每个学生的完整原始聊天。
* 公开教材可以进入发布包，API key 和私密配置不能进入发布包。
* 企业内部文档只能给有权限的人检索。

所以，基于资料回答不只是“能不能找到资料”，还要问：

* 这个用户有没有权限看？
* 这段资料能不能被 AI 使用？
* 答案里能不能引用这段资料？
* 是否需要隐藏敏感信息？

这和第一章讲的系统边界是同一件事：模型负责生成，系统负责权限和规则。

{{reflection-checkpoint:source-grounding-permission-checkpoint}}

## 5.7 本章小测

下面几道题帮助你确认：你是否能区分“AI 自己说的”和“基于资料可追溯的回答”。

{{assessment:source-grounding-check}}

## 本章小结

让 AI 基于资料回答，不是简单地“上传文件然后聊天”。

你需要关注：

* 资料从哪里来。
* 资料是否最新、完整、可靠。
* AI 回答有没有引用依据。
* 哪些是原文事实，哪些是 AI 解释。
* 哪些资料用户有权限看。
* 资料里没有依据时，AI 能不能承认不知道。

以后你看到知识库问答、教材助理、企业文档助手、智能客服，都可以先问一句：

> 它的答案到底基于哪些资料？我能不能追溯回原文？

下一章我们会继续往前走：如果 AI 不只是回答，还要使用工具、参与流程、执行动作，应该怎样设置边界和人类确认。
