什么是 RAG?为什么它能让 Agent 变得更博学
你有没有遇到过这种情况?
你问 Agent 一个比较专业的问题,或者一个比较新的信息,它答不上来,或者答得不对,甚至一本正经地胡说八道。
为什么?因为大模型的知识是有截止日期的,而且它也不可能什么都知道。
那怎么让 Agent 变得更博学、回答更准确呢?
答案就是 RAG。
RAG 是什么?
RAG 的全称是 Retrieval-Augmented Generation,翻译过来叫「检索增强生成」。
名字听起来很技术,其实原理很简单——
先去知识库找相关资料,把资料和问题一起交给大模型,让它基于资料来回答。
打个比方:
没有 RAG 的 Agent,就像一个闭卷考试的学生——只能靠脑子里记的东西答题,记不住的就只能蒙
有 RAG 的 Agent,就像一个开卷考试的学生——可以翻书、查资料,然后基于资料来答题
哪个准确率高?显然是开卷的那个。
RAG 是怎么工作的?
RAG 的工作流程可以分成三步:
第一步:检索(Retrieval)
用户问了一个问题。系统先不去问大模型,而是先去知识库里面找,看看哪些资料和这个问题相关。
怎么找?不是用关键词搜索那么简单。RAG 用的是语义搜索——它理解问题的意思,然后去找意思相关的内容,而不是只找字面匹配的。
比如你问「怎么让花灯变智能」,系统能找到关于「三转二模块」「24V智能光源」的资料,哪怕这些文档里没有「花灯变智能」这几个字。
找到相关内容之后,把它提取出来,准备好。
第二步:增强(Augmented)
把检索到的相关资料,和用户的问题拼在一起,组成一个完整的提示词。
大概是这样的:
请根据以下资料回答用户的问题。
【资料】
……(检索到的相关内容)……
【用户问题】
……(用户的提问)……
请基于资料中的信息回答问题。如果资料中没有答案,就说不知道,不要编造。
这样一来,大模型回答问题的时候,就有「参考资料」可以用了。
第三步:生成(Generation)
大模型拿到「问题 + 参考资料」之后,基于资料的内容来生成回答。
因为有了参考资料,回答的准确性会大大提高——
不会胡说八道了,因为答案必须来自资料
可以回答最新的问题了,因为资料可以随时更新
可以回答专业领域的问题了,因为资料可以是行业专属的
三步走完,一个高质量的回答就出来了。
RAG 为什么重要?
RAG 之所以重要,是因为它解决了大模型的几个核心痛点:
痛点一:知识过时
大模型的训练数据有截止日期,之后的事情它不知道。
RAG 可以解决这个问题——你随时可以把最新的资料放进知识库,RAG 系统就能基于最新的信息回答问题。不需要重新训练模型,成本几乎可以忽略。
痛点二:领域知识不足
通用大模型什么都知道一点,但什么都不精通。如果你问的是某个细分领域的专业问题,它可能答不上来,或者答得很肤浅。
RAG 可以解决——你把行业文档、产品手册、技术资料都放进知识库,Agent 就能基于这些专业资料来回答问题,秒变行业专家。
灵栖智库本质上就是在干这件事——把知识集中起来,让所有 Agent 都能通过 RAG 的方式来使用。
痛点三:胡说八道(幻觉)
大模型最让人头疼的问题就是幻觉——说得有鼻子有眼,但全是编的。
RAG 是目前解决幻觉问题最有效的方法之一。因为 Agent 的回答必须基于检索到的资料,资料里没有的就说不知道,不能瞎编。
当然,RAG 也不能百分之百消除幻觉,但它能把幻觉的概率降低很多。
痛点四:私有数据用不上
企业内部有大量的文档、数据、经验,但这些东西没法用来训练大模型——数据量不够、隐私问题、成本太高。
RAG 是成本最低、见效最快的方案。把内部文档整理进知识库,Agent 就能立刻用起来,不需要训练、不需要微调、成本极低。
RAG 和微调(Fine-tuning)有什么区别?
经常有人把 RAG 和微调搞混。简单说一下区别:
RAG
微调
原理
检索资料 + 基于资料回答
用额外数据重新训练模型
成本
低
高
时效性
随时更新,立竿见影
更新慢,需要重新训练
准确性
高(基于资料)
中等
适合场景
知识问答、文档检索、企业知识库
风格调整、特定能力强化
技术门槛
低
高
一句话总结:如果是知识层面的问题,用 RAG;如果是能力和风格层面的问题,用微调。
大多数场景下,RAG 就够用了。性价比极高。
RAG 的局限
RAG 很厉害,但它也不是万能的。
1. 检索质量决定一切
如果检索不到相关的资料,RAG 就没用。检索的准确度和召回率,直接决定了 RAG 系统的效果。
2. 资料质量决定上限
垃圾进,垃圾出。如果你的知识库里面的资料本身就是错的、过时的、质量差的,RAG 出来的结果也好不了。
3. 只能回答「有答案」的问题
如果问题需要推理、分析、创意,而知识库里面没有现成的答案,RAG 就帮不上太多忙。它更多是「知识搬运」,不是「知识创造」。
4. 上下文有限
如果检索出来的资料太多,超过了模型的上下文窗口,也处理不了。需要做筛选和摘要。
总结
RAG 是让 Agent 变聪明的最便宜、最有效的方式之一。
它的原理很简单——开卷考试。
它的效果很明显——准确性大幅提升、幻觉大幅减少。
它的成本很低——不需要重新训练模型,有资料就行。
灵栖智库 + RAG,就是灵栖界所有 Agent 的「外挂大脑」——每一个住进灵栖界的 Agent,都可以通过检索智库来获取知识、提升能力。
这就是为什么我们说「住进灵栖界,Agent 会变得越来越强」。
因为它不只是一个人在战斗,它背后有整个智库的知识支撑。
Prompt Engineering 核心方法论:入门与进阶