最近在AI应用开发方向的模拟面试中,一个高频问题反复出现:
RAG和Fine-tuning有什么区别?什么场景用RAG,什么场景用Fine-tuning?
这个问题听起来基础,但很多人的回答流于表面。
比如:
“RAG是检索增强生成,Fine-tuning是微调。”
“RAG用外部知识,Fine-tuning改模型参数。”
这两句话对不对?对。但面试官听完不会给出高分。
因为这只是背概念,没有讲清楚工程决策背后的逻辑。
真正好的回答,应该从业务场景、知识更新成本、效果控制、工程复杂度这几个维度展开。下面就来拆解一下。

一句话先讲清楚
RAG是给模型带小抄,Fine-tuning是给模型补课。
RAG不改变模型本身,而是在回答问题之前,先从外部知识库检索相关内容,再把检索结果作为上下文交给大模型生成答案。
Fine-tuning是拿你的数据继续训练模型,让模型把某些知识或表达风格学进去。
一个是外部检索,一个是内部学习——这就是最本质的区别。
面试时不要只讲定义,要讲场景
如果面试官问:什么时候用RAG?
可以这样回应:当知识频繁更新、需要可追溯、需要快速接入企业私有数据时,优先考虑RAG。
比如:
企业内部知识库问答
客服问答系统
产品文档助手
法务合同问答
售前销售知识库
面试题库检索
这些场景的共同特点是:知识经常变化。今天产品文档更新了,明天政策变了,后天FAQ又改了。如果用Fine-tuning,每次知识更新都要重新训练,成本高、周期长,显然不适合。RAG只需要把新文档重新切分、向量化、入库,就能完成知识更新——这才是它真正的优势。
那什么时候用Fine-tuning?
Fine-tuning更适合这些场景:
固定任务能力强化
特定领域语言风格学习
输出格式稳定控制
行业术语和表达方式适配
比如要让模型长期稳定地用某种语气写客服回复,或者适配医学、法律、金融等专业语言风格,Fine-tuning就更合适。但如果目标是让模型掌握每天更新的企业知识库,Fine-tuning通常不是第一选择。
工程角度怎么回答
面试官真正想听的是工程判断。可以从4个角度切入:
1. 知识更新成本
RAG更新知识库即可,成本低、周期短;Fine-tuning需要重新训练或增量训练,成本高、周期长。
2. 可解释性和可追溯
RAG可以返回引用来源,告诉用户答案来自哪篇文档;Fine-tuning的知识藏在模型参数里,很难解释答案具体来自哪里。
3. 工程落地复杂度
RAG需要建设文档解析、切分、Embedding、向量检索、召回排序、上下文拼接、效果评估等完整链路;Fine-tuning需要准备高质量训练数据、训练环境、评估集、模型部署和版本管理。两者都不简单,只是复杂点不同。
4. 成本控制
RAG的成本主要在向量数据库、Embedding、检索和大模型调用;Fine-tuning的成本主要在训练资源、数据标注、模型托管和推理部署。
企业选型时,不是看哪个概念更火,而是看哪个更适合业务。
一个比较完整的面试回答
如果面试官问起这个问题,可以这样组织语言:
“从本质上看,RAG是检索+生成,Fine-tuning是参数更新。RAG适合知识动态变化、需要可追溯的场景;Fine-tuning适合固定任务能力强化、风格适配。工程上,RAG的难点在检索链路的质量,Fine-tuning的难点在数据准备和训练成本。选择哪个,取决于业务对知识更新频率、可解释性、以及成本预算的要求。”
这个回答比单纯背定义强很多。
如果项目里用了RAG,面试官还会追问什么
一般会继续追问:
文档怎么切分?固定长度还是按语义切分?
Embedding模型怎么选?
向量数据库为什么选Milvus?
TopK怎么设置?
召回不准怎么办?
怎么评估RAG效果?
怎么解决大模型幻觉?
怎么做权限控制和数据隔离?
所以简历里只要写了RAG,就必须真正理解这条链路。否则面试官一追问,很容易露馅。
最后总结
RAG和Fine-tuning这个问题,不要只背概念。需要回答的是:
它们本质区别是什么?
分别适合什么场景?
工程落地的复杂点在哪里?
企业选型时应该考虑什么?
面试不是考试,面试官不是想听标准答案。他想判断的是:你有没有做过真实项目,有没有工程化思维,能不能根据业务场景做技术决策。这才是AI应用开发面试里真正值钱的能力。
