一、核心概念:两种“调教”大模型的思路

在和大模型(如 GPT、LLaMA)打交道时,我们主要通过两种路径让模型更好地完成任务:提示词工程微调。可以通俗地理解:提示词工程是“使用说明书”,而微调是“岗前培训”

二、权衡之术:何时用提示词工程?

提示词工程的最大优势在于快速、低成本、高灵活性。它几乎适用于所有你能清晰描述规则的简单到中等复杂的任务。当你面对一个新想法、新业务场景,或者数据极度匮乏时,这是第一选择。

例如,让模型扮演一个“文案助手”。你无需微调,只需在提示词中明确角色、任务和格式要求,模型就能很好地执行。它的核心在于挖掘基础模型已有的能力边界。但它的局限性也很明显:面对高度专业化、需要特定知识或固定风格的任务(如法律文书生成、特定风格的诗歌),仅仅通过提示词“指挥”可能效果不稳,且每次调用都需要发送较长的提示词,增加了推理成本和延迟。

提示:提示词工程是“零样本”或“少样本”学习的典型实现。一个好的提示词,本质上是在模型内部复杂的“可能性空间”中,为你想要的结果开辟一条最清晰、概率最高的路径。

三、深度定制:何时考虑微调?

当提示词工程无法稳定、高效地满足你的核心业务需求时,就应该考虑微调。其核心价值在于深度定制、性能优化与成本转移

深度定制体现在让模型真正掌握你的专业术语、数据格式和内部逻辑。例如,一家医疗公司想用模型自动生成病历摘要,病历的书写习惯、缩写、重点与通用文本差异巨大。通过微调,模型能学到这种“医疗语感”。性能优化指微调后的模型在特定任务上,通常比用复杂提示词的通用模型表现更精准、更稳定。成本转移则指将提示词工程的成本(设计、调试、长提示词的推理开销)一次性转化为训练成本,之后的推理可以使用更简洁的提示。

四、实战对比:从一个分类任务看区别

假设我们需要构建一个客服意图分类器,将用户输入分为“咨询物流”、“申请退款”、“产品咨询”等几类。

采用提示词工程,你会这样设计:

# 提示词工程示例:使用清晰的指令和少样本示例
prompt = """
你是一个客服意图分类专家。请将以下用户输入分类到给定的类别中。
类别:['咨询物流', '申请退款', '产品咨询', '其他']。
请只返回类别名称。

示例:
输入:我的快递到哪了?三天没更新了。
输出:咨询物流

输入:你好,我想退掉上周买的那个鼠标。
输出:申请退款

输入:请问这个手机壳适合iPhone 15吗?
输出:产品咨询

现在,请分类以下输入:
输入:我刚下的单,怎么修改收货地址?
输出:
"""
# 将prompt发送给大模型API

采用微调,你需要准备一个包含 {"text": "用户输入", "label": "类别"} 的数据集,然后对基础模型进行训练。训练完成后,推理时可以这样用:

# 微调后模型推理示例:提示词可以非常简洁
# 假设我们已经用一个有标签的客服对话数据集微调了模型
prompt = "分类以下用户输入:我刚下的单,怎么修改收货地址?"
# 发送给已微调的模型
# 模型可能直接输出更准确的分类,甚至学习到“修改订单”属于一种“售后咨询”新类别

五、成本与资源:无法绕开的现实考量

选择哪条路,必须算一笔账。

一个简单的决策流程可以是:先尝试最好的提示词工程。如果达不到要求,再评估是否有足够高质量的数据(通常几百到上万条)和算力预算进行微调。在很多业务场景中,用提示词工程做到80分,再用少量数据微调到95分,是更经济的策略。

六、协同与演进:未来的实践范式

提示词工程和微调并非互斥,而是协同演进的。一个成熟的AI应用可能是这样的:

  1. 用微调打造“业务专精底座”:使用公司内部知识、历史数据对通用大模型进行第一次微调,形成一个懂行的“领域专家模型”。
  2. 用提示词工程进行“任务调度”:对于不同的具体子任务(如写邮件、做摘要、回答问题),使用精心设计的提示词来调度这个领域专家模型。

随着技术的发展,也出现了一些折中方案,如 LoRAQLoRA 等参数高效微调技术,它们通过只调整模型一小部分参数,大幅降低了微调的算力门槛,使得微调变得更加平民化。