
🧠 记忆锚点:RAG 给模型可更新的小抄,微调训练稳定的做事方式;知识与行为不要混为一谈。
💡 答案要点
一句话比喻(面试开场):
RAG 是给模型"带小抄"(外部检索),Fine-tuning 是给模型"补课"(参数学习)。一个是外部知识增强,一个是模型参数层面的能力调整。
工程落地四维度对比(面试加分):
| 维度 | RAG | Fine-tuning |
|---|---|---|
| 知识更新成本 | 更新向量库即可,成本低周期短 | 需重新训练/增量训练,成本高周期长 |
| 可解释性 | 可返回引用来源,答案可追溯 | 知识在参数里,难解释来源 |
| 工程复杂度 | 文档解析/切分/Embedding/检索/召回/拼接链路 | 数据质量/训练环境/评估集/模型部署 |
| 成本控制 | 向量库+Embedding+检索+LLM调用 | 训练资源+数据标注+模型托管 |
选型判断(面试核心): 不是看哪个概念火,是看业务——知识频繁更新+需溯源 → RAG;固定风格/专业语言/稳定任务能力 → Fine-tuning。
选择矩阵:
| 场景 | 推荐方案 | 原因 |
|---|---|---|
| 知识库问答 | RAG | 知识更新快,需要引用溯源 |
| 格式输出 | 微调 | 固定格式(JSON、SQL) |
| 风格迁移 | 微调 | 学习特定语言风格 |
| 代码生成 | RAG + 微调 | RAG检索示例,微调学习模式 |
| 客服对话 | RAG + 微调 | RAG检索知识,微调学习话术 |
决策树:
需要最新知识?
└── 是 → RAG
└── 否 → 固定格式输出?
└── 是 → 微调
└── 否 → 数据量大(>10K)?
└── 是 → 微调
└── 否 → RAG + Few-shot面试话术:
示例表达(仅在能用本人经历或可复现实验佐证时使用): "RAG 和微调不是对立的,而是互补的。RAG 解决知识更新问题,微调解决行为和格式问题。我在项目中结合两者:用 RAG 检索知识,用微调优化输出格式。"