← 返回资讯
林远舟
技术编辑
已审核

RAG vs 纯LLM:一个能翻书,一个靠瞎编,差距大到离谱

关于“AI味”,你列举的那些套话(“值得注意的是”“综上所述”等)原文里一个都没有,反而通篇是口语化的吐槽和比喻,风格很自然。不过有两处对仗句稍微有点工整,我帮你打散了一下,让节奏更随意。其他内容全部保留。

RAG vs 纯LLM:一个能翻书,一个靠瞎编,差距大到离谱

RAG vs 纯LLM:一个能翻书,一个靠瞎编,差距大到离谱


关于“AI味”,你列举的那些套话(“值得注意的是”“综上所述”等)原文里一个都没有,反而通篇是口语化的吐槽和比喻,风格很自然。不过有两处对仗句稍微有点工整,我帮你打散了一下,让节奏更随意。其他内容全部保留。

以下是修改后的最终版本:


我花了一周时间,把RAG从头到尾撸了一遍,这是踩坑记录

先给你一个暴击:RAG不是银弹,但它比微调靠谱十倍! 别急,听我慢慢说。

写这个专栏十年了,从最早的SEO到现在的LLM应用,见过太多技术概念炒得满天飞。但RAG(检索增强生成)是少数几个让我觉得“卧槽,这事儿真能落地”的东西。


我是怎么被逼上这条路的?

去年接了个项目,客户要做企业内部知识库问答系统。文档涉及产品手册、合规政策、技术规范,加起来几千页。你想想,几千页啊!我当时第一反应:微调一下大模型不就行了?

结果呢?踩坑踩到怀疑人生

后来改用RAG,你猜怎么着?所有问题全解决了。说实话,效果比我预期的好太多,好到我想给RAG磕三个头。


RAG到底解决了什么?别被忽悠了

纯LLM有两个硬伤,你肯定也遇到过:

幻觉问题——模型会一本正经地胡说八道。我测试过GPT-4问“2024年春节是什么时候”,它居然说2月9日(实际上是2月10日)。知识截止日期导致的,但它就是敢瞎说。你敢信?

数据新鲜度——问“今天北京天气”,模型永远答不上来。它的知识停留在训练数据截止日,像个活在过去的老人。

RAG的思路?简单到让你拍大腿:别让模型瞎编,给它提供真实资料,让它基于资料回答。就像考试时允许翻书,而不是闭卷硬背。你说,这不就是作弊神器吗?但作弊比瞎编强一百倍!


我搭的第一个RAG系统,三天搞定

花了三天时间,用LangChain+FAISS搭了个最小可行系统。流程是这样的:

离线阶段(准备资料)

1. 把PDF文档转成文本——这一步,光是PDF解析就踩了三个坑

2. 切分成512个token的块——这个参数我调了十几次,真的,十几次!

3. 用text-embedding-3-small转成向量

4. 存到FAISS索引里

在线阶段(回答问题)

1. 用户提问

2. 把问题转成向量

3. 在FAISS里搜最相似的5个文本块

4. 把问题+文本块拼成prompt

5. 发给GPT-4生成答案

第一次跑通时,我问“退款政策是什么”,它直接引用了文档第3章第2节的内容,还附上了原文。那一刻我确定:这条路走对了! 你知道吗?那种感觉就像你找了好久的东西,突然有人递到你手上,还告诉你“不用谢”。


实测数据:RAG vs 纯LLM,差距大到离谱

我用公司内部知识库做了个对比测试,50个问题,结果让你吓一跳:

| 指标 | 纯GPT-4 | RAG+GPT-4 |

|------|---------|-----------|

| 准确率 | 62% | 94% |

| 幻觉率 | 28% | 4% |

| 可溯源率 | 0% | 96% |

| 平均响应时间 | 1.2s | 2.8s |

| 单次Token成本 | 0.003元 | 0.015元 |

准确率从62%飙到94%,幻觉率从28%降到4%。代价是响应时间翻倍,成本涨了5倍。

但说实话,在企业场景里,准确率比成本重要得多。一次错误的合规回答可能造成几十万的损失。你想想,是花5倍成本换来94%准确率,还是省点钱但天天被客户投诉?我选前者,毫不犹豫。


核心模块拆解:我踩过的坑,你千万别踩

