微调 / LoRA / RAG / Agent:四个词各解决什么问题
这四个词经常被混在一起提,其实它们解决的是四类完全不同的问题。分清类型,比选技术更重要。
四类问题,四种手段
| 你的真实问题 | 该用的手段 | 为什么 |
|---|---|---|
| 它不知道我们公司的规定 / 我的文档 | RAG(把资料检索后塞进上下文) | 知识在外部,注入上下文即可,不需要改模型 |
| 它说话不像我们 / 格式老出错 / 领域话术不对 | 微调(LoRA 是其中一种省资源做法) | 要改的是风格和习惯,不是知识 |
| 它得替我做事:查、写、调接口、跑流程 | Agent / 工具调用 | 需要模型之外有执行与反馈循环 |
| 资料太多塞不进上下文 | 上下文工程(先筛再塞) | 窗口是稀缺资源,组织方式决定成败 |
最常见的两种错配
用微调补知识——很多人想「把公司文档喂进模型训练一遍」。问题在于:微调擅长改变行为,不擅长可靠地写入事实;灌进去的知识容易串味、无法更新、也查不到出处。资料类需求几乎都该走 RAG:文档变了,换掉检索源就行,不用重训。
用 RAG 改风格——把十篇「好文章」检索进上下文,模型会模仿一些,但每次模仿得不稳定,而且占掉大量窗口。要稳定的语气、格式、字段输出,微调更合适。
LoRA 是什么位置
微调有两种做法:
- 全参数微调:改动模型全部参数。效果上限高,显存与时间成本高。
- LoRA:冻结原模型,只训练一小撮附加参数(常见不到千分之一)。单卡就能跑,可插拔(一个底座挂多个 LoRA),效果对多数「改风格/改格式」任务够用。
所以「LoRA vs 微调」不是对立关系,LoRA 是微调的一种低成本实现。
门槛与成本阶梯(数量级)
| 手段 | 门槛 | 见效速度 | 可回退性 |
|---|---|---|---|
| 上下文工程 | 最低,改文本就行 | 立刻 | 完全可回退 |
| RAG | 需要一套检索与文档管线 | 天级 | 可回退,需维护 |
| Agent | 需要工具、权限、失败处理 | 周级 | 难回退(有副作用) |
| LoRA 微调 | 需要数据 + 一张像样的显卡 | 周级(数据准备占大头) | 可卸载 |
| 全参数微调 | 需要集群 | 月级 | 基本不可回退 |
决策顺序
从上往下试,能靠上下文解决的永远不要靠训练:
- 把要求写清楚、给两三个例子(上下文工程);
- 不够 → 加检索(RAG);
- 还不够 → 微调风格(LoRA);
- 需要它「做事」而不是「说话」→ 才上 Agent,并认真处理权限与失败。