RAG(检索增强生成)让大模型在回答前先查资料,从而减少胡说八道。本文用大白话讲清它是什么、解决什么问题、怎么落地,以及哪些情况其实不该用它。
AI Glossary
RAG入门 并不复杂。它叫 RAG。检索,然后生成。仅此而已。
RAG 是 Retrieval-Augmented Generation 的缩写,中文常叫“检索增强生成”。它把两个动作拼在一起:先从外部知识库中检索相关内容,再把检索结果喂给大语言模型,让模型基于这些材料生成回答。你可以把它理解为“开卷考试”:模型答题前,先给它翻一遍参考书。
比如你要做一个公司内部问答机器人。员工问“今年的年假政策是什么?”如果只靠模型本身,它大概率会瞎编一段。RAG 的做法是:先把公司规章制度文档切成小段,存在向量数据库里;提问时,系统找出和“年假政策”最相关的几段文字,连同问题一起交给模型。模型再据此给出准确回答。
大语言模型有两个老毛病:一是会“幻觉”,二是知识有截止日期。
RAG 主要解决前者。它让模型在生成答案前,先拿到可验证的上下文,减少张口就来的风险。同时,它也让知识更新变得更轻量:你不用重新训练模型,只需把新文档加入知识库,模型就能回答相关问题。
比如你要做产品客服。产品说明书每个月都会更新,如果每次更新都要微调模型,成本很高。RAG 让你只更新文档库即可。
一个最小可用的 RAG 流程通常包含三步:
比如你要做一个法律条文咨询工具。你可以把相关法律法规拆成一条条条款,存进向量库。用户问“试用期最长多久?”系统检索出《劳动合同法》第十九条的相关内容,再把条文放进提示词,模型就能给出有依据的回答。
实际落地时,检索质量往往决定整体效果。你需要关注的不是模型多厉害,而是文档切分是否合理、向量索引是否准确、召回率够不够高。
有人认为用了 RAG 就能完全消除幻觉。事实并非如此。如果检索到的内容本身错误,或者模型过度依赖片段而忽略上下文,依然会产生错误回答。
另一个常见误解是 RAG 可以替代模型训练。RAG 只能让模型“临时抱佛脚”,它不会改变模型本身的推理能力。如果模型本身不会某种复杂计算,即使给了再多资料,也未必能算对。
RAG 不是万能药。
如果你的任务只需要模型本身的常识和语言能力,比如写文章、头脑风暴,那额外搭一套检索系统反而增加复杂度。
如果知识库很小,或者问题答案经常变化且必须实时精确,RAG 的延迟和召回误差可能带来风险。比如高频交易系统中的实时决策,就不适合用 RAG 来支撑。
另外,如果文档版权敏感、隐私要求极高,把大量内部文档向量化并接入外部模型,也可能带来合规隐患。