首页 / 文章 / 提示工程:无需微调即可操控大语言模型

提示工程:无需微调即可操控大语言模型

利用角色设定、少样本示例、思维链以及格式约束来引导模型——并判断仅靠提示词是否已达极限,或是需要进一步微调。

748 词

微调是通过在带标签的示例上进一步训练来调整预训练模型。这种方法依然非常有效,但并非总是必需的。现代大型语言模型往往仅通过精确的指令就能给出良好响应——无需训练过程、无需带标签的语料库,也无需GPU。这种技术被称为提示工程,现已成为当今自然语言处理领域中最实用的技能之一。

引导模型的两种方式

微调与提示工程通过截然不同的手段来实现同一个目标——即让模型表现出实用的行为。

微调会修改模型权重,而提示则不会改变权重,而是提供更清晰的指令和上下文,让模型能更精准地运用已有的知识。像GPT这类系统已经吸收了大量文本信息,因此具备很多潜在能力;提示的作用往往就是激活其中合适的部分。其实际优势在于速度:团队可以在几分钟内尝试不同的行为调整,而无需等待微调完成。

from openai import OpenAI
client = OpenAI()response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[
        {"role": "system", "content": "You are a helpful sentiment classifier. Respond with only 'positive' or 'negative'."},
        {"role": "user", "content": "I loved this movie"}
    ]
)print(response.choices[0].message.content)

零样本提示与少样本提示

早期的设计决策之一就是在实际任务之前需要展示多少示例,或者是否需要展示示例。

零样本提示仅说明任务要求并依赖预训练模型来完成。对于情感标注或简单总结等常见任务,这种方法的效果出奇地好。而少样本提示则会先展示几组输入-输出对,从而引导输出的格式、语气以及边缘情况的处理方式——尤其适用于那些不常见或领域特定的任务。每个示例都会消耗令牌,从而增加成本并减少用于实际输入的空间。通常保持少样本集简短且具有代表性,比放入大量几乎重复的示例要好。

prompt = """
Classify the sentiment of each review as positive or negative.
Review: "Absolutely fantastic, exceeded expectations!"
Sentiment: positiveReview: "Complete waste of money, broke in a week."
Sentiment: negativeReview: "I loved this movie"
Sentiment:
"""response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}]
)print(response.choices[0].message.content)

优秀提示的结构

除了零样本/少样本的选择之外,当提示用于实际应用而非一次性问题时,合理的结构也能起到重要作用。

明确指定角色能够确立基调与视角。具体的指令可以消除对预期结果的模糊性。将上下文或输入内容与指令分开,有助于模型区分二者。明确的格式规则——例如带有命名键的JSON格式——比依赖一致的自由文本更便于解析响应。在任务较为特殊时,几个精心挑选的示例能够进一步规范模型的行为。

值得了解的提示技巧

对于难度较高的任务,有几种有效的模式:

  • 思维链提示——要求模型在给出最终答案之前逐步推理;这种方法通常对数学应用题和多步骤逻辑问题很有帮助。
  • 角色扮演提示——为模型指定特定身份(“你是一名高级安全审计师”),以此影响其回答的深度与风格。
  • 输出格式约束——当需要其他系统处理答案时,要求使用JSON或XML格式。
  • 一致性——对同一提示生成多个答案,当结果不同时保留出现频率最高的那个。
  • 仅靠提示词不够时

    提示词的使用存在明显局限。它无法创造模型从未见过的信息,受上下文窗口大小限制,而对于大规模的特定任务,经过微调的模型往往比反复运行复杂提示词更经济且结果更稳定。许多实际系统会结合两者:先对核心任务进行微调,再通过提示词来提升灵活性并处理特殊情况。将提示词视为控制手段,而将微调视为在仅靠控制无法实现进一步扩展时的性能提升方式。

    其带来的影响

    提示工程缩短了从创意到可用原型的路径——那些过去需要标注数据与训练的工作,如今往往只需一个出色的提示就能在几分钟内完成。但仅靠提示仍存在局限,尤其是当答案需要使用模型从未训练过的数据时。

    下一个突破点——通过语义而非关键词进行搜索,再将检索到的文本输入生成模块——正是嵌入技术与检索增强生成(RAG)的领域。