微调语言模型和改进提示词通常被描述为替代方案,但它们解决不同的问题。了解何时使用哪个——以及何时两者都跳过改用检索——是LLM应用开发的关键决策。
提示词工程能做什么
精心制作的系统提示可以显著改变模型的行为:其角色、输出格式、约束、它涉及的主题和语气。对于大多数应用需求,提示词工程已经足够,并且始终是正确的起点。它不需要数据、不需要训练,可以在几分钟内迭代。局限性:你无法教会模型它没有的知识,你无法永久改变其核心推理风格,以及提示词会给每个请求增加延迟和成本。
微调实际上做什么
微调通过在精选的示例数据集上训练来更新模型的权重。它适用于:一致地教授非常特定的输出格式(具有固定模式的JSON、特定领域语言)、教授基础模型无法可靠地通过提示产生的独特语气或风格,或通过将指令融入模型行为来减少提示词大小。它不适用于:教授新的事实知识(RAG对此更好)、修复根本性的模型限制,或以比提示词更低的成本实现结果。
RAG作为知识的更好替代方案
检索增强生成(RAG)——从向量数据库检索相关文档并将其包含在提示中——对于”模型需要知道X”几乎总是比微调更好。基于知识的微调成本高,当知识变化时需要定期更新,并且比直接在上下文中包含相关文本产生的结果更不可靠。RAG是大多数知识基础需求的正确答案。
实际决策树
1. 你能用更好的系统提示解决吗?从这里开始——始终如此。2. 你需要模型一致地知道特定的专有事实?使用RAG。3. 你需要提示无法可靠产生的高度特定输出格式或风格?考虑微调。4. 微调应该是最后探索的选项,而非第一个。




