🤖 现代 AI 开发者 · Agent 工程进阶:从 demo 到生产

RAG 与记忆入门:参数化vs非参数化、Lost-in-the-Middle、RAG vs 微调

参数化 + 非参数化记忆、降幻觉非消除,以及切块 / 丢中间 / 七个坑

为什么要 RAG:模型的知识是「焊死」的

模型权重里的知识(参数化记忆)有两个毛病:会过时改不动(要重训)。RAG = 参数化记忆 + 非参数化记忆(一个可检索的外部向量索引),用检索到的文档喂给生成。好处:换索引就能更新知识、不用重训;让生成更具体、更符合事实,降低幻觉——注意是降低不是消除(检索错了照样胡说)。

检索有两条路:稀疏检索(BM25 / TF-IDF,关键词匹配)和稠密检索(学到的向量嵌入,语义匹配,能匹配「说法不同但意思一样」)。还有个常见误区要破:想让模型记住新知识就去微调? 实验证据相反——无监督微调难教会 LLM 新事实,注入知识时 RAG 一致优于微调

⚠️误区:「新知识 = 微调」。注入事实首选 RAG,不是微调;微调更适合改风格 / 格式。

RAG 的工程现实:切块、丢中间、和它的七个坑

RAG 不是接上向量库就完事。Chunking(切块)决定检索粒度:块太大稀释语义、可能超嵌入模型上下文被截断;太小丢上下文。没有万能尺寸,得按你的查询实测。还有个反直觉现象:Lost-in-the-Middle——LLM 用长上下文呈 U 型:相关信息放开头或结尾表现最好,放中间会显著掉(可掉 30% 以上)。所以检索结果怎么排序、放在哪,很重要。

RAG 出错可以系统编目——七大失败点:缺内容 / 没召回到 / 没进上下文 / 没抽取出 / 格式错 / 颗粒度不当 / 不完整。评估也别拍脑袋:RAGAS 用「参考无关」指标(不需人工标注)——Faithfulness(答案有多少能被检索到的上下文支撑)+ Answer Relevancy。记忆方面:agent 记忆分两层——短期(线程内对话历史,随会话)+ 长期(跨会话持久化,常用向量检索调取)。

💡回扣:Lost-in-the-Middle 你在「上下文工程」那级见过——RAG 把它从「怎么写 prompt」推进到了「怎么排检索结果」。

自测 · 学完检查一下

想真正动手做题、记进度、攒连胜?到互动课里练。

RAG 相比直接用模型自带知识,核心优势是什么?

答案:知识可检索更新、不用重训,且让回答更符合事实、降低(非消除)幻觉

RAG = 参数化 + 非参数化记忆,换索引即更新、降幻觉但不消除(检索错照样胡说)。

「Lost-in-the-Middle」说的是什么现象?

答案:LLM 用长上下文呈 U 型,信息放中间最容易被忽略

U 型曲线——开头、结尾表现好,中间显著下降,所以检索结果的排序位置很关键。

判断对错:「想让 LLM 掌握一批新事实知识,微调通常比 RAG 更靠谱。」

答案:错误

实验证据相反——注入新事实 RAG 一致优于无监督微调;微调更适合改风格 / 格式,而非灌事实。

想边练边学,而不只是读?

到互动课里答题、记进度、攒连胜——游客即可试学,无需注册。

进入互动课程 →

Learn something new — don't miss updates

New courses, features and learning tips. Occasional emails, unsubscribe anytime.

RAG & Memory: Giving Your Agent Knowledge and a Memory · The Modern AI Developer · 喵学堂 PurrLearn