跳到主要内容

把少样本示例用对

进阶

少样本提示是指在让模型处理一个新例子之前,先给它看几个做好的任务范例。做得好的话,这是锁定某种格式、风格或边缘情况行为的最快方式——往往比用语言描述你想要什么更有效。

为什么示例胜过描述

"简洁而友好"很含糊。展示两份简洁、友好的输出则毫不含糊。模型会对这些示例进行模式匹配,并延续这个模式。

一条清爽的少样本提示词

Classify each support message as: billing, bug, or feature.

Message: "I was charged twice this month."
Label: billing

Message: "The app crashes when I upload a photo."
Label: bug

Message: "Can you add dark mode?"
Label: feature

Message: "My subscription renewed at the wrong price."
Label:

模型掌握了这个模式;它会把最后一行补完。

如何挑选与格式化示例

  • 覆盖多样性,尤其是你在意的边缘情况。如果某个类别罕见或棘手,就把它包含进来。
  • 保持示例格式一致——相同的结构、相同的标签、相同的分隔符。不一致只会教出不一致。
  • 2 到 5 个往往就够了。 对于困难/多变的任务,多一些会有帮助,但会消耗 token,而且可能过拟合到示例的怪癖上。
  • 顺序可能很重要——把最清晰的示例放在最前面;对于分类任务,不要把同一标签的示例全都聚在一起。
  • 使用分隔符(或 XML 标签)把示例与实际输入分开。

零样本对比少样本

先试试零样本(直接提问)——现代模型很强。当你需要某种特定的格式/风格,或任务含糊不清时,再加上示例。如果零样本已经做得很到位,就不必为示例买单。

:::tip 示例就是数据——保持它们干净 一个错误或马虎的示例会主动教出错误的东西。要像对待训练数据一样去精心筛选它们。 :::

下一步