很多人第一次搭 AI 功能,名字还没分清就先纠结「要不要微调」。结果拿着几十页文档去调模型,钱花了效果还不如把资料检索出来塞进上下文。这篇不讲原理,只给判断顺序:先问数据在不在手边、变不变、格式要求多严,再决定走哪条路;每条路什么时候不适用,也一并说清。
很多人第一次搭 AI 功能,名字还没分清就先纠结「要不要微调」。结果拿着几十页文档去调模型,钱花了,效果还不如把资料检索出来塞进上下文。其实这三条路改的东西根本不一样,判断顺序也不该从「哪个高级」入手。
这篇不讲原理,只给判断顺序:先问答案靠不靠你自己的资料、资料多久变一次、对输出格式和语气的要求有多严,再决定走哪条路。每条路什么时候不适用,也一并说清。
先分清三条路各自在改什么
提示词改的是「这次怎么问」,不动模型也不动数据,改完立刻生效;RAG 改的是「回答前拿到什么材料」,把外部资料检索出来拼进上下文,资料更新只要重新入库;微调改的是「模型自己的习惯」,把风格、格式、领域表达压进权重。三者不是互相替代,而是成本和确定性各不同。
| 路线 | 改的东西 | 见效速度 | 主要代价 |
|---|---|---|---|
| 提示词 | 提问方式与约束 | 改完立刻 | 调试时间,长上下文占额度 |
| RAG | 回答前拿到的材料 | 接入检索后即生效 | 清洗切片、检索质量维护 |
| 微调 | 模型自己的习惯 | 训练完才生效 | 样本准备、训练、底模升级后重跑 |
按这四步问自己,路就出来了
- 问知识来源答案只靠模型常识就能答,走提示词;答案依赖你自己的文档、库表、工单,先考虑 RAG。
- 问变更频率资料每周都在动,RAG 更省事;规则和格式长期不变,提示词里写死也行。
- 问要求类型要固定输出结构、固定语气、固定判断口径,先试提示词加结构化输出;效果不稳再考虑微调。
- 问验证成本没有一批可复现的测试用例,三条路都别急着上,先攒用例。
这四步里最容易跳过的是第四步。没有测试集,你改完提示词、换完检索、训完模型,都只能说「感觉好点了」,出了问题也说不清是哪一层退化的。攒测试集这件事,越早做越省事。
RAG 的适用面与不适用面
- 适用:文档问答、内部知识库、客服话术、按权限过滤的资料检索,且回答需要能指回原文出处。
- 不适用:纯风格改写、纯格式转换、纯推理题,检索到的资料帮不上忙还白占上下文。
- 接入前先解决进料问题:扫描件、表格、乱码 PDF 直接入库,检索再准也答不对,先做清洗和切片。
- 检索效果差时先调切片、加关键词混合检索,别一上来就换模型。
还有一个常被忽略的边界:如果答案是「查库算出来的」,比如某条订单当前状态,RAG 也不合适,那是工具调用或直接查接口的活。判断标准是看答案来自文本还是来自实时系统。
微调什么时候才值得做
微调不是「让模型更懂我们行业」的万能钥匙。它的强项是压风格、压格式、压判断口径,让输出稳定到不需要每次都长篇解释。事实性知识仍然可能记错,该做的引用和兜底话术还是要留。
| 信号 | 倾向微调 | 倾向 RAG 或提示词 |
|---|---|---|
| 任务是否长期稳定同一类 | 是 | 否,任务还在变 |
| 干净样本数量 | 足够多且可持续补 | 只有几十条 |
| 对输出格式与语气 | 要求极严且反复出现 | 偶尔需要 |
| 知识更新频率 | 基本不变 | 每周或每月都在动 |
| 是否要换更小的模型 | 延迟和成本必须压下来 | 当前模型够用 |
做之前先算清账:训练只是开始,后续每次底模升级都要重跑一遍,这部分人力要提前算进去。成本口径别凭印象,可以到 /compute/finetune 核对当时的对照说明。
落地的第一步永远是小规模对比
别在真实流量上做实验。先把一批真实问题固定成测试集,三条路线各跑一遍,人工打分记下来。关注四个指标:答对率、格式合格率、单次成本、首字延迟。权衡点因业务而异,价格与延迟基线可以到 /tools/speed-test 量当时的数字。
上线后留观测:把检索命中的片段、最终答案、耗时记进日志,出问题才有得复盘。方案要能退:检索挂了降级成纯提示词回答,模型换源时接口层不跟着改,挑框架可以参考 /stacks/frameworks 里的目录。
下一步把三条路线的能力边界、价格口径和靠谱中转站放在一张表里对照,比自己拍脑袋猜快得多;先去资料库把当前数字核一遍再来定方案。→常见问题
只做提示词不接检索,真的够用吗?
如果你的问题不需要最新文档、不涉及内部资料、答案靠模型常识就能说清,够用,而且上线最快。一旦用户开始问「我们合同里怎么写的」这类只有你手里才有的资料,提示词就只能靠模型瞎猜,这时候该上 RAG 而不是继续改措辞。
RAG 和微调能不能一起用?
能,而且常见。先用 RAG 保证事实来自你的资料,再用少量样本微调把输出格式和语气压稳,两者职责不重叠。但别一开始就双管齐下,先单独验证 RAG 的检索质量,检索不准时微调救不了。
小团队没资源,应该先做哪个?
顺序基本固定:提示词加结构化输出打底,确认需求真的依赖私有资料再上 RAG,微调放到最后,等任务量稳定、样本攒够再说。中途每步都用同一批测试用例对比,没变好就不要往下一步走。