前两章我们讲了为什么要学AI、以及RAG/Agent这些概念的定义和Dify的选型逻辑。这一章开始真正动手——用一个真实翻车案例,让你彻底搞懂RAG到底在解决什么问题,然后亲手把它修好。
先讲个真实场景(这是本章的"为什么")
我做过一个生鲜电商的社群导购项目。每天有几千个用户在微信群里问东西——"最近什么牛肉好""这个榴莲怎么看好坏""草莓怎么保存"。以前全靠人工在群里逐条回复,慢、累、还容易漏。
第一版,我们也犯过跟很多人一样的错:"大模型不是很聪明吗?直接把问题丢给它不就行了?" 于是拿一个真实问题去测试,用来回答用户"这个怎么挑""那个怎么保存"这类问题。系统跑起来后,我拿真实问题去测试,问它:"榴莲怎么看好坏?"
模型答得特别流畅、特别专业,讲了一套"挑选牛油果的方法"——按压果皮判断软硬、感受弹性来判断成熟度。听着很像那么回事,问题是:我问的是榴莲,它答的是牛油果,而且我的知识库里压根没有牛油果这条数据。
后来我查日志才发现真相:那次检索环节因为一个模型权限报错,返回的是一个空结果——系统压根没查到任何真实资料,模型手里没有一点参考内容。但它没有说"我不知道",而是自己"脑补"了一套关于水果挑选的说法,换了个水果名字继续往下答,语气跟正常回答一模一样,你根本看不出这段话背后是"空的"。
那一刻我才真切体会到大模型最吓人的地方:它不是不知道,它是不肯说"不知道"。 流畅、笃定、错得理直气壮。在闲聊里这叫"有想象力",在导购场景里,这叫"用户信了这套牛油果的挑选方法,去挑榴莲,然后发现完全不对"
这件事用一张图就能说清:直接问模型是"闭卷考试",上了RAG是"开卷考试"。

3个核心概念(先白话,再术语)
概念1:什么是"幻觉"?
幻觉(hallucination),就是模型不知道答案时,不说"我不知道",而是一本正经地编一个。
它不是故意撒谎,而是大模型的工作方式决定的——它本质是在"预测下一个最像样的词",所以哪怕没有依据,也能拼出一段读起来很专业的话。开篇那个编出来的"促销活动",就是典型幻觉。
"幻觉"是怎么来的:它在"猜下一个最像样的词",不是在"查事实"
用户问一个它没见过的私有问题(我们店有没有促销)
↓
模型逐字"预测下一个词"(本质是补全,不是求证)
↓
拼出流畅但虚构的答案(看着专业,实则编的 ✗)
关键认知:
大模型不是一个"数据库",它没有"我不知道"这个开关——
只要你问,它就会顺着语感往下编。
所以它最危险的地方不是"答错",而是"错得特别流畅、特别笃定",
让你分不清真假。
RAG的解法:先去知识库查到真东西,再让它"照着资料答",
而不是"凭记忆编"。
幻觉是大模型目前面临的最大问题,如很多场景哪怕1%的幻觉都不能用,或者要进行约束,例如金融场景等. 文档撰写,ppt生成属于幻觉高一点没关系,那是LV1层级的应用,但是到企业层级,叫做工业生产场景,错一点就会有非常大的影响.
概念2:什么是RAG?
(上一章你已经见过这个词的定义,这里结合刚才榴莲变牛油果的翻车现场,再深挖一层——真正理解它为什么必须存在。)
RAG(Retrieval-Augmented Generation,检索增强生成),拆开就三件事:
检索(Retrieval): 拿用户的问题,去你的知识库里查出相关的几段资料
增强(Augmented): 把查到的资料,拼到问题前面一起交给模型,相当于给它"开了卷"
生成(Generation): 模型照着这几段资料组织出答案,而不是凭脑子里的记忆硬答
说白了:别让模型凭记忆答题,先去知识库里"查资料",把查到的真实内容塞进去,再让它照着资料回答。
一个比喻记一辈子:RAG就是把模型从"闭卷考试"改成"开卷考试"。模型还是那个模型,但答题时手里多了一本随时能更新、且属于你自己的参考书。

什么场景上RAG 1、内容要求严谨,比如售后,医疗,法律,制度等 2、必须可以溯源,能找到对应的内容与条款 3、知识频繁更新 4、内部自有文档为主,通用模型没见过,或者见的很少
企业内部情况: 核心判断知识库值不值得,能不能建好.大部分企业知识库是非常乱的,很多维护在一线人员是不标准的,尤其有较大历史包袱的企业.所以任何项目启动先问知识库有没有人能维护,谁来牵头,按什么节奏更新(面试时老板会比较关心是否有推动能力,相比技术这个软能力很重要)
RAG不能完全保证没有幻觉: 1、检索层召回的准,2、生成层硬约束(很多一些舆情就是这样产生的,没有约束好被用户给诱导了)
那为什么还有部署和调试自己的大模型的场景?

概念3:什么是"上下文"(context)?
上下文,就是你这一次塞给模型、让它参考的那段文字。
模型一次能读的上下文有长度上限(就像一口能吃的饭量),这个"量"用token(粗略=1个汉字或0.5个英文单词)来计。RAG的关键动作,就是"检索出最相关的几段资料,拼进上下文",而不是把整个知识库一股脑塞进去。后面所有的调优功夫,都花在"怎么让塞进上下文的那几块,又准又全"。
"上下文"有上限:整本书塞不下,只能挑最相关的几块
想把整个知识库都塞给模型:
知识库=几百万字,远超模型一次能读的token上限
→ 塞不下;就算塞得下也贵,还会"大海捞针"读不到重点
先检索,只挑最相关的几块:
相关chunk① / 相关chunk② / 相关chunk③
→ 只把"够用"的几块拼进上下文,省token、聚焦、回答更准
"挑哪几块、挑得准不准",就是RAG要解决的核心问题。
这三个概念,跟你今天要做的项目是什么关系
你的AI导购机器人,如果不接RAG:
用户问"榴莲怎么看好坏" → 模型凭记忆编一个通用答案,
可能内容对,也可能张冠李戴、编出不存在的挑选标准
接了RAG之后:
用户问"泰国XX榴莲怎么看好坏" → 先去你整理的知识库里查
→ 找到真实的、你自己写的挑选方法
→ 模型照着这段真实内容组织回答
→ 可溯源、不瞎编
今天这堂课,你要亲手做的事,就是给一个"闭卷"的大模型,配上一本"专属参考书",让它从"编答案"变成"查答案"。
下一步:概念都理解了,接下来是完整的手把手操作——下一节是从零到跑通整个项目的详细步骤手册,照着做就能亲手搭出这个AI导购机器人。