>_ AI 应用训练营
lang ~ ai-course/03-why-not-ask-llm-directly 5 min read

03 · 为什么不能直接问大模型

一个真实翻车案例,讲透幻觉、RAG 与上下文三个核心概念

前两章我们讲了为什么要学AI、以及RAG/Agent这些概念的定义和Dify的选型逻辑。这一章开始真正动手——用一个真实翻车案例,让你彻底搞懂RAG到底在解决什么问题,然后亲手把它修好。

先讲个真实场景(这是本章的"为什么")

我做过一个生鲜电商的社群导购项目。每天有几千个用户在微信群里问东西——"最近什么牛肉好""这个榴莲怎么看好坏""草莓怎么保存"。以前全靠人工在群里逐条回复,慢、累、还容易漏。

第一版,我们也犯过跟很多人一样的错:"大模型不是很聪明吗?直接把问题丢给它不就行了?" 于是拿一个真实问题去测试,用来回答用户"这个怎么挑""那个怎么保存"这类问题。系统跑起来后,我拿真实问题去测试,问它:"榴莲怎么看好坏?"

模型答得特别流畅、特别专业,讲了一套"挑选牛油果的方法"——按压果皮判断软硬、感受弹性来判断成熟度。听着很像那么回事,问题是:我问的是榴莲,它答的是牛油果,而且我的知识库里压根没有牛油果这条数据。

后来我查日志才发现真相:那次检索环节因为一个模型权限报错,返回的是一个空结果——系统压根没查到任何真实资料,模型手里没有一点参考内容。但它没有说"我不知道",而是自己"脑补"了一套关于水果挑选的说法,换了个水果名字继续往下答,语气跟正常回答一模一样,你根本看不出这段话背后是"空的"。

那一刻我才真切体会到大模型最吓人的地方:它不是不知道,它是不肯说"不知道"。 流畅、笃定、错得理直气壮。在闲聊里这叫"有想象力",在导购场景里,这叫"用户信了这套牛油果的挑选方法,去挑榴莲,然后发现完全不对"

这件事用一张图就能说清:直接问模型是"闭卷考试",上了RAG是"开卷考试"。

闭卷考试 vs 开卷考试:RAG到底改变了什么


3个核心概念(先白话,再术语)

概念1:什么是"幻觉"?

幻觉(hallucination),就是模型不知道答案时,不说"我不知道",而是一本正经地编一个

它不是故意撒谎,而是大模型的工作方式决定的——它本质是在"预测下一个最像样的词",所以哪怕没有依据,也能拼出一段读起来很专业的话。开篇那个编出来的"促销活动",就是典型幻觉。

"幻觉"是怎么来的:它在"猜下一个最像样的词",不是在"查事实"

用户问一个它没见过的私有问题(我们店有没有促销)
         ↓
模型逐字"预测下一个词"(本质是补全,不是求证)
         ↓
拼出流畅但虚构的答案(看着专业,实则编的 ✗)

关键认知:
大模型不是一个"数据库",它没有"我不知道"这个开关——
只要你问,它就会顺着语感往下编。
所以它最危险的地方不是"答错",而是"错得特别流畅、特别笃定",
让你分不清真假。

RAG的解法:先去知识库查到真东西,再让它"照着资料答",
而不是"凭记忆编"。

幻觉是大模型目前面临的最大问题,如很多场景哪怕1%的幻觉都不能用,或者要进行约束,例如金融场景等. 文档撰写,ppt生成属于幻觉高一点没关系,那是LV1层级的应用,但是到企业层级,叫做工业生产场景,错一点就会有非常大的影响.

概念2:什么是RAG?

(上一章你已经见过这个词的定义,这里结合刚才榴莲变牛油果的翻车现场,再深挖一层——真正理解它为什么必须存在。)

RAG(Retrieval-Augmented Generation,检索增强生成),拆开就三件事:

检索(Retrieval): 拿用户的问题,去你的知识库里查出相关的几段资料

增强(Augmented): 把查到的资料,拼到问题前面一起交给模型,相当于给它"开了卷"

生成(Generation): 模型照着这几段资料组织出答案,而不是凭脑子里的记忆硬答

说白了:别让模型凭记忆答题,先去知识库里"查资料",把查到的真实内容塞进去,再让它照着资料回答。

一个比喻记一辈子:RAG就是把模型从"闭卷考试"改成"开卷考试"。模型还是那个模型,但答题时手里多了一本随时能更新、且属于你自己的参考书。

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导购机器人。