Skip to content

背景

面对领域特定的任务时,实践者在将 LLM 适配到自己的用例时有三个基本杠杆可以动用:提示工程(Prompt Engineering)检索增强生成(Retrieval-Augmented Generation, RAG)微调(Fine-Tuning)。这三种方式代表了根本不同的方法——一个修改输入,一个修改检索上下文,一个修改模型权重本身。

理解它们之间的权衡是 LLM 应用开发中最基础的决策。选择不当会浪费时间、金钱,或让性能白白流失。本页面提供一个结构化的对比分析来指导这一决策。

策略定义

  1. 提示工程 —— 通过编写更好的提示词、指令和少样本示例来引导模型行为,无需更改任何代码或权重。这是最便宜、最快的杠杆。技术包括系统提示、角色指令、思维链(Chain-of-Thought)和上下文示例。

  2. 检索增强生成(RAG) —— 在推理时,从外部知识库检索文档并将其注入模型的上下文窗口。模型本身保持冻结;只有上下文发生变化。完整指南参见 Retrieval Augmented Generation

  3. 微调 —— 通过在领域特定数据上训练来更新模型权重,改变模型的内部表示和行为。包括全量微调(所有权重)和参数高效方法(如 LoRA,仅调整适配器权重)。详见 Fine-tuning

多维度对比表

维度提示工程RAG微调
知识整合非常有限——依赖模型的参数化知识 + 上下文中的少样本示例出色——动态、基于检索到的文档一般——将知识嵌入权重,但训练后为静态
行为修改有限——可引导语气/格式,但无法改变模型的核心行为弱——检索不改变模型行为强——可从根本上改变输出风格、格式、拒绝模式
实现复杂度无——零代码,纯文本中等——需要嵌入管道、向量数据库、检索逻辑高——需要训练管道、GPU、数据集整理
成本(每 token vs 前期)可忽略——无基础设施或训练成本中等——嵌入 + 向量数据库 + 每次查询更高的 token 消耗前期成本高——训练需 GPU 小时;每 token 推理成本较低
延迟影响无——与基础模型相同检索步骤增加延迟(通常 10–200ms)无——与基础模型相同(或用更小的微调模型更快)
数据需求3–10 个上下文示例知识库需 100+ 份文档500–10,000+ 标注样本以获得高质量结果
可维护性非常容易——仅需编辑文本中等——维护嵌入管道、更新文档困难——每次数据/行为更新都需重新训练
幻觉影响无缓解——依赖模型的参数化知识强缓解——回答基于检索上下文;AI Hallucination 率显著下降轻度缓解——模型可能记住事实,但在训练分布之外仍可能产生幻觉
可测试性容易——固定提示下具有确定性中等——检索质量有波动;需分别测试检索和生成困难——行为变化是涌现的;评估需要仔细留出验证集
定制深度仅表层中等——定制知识但不改变行为深度——为你的领域重构模型内部

详细分析

提示工程:第一道杠杆

提示工程始终是正确的起点。它不需要任何基础设施,不需要训练数据,通过精心编写的指令通常就能达到 80% 的期望效果。系统提示、角色扮演和少样本示例等技术在摘要、分类和简单信息提取等任务中效果显著。

适用场景: 你需要快速迭代,任务定义清晰,且模型的基础知识足够。也适用于在投入 RAG 或微调基础设施之前快速验证用例原型。

局限性: 提示工程有天花板。你无法仅靠提示词教会模型新的事实、改变其基本行为模式或保证一致的输出格式。长提示还会消耗大量 token 并可能削弱指令遵循能力。

RAG:知识密集型任务的最优解

当任务依赖于事实、文档或随时间变化的半结构化数据时,RAG 表现出色。通过将回答扎根于检索到的上下文,RAG 提供了引用来源、降低了 AI Hallucination,并能够利用模型在训练期间从未见过的知识源。

适用场景: 客户支持(基于产品手册)、法律文档分析、研究助手,以及任何事实准确性和可验证性比风格一致性更重要的应用。RAG 天然适合与 AI AgentsModel Context Protocol (MCP) 配合使用,以提供工具支持的知识。

相对于微调的关键优势: RAG 的知识通过更改文档库即可更新——无需重新训练。对于频繁更新的领域(如产品文档、监管规则),这是决定性的运维优势。

微调:行为与风格变更的最优解

微调改变的是模型如何思考,而不仅仅是它知道什么。这使得它成为输出行为比事实回忆更重要的任务的正确选择——例如格式遵循、人格一致性、语气控制,或降低已允许任务中的拒绝率。

适用场景: 需要遵循组织特定编码规范的代码生成、需要严格格式化的医疗记录摘要、需要一致品牌声音的面向客户的聊天机器人,或专门的分类任务。

