你问 AI:「我们公司年假怎么休?」它要么老实说不知道,要么给出一套听上去很像回事、其实是它「想象」出来的规定。问题不在于它不够聪明,而在于它从来没读过你们公司的员工手册。
换个角度想:如果考试允许带一本参考书,哪怕记性一般的学生,也能翻到对应的那页把题答对。RAG 做的就是这件事——让 AI 从「闭卷考试」变成「开卷考试」。
大模型为什么需要一本「参考书」
大模型的知识,来自训练时读过的海量文本。这带来三个天生的局限:
- 知识有截止日期:训练数据收集到某个时间点就停了,之后发生的事,模型并不知道。
- 没见过你的私有资料:公司制度、产品手册、合同模板、客户记录,这些从未公开过的内容,模型无从学起。
- 记不清时容易编:模型的本职是「接着写出通顺的下一句」,遇到记忆模糊的地方,它可能顺着语感编出一个答案,这就是常说的「幻觉」。
RAG 是英文 Retrieval-Augmented Generation 的缩写,中文叫「检索增强生成」。三个词正好对应三个动作:先检索相关资料,再增强(把资料放进提示词),最后生成回答。模型本身一点没变,变的是它答题时手边多了一份「参考资料」。
RAG 的三步:查、塞、答
用一个例子走一遍完整流程。员工问:「去广州出差,住宿能报多少?」
员工提问:去广州出差,住宿能报多少?
│
▼
① 检索:在公司资料库里找出最相关的几段
→《差旅管理办法》第 3 条:北上广深每晚不超过 500 元……
→《差旅管理办法》第 5 条:超出标准须提前申请……
│
▼
② 增强:把找到的段落和问题一起放进提示词
「请只根据下面的资料回答问题。资料:……问题:……」
│
▼
③ 生成:模型读完资料后作答,并注明出处
「每晚不超过 500 元,超标需提前申请(见第 3、5 条)。」(以上制度内容为虚构示例。)
这里最关键的是第 ① 步:怎么从成千上万段文字里,找出跟问题「意思相关」的那几段?
传统搜索主要靠关键词匹配:你搜「报销」,它就找含有「报销」两个字的文档。可员工的问法千奇百怪,「住酒店的钱公司给多少」里一个「报销」都没有。所以 RAG 通常会用一种叫 Embedding(向量化)的技术:把每段文字转换成一串数字,意思相近的文字,数字也相近。提问时把问题也转成数字,再找「距离最近」的段落,就能做到按意思找,而不只是按字面找。
你可以把它想象成一张巨大的「意思地图」:「报销」「差旅费」「住宿标准」在地图上挨得很近,「年会抽奖」则远在另一头。每次提问,就像在地图上插一面小旗,看看旗子周围有哪些段落。
提问之前的功课:先给资料「编好目录」
检索要又快又准,资料得提前处理好。这一步叫「建索引」,一般只在资料入库或更新时做一次:
- 收集文档:制度、手册、常见问题、产品说明等。
- 切片:把长文档切成一段段的小块。模型一次能读的内容有限,而且把整本手册塞进去,真正有用的那两句反而会被淹没。
- 向量化入库:把每个小块转成向量,存进专门的数据库(常叫向量数据库)。
这很像图书馆给新书编目:书买回来先登记、贴标签、上架,读者来借时才能很快找到。下一节我们会专门讲,怎么切片、怎么检索才能更准。
RAG、微调、直接贴资料,怎么选
想让 AI「懂」你的业务,常见有三条路:
| 方式 | 怎么做 | 适合 | 局限 |
|---|---|---|---|
| 直接把资料贴进对话 | 每次手动复制粘贴 | 一次性任务、资料不长 | 受上下文长度限制,每次都要贴,资料多了成本高 |
| RAG | 资料建成知识库,按需检索 | 资料多、经常更新、需要注明出处 | 效果依赖检索质量,找错资料就会答错 |
| 微调 | 用你的数据再训练模型 | 固定的说话风格、输出格式或特定任务 | 成本高、更新慢,不适合频繁变化的事实,也难给出处 |
一个好记的说法:微调改的是「习惯」,RAG 给的是「参考书」。很多人以为「要让 AI 懂公司业务,就得训练一个自己的模型」,其实在大多数问答场景里,先把 RAG 做好更快、更省钱:制度一改,换掉文档就生效,不用重新训练。
RAG 不是万能药
RAG 能明显减少胡编,但不能根除。常见的坑有四个:
- 没找到:答案明明在文档里,但检索没捞出来,模型只能说不知道,甚至凭印象编。
- 找错了:捞出来的是旧版本制度,或者别的产品的说明,答案自然张冠李戴。
- 读偏了:资料找对了,模型却理解错,或者把自己的「常识」混了进去。
- 越权了:普通员工检索到了只有管理层才能看的资料。
前两个坑都出在「找」这一步:资料找不对,模型再强也白搭。所以做 RAG,功夫有一大半要花在整理资料和调好检索上,而不是反复换模型。后两个坑,则要靠提示词约束和权限设计来防。
所以,给 RAG 写提示词时,要把规矩讲清楚。对比一下:
错误示范:
根据资料回答用户的问题。
正确示范:
你是公司制度助手。请遵守:
1. 只根据【资料】回答,不要使用资料以外的知识;
2. 资料里找不到答案时,直接说「资料中未找到」,不要推测;
3. 每个结论后用括号注明出处(文档名和条款);
4. 资料之间说法矛盾时,指出矛盾,不要自行取舍。你身边的 RAG,以及公司从哪儿起步
RAG 其实早就在你身边了:
- 联网搜索式回答:AI 先搜网页,再根据搜到的内容作答。它检索的是互联网,而不是公司文档,回答里常带着「来源」小角标。
- 上传文件再提问:把一份合同或报告传给 AI,问「第几条讲了违约责任」,背后也是先找段落、再作答。
- 企业知识助手和智能客服:员工问制度、顾客问售后,答案来自公司自己维护的资料库。
如果你正打算在公司落地知识库,别一上来就想「把所有资料都装进去」。更稳妥的做法是:先挑一个问得最多、答案最明确的领域,比如人事制度或售后政策;整理出一批权威、最新的文档;再收集几十个员工真实问过的问题,用它们检验答得准不准。小范围跑通了,再逐步扩大范围。
小贴士:看到回答带着来源,记得点开核对一下。RAG 让答案「有据可查」,但「查」这一步,最终还得靠人。
本节要点
- 大模型的知识有截止日期,也没见过你的私有资料,记不清时容易编。
- RAG 就是先检索相关资料,再放进提示词,最后让模型据此作答,相当于「开卷考试」。
- 检索常用 Embedding 向量技术,能按「意思」而不只是按「字面」找资料。
- 想让 AI 懂业务,多数问答场景先选 RAG;微调更适合改变风格和格式。
- RAG 的效果取决于检索质量,提示词要求它「只依据资料、找不到就说、注明出处」。
