最近做AI应用开发方向的模拟面试,发现一个高频问题:

RAG和Fine-tuning有什么区别?什么场景用RAG,什么场景用Fine-tuning?

很多人的回答停留在:

RAG是检索增强生成,Fine-tuning是微调模型。

这个回答没错,但不够。

面试官真正想听的是:你能不能根据业务场景做工程选型。

一句话区别

RAG是给模型带小抄,Fine-tuning是给模型补课。

RAG不改变模型参数,而是在回答前先从外部知识库检索相关内容,再作为上下文交给大模型生成答案。

Fine-tuning是用特定数据继续训练模型,让模型在参数层面学习某些知识、风格或任务能力。

什么时候用RAG

当场景满足这些特点时,优先考虑RAG:

  • 知识频繁更新
  • 需要可追溯答案来源
  • 需要接入企业私有数据
  • 希望快速迭代知识库

典型场景:企业知识库、客服问答、产品文档助手、销售知识库、法务文档问答。

RAG的优势在于:知识更新只需要重新入库,不需要重新训练模型。

什么时候用Fine-tuning

Fine-tuning更适合:

  • 固定任务能力强化
  • 特定领域语言风格学习
  • 输出格式稳定控制
  • 行业术语和表达方式适配

比如让模型稳定输出某种风格的客服回复,或者适配医学、法律、金融等领域表达方式。

工程角度怎么回答

面试时建议从4个维度回答:

1. 知识更新成本

RAG更新向量库即可,成本低,周期短。

Fine-tuning需要重新训练或增量训练,成本高,周期长。

2. 可解释性

RAG可以返回引用来源,方便排查和审计。

Fine-tuning的知识在模型参数里,很难解释答案来源。

3. 工程复杂度

RAG复杂在文档解析、Chunk切分、Embedding、向量检索、召回排序、上下文拼接、效果评估。

Fine-tuning复杂在训练数据质量、训练成本、评估集、模型部署和版本管理。

4. 成本控制

RAG成本主要在向量数据库、Embedding和大模型调用。

Fine-tuning成本主要在训练资源、数据标注、模型托管和推理部署。

一个完整回答模板

我理解RAG和Fine-tuning的核心区别是:RAG是外部知识增强,Fine-tuning是模型参数层面的能力调整。

如果是企业知识库、客服问答、产品文档这类知识频繁更新、需要溯源的场景,我会优先选RAG。因为只需要更新向量库,成本低,迭代快,而且可以返回引用来源。

如果是让模型学习某种固定输出风格、行业表达习惯,或者强化某类稳定任务能力,我会考虑Fine-tuning。

从工程落地看,RAG重点在文档解析、Chunk切分、Embedding、向量检索、召回排序和上下文拼接;Fine-tuning重点在训练数据质量、训练成本、评估集和模型部署。

所以我不会简单说哪个更好,而是根据业务场景、知识更新频率、成本和可追溯要求来选择。

进一步追问

如果你简历里写了RAG,面试官通常会继续问:

  1. 文档怎么切分?固定长度还是语义切分?
  2. Embedding模型怎么选?
  3. 向量数据库为什么选Milvus?
  4. TopK怎么设置?
  5. 召回不准怎么办?
  6. 怎么评估RAG效果?
  7. 怎么解决大模型幻觉?
  8. 怎么做权限控制和数据隔离?

所以RAG不是写在简历上就结束了,必须真的能讲清楚工程链路。

总结

RAG和Fine-tuning不是谁替代谁的问题,而是不同场景下的技术选择。

面试官问这个问题,不是考你概念,而是看你有没有真实项目思维、工程化思维和技术选型能力。

这才是AI应用开发岗位真正看重的能力。


我整理了一份免费的AI应用开发学习路线,也建了AI面经共享群,里面会持续分享最新AI应用开发、RAG、Agent、Go/Java后端转AI相关面经。

需要的同学可以加我微信:wangzhongyang1993

备注「AI面经」,我拉你进群,也把最新面经资料发你。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