成本权衡: 微调前期成本高昂(GPU 小时、数据集整理),但可以通过让较小的模型达到大模型的性能来降低每 token 成本。一个微调后的 7B 模型在狭窄任务上可以超越 GPT-4,而推理成本仅为后者的一小部分。关于高效部署微调模型的指导,参见 Model Inference & Deployment

决策框架

推荐的决策流程遵循从低到高复杂度的递进路径:

从这里开始


仅靠提示工程能解决吗? ───► 能 → 使用提示工程 ✅
    │ 不能

任务是否依赖特定知识             │
或频繁更新的信息? ───► 是 → 使用 RAG ✅
    │ 否                      │
    ▼                         ▼
任务是否需要一致的            如果知识有帮助,
输出格式、风格或行为?        也考虑使用 RAG

    ▼ 是

    使用微调 ✅


既需要知识又需要行为?


    三者组合使用(见下文)

经验法则: "先试提示工程 → 如果任务偏重知识则试 RAG → 如果需要行为/风格变更则试微调。"

组合策略

大多数生产系统会协同使用全部三种策略。它们并非互斥——每种策略解决不同维度的问题:

层级策略作用
系统指令提示工程设定行为、角色、语气
检索上下文RAG提供事实、依据、引用
模型权重微调强制输出格式、领域风格、底层行为

真实案例:

  • 客户支持聊天机器人: 提示工程定义客服人格和对话流程。RAG 检索产品文档、退货政策和账户特定数据。微调让模型学会遵循严格的 JSON 响应模式并避免编造政策细节。

  • 代码生成工具: 提示工程提供任务描述和语言约束。RAG 检索相关库文档、API 签名或内部代码片段。微调确保生成的代码遵循组织的风格指南、命名约定和架构模式。

  • 医疗摘要: 提示工程指导模型按临床记录结构输出。RAG 从 EHR 数据库中拉取患者病史、化验结果和药物相互作用信息。微调让模型掌握医学术语、缩写约定和合规要求(HIPAA 安全输出)。

常见误区

  1. 在 RAG 就够用的情况下过度投入微调。 微调需要 GPU 时间、精心的数据集整理和持续维护。如果你的任务主要是回答文档集中的问题,RAG 几乎总是更好的首选投资。

  2. 低估提示工程的上限。 许多团队在没有穷尽提示工程选项的情况下就直接跳到 RAG 或微调。一个精心设计的系统提示加上 3–5 个精心挑选的少样本示例,在基准任务上可以媲美简单的 RAG 管道。先把提示词打磨到位。

  3. 在向上升级之前没有迭代优化 RAG 质量。 如果你的 RAG 管道检索质量差(错误的 chunk、糟糕的嵌入、缺失的文档),微调无法修复它——而且你将无法判断问题出在检索还是生成上。独立衡量检索召回率。关于选择检索后端的指导,参见 Embedding Models / Vector Representations

  4. 忽视耦合效应。 任何一项策略的变更都可能影响其他策略。一次改变输出风格的微调运行可能会破坏精心调好的 RAG 提示。将提示词、检索配置和适配器权重作为一个整体进行版本管理。

  5. 认为微调可以减少幻觉。 如果训练数据包含矛盾或模型过拟合到虚假模式,微调实际上可能增加幻觉风险。RAG 是更可靠的幻觉缓解策略。

与 RAG vs 长上下文的关系

本对比(RAG vs 微调 vs 提示工程)与 RAG vs Long Context 问题是正交的。RAG vs 长上下文回答的是:既然我需要注入知识,是应该检索还是把所有内容塞进长上下文窗口? 而 RAG vs 微调 vs 提示工程回答的是:我应该使用哪种基本策略(或组合)来将模型适配到我的任务?

你可以处于这个 2×2 矩阵中的任意一格:

短上下文足够需要长上下文
需要知识纯 RAGRAG + 长上下文 或 仅长上下文
需要行为微调 + 提示工程微调 + 提示工程 + RAG
两者都需要三者组合三者组合 + 长上下文考量

两个决策框架是互补的。首先决定是否需要 RAG、微调或提示工程(本页面)。如果选择了 RAG,再通过 RAG vs Long Context 对比决定使用哪种 RAG 变体

来源

  • Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (NeurIPS 2020) —— RAG 奠基性论文
  • Hu et al., LoRA: Low-Rank Adaptation of Large Language Models (ICLR 2022) —— 参数高效微调
  • Wei et al., Chain-of-Thought Prompting Elicits Reasoning in Large Language Models (NeurIPS 2022) —— 提示工程的重要进展
  • Borgeaud et al., Improving Language Models by Retrieving from Trillions of Tokens (ICML 2022) —— RETRO,大规模检索
  • OpenAI, GPT-4 Technical Report (2023) —— 上下文学习能力
  • LangChain RAG Evaluation Guide —— RAG 质量评估实践指南
  • Anthropic Prompt Engineering Guide —— 提示工程最佳实践

AI Knowledge Base — 持续积累