1. 文本分块(Chunking)——这事儿比看起来复杂

一开始用固定512字符切分,结果呢?

后来改用语义分块:按段落切,每段不超过1024个token,相邻块有10%重叠。效果好了很多。记住:分块不是切香肠,要讲逻辑。

2. 向量检索——别一上来就上K8s

我试过三种向量数据库:

个人建议:初期用FAISS,数据量大了再迁移到Milvus。别一上来就上K8s集群,你又不是要建个航母。先跑起来再说!

3. 重排序(Rerank)——这是容易被忽略的一步

向量检索召回Top-K后,直接用余弦相似度排序,效果一般。你想想,相似度高的片段不一定是最相关的,就像你找朋友,名字相似的人不一定就是你想找的那个。

我加了Rerank模型(BGE-Reranker),对召回的20个片段重新排序,取Top-5。准确率又提高了5-8个百分点。这一步,值!

4. Prompt设计——最玄学的部分

我迭代了十几个版本,最终发现一个有效的模板:

CODE
你是一个知识问答助手。请基于以下参考资料回答问题。
如果参考资料中没有足够信息,请明确说“无法从现有资料中找到答案”,不要编造。

参考资料:
{context}

问题:{question}

请回答,并在回答后附上参考资料的来源编号。

关键点:强制模型承认“不知道”,而不是胡编。这比任何技术优化都重要。你想想,一个敢说“不知道”的助手,是不是比一个满嘴跑火车的助手靠谱一万倍?


RAG vs 微调:什么时候用哪个?一张决策图搞定

很多人问我这个问题。我画了个决策树:

用RAG的情况

用微调的情况

最佳方案RAG+微调。微调让模型学会怎么回答,RAG让模型知道回答什么,两者结合效果更好。


高级玩法:Agent+RAG,我最近在折腾的

最近我在折腾Agent+RAG的组合。简单说,就是把RAG当作Agent的一个工具。

比如用户问“帮我查一下上个月的销售数据,分析一下趋势”,Agent会:

1. 调用RAG工具搜索销售文档

2. 提取关键数据

3. 调用代码解释器计算增长率

4. 调用图表工具生成趋势图

这比单纯的RAG问答又进了一步。但工程复杂度也指数级上升。慎入! 如果你刚入门,先别碰这个。


给初学者的建议:别想太多,先动手

如果你刚接触RAG,别一上来就搞Agent、多轮对话、知识图谱。先搭个最简单的:

1. 用LangChain+Llamaindex搭基础框架

2. 用FAISS做向量存储

3. 用GPT-4做生成器

4. 测试50个问题,看效果

5. 逐步优化:分块策略、Rerank、Prompt

这个过程大概需要1-2周。别怕踩坑,我分块策略就调了十几次。失败是成功他妈,对吧?


最后说两句:RAG不是银弹,但它很靠谱

RAG不是银弹。它解决的是“知识获取”问题,不是“推理能力”问题。如果你的场景需要模型做复杂推理(比如数学证明、代码调试),RAG帮不了太多。

但对于知识问答、文档检索、客服系统这些场景,RAG是目前最靠谱的方案。它让LLM不再瞎编,而是查资料;不再是黑盒,而是可溯源。

我建了个GitHub仓库(A Guide to Retrieval Augmented LLM),会持续更新我的实践记录。欢迎来交流,微信号:longtimemate

Retrieval Enhances LLM, LLM Empowers us.

记住:让模型学会查资料,比让它学会编故事,有用一万倍。

465
6653 阅读
3 评论
分享
链接已复制
编辑说明

本文由 MakeSense 编辑团队撰写并审核。文中引用的数据和观点均经过交叉验证,如有疏漏欢迎在评论区指正。最后更新:2026年06月22日 06:26

林远舟

技术编辑

全栈工程师出身,做过 5 年技术社区运营。对 AI 编程工具、开发者生态有深入研究,喜欢用实测数据说话。

读者评论 3

产品经理阿杰 1周前
从产品角度看,这个方向确实有机会,但商业化路径还需要验证。
回复 点赞 (15)
张工 昨天
写得很实在,特别是实测对比那部分,跟我自己的使用感受一致。
回复 点赞 (12)
前端工程师 4天前
代码示例很清晰,直接用到项目里了。
回复 点赞 (6)