少样本提示:用示例引导输出
初级7 分钟阅读提示词工程

少样本提示:用示例引导输出

当文字说明仍留有解释空间时,向模型展示有代表性的输入输出示例,并测试它们能否提高你这项任务的一致性。

您应该能够做到的事情

示例可以把抽象要求变得具体。使用一小组有代表性的输入输出对,再用真实案例测试并修改。

仅在此浏览器中保存。
本文内容

当描述留下太多解释空间时,直接向模型展示你想要的输出示例。一小组具有代表性的输入输出对,可以比单用形容词更具体地说明语气、格式或分类边界。

这种技巧称为少样本提示。这个名称来自机器学习研究:最初的GPT-3论文研究了在上下文中提供任务和示例、但不针对任务更新参数时,模型会有怎样的表现(Brown等,2020)。该论文也发现了一些少样本表现不佳的任务,因此示例是一项需要评估的技巧,而不是普遍有效的升级。

本文将通过完整示例介绍什么是少样本提示、何时使用,以及如何进行测试。

为什么示例比描述更有效

做一个思想实验。假设你希望某个人模仿公司营销文案的语气。你可以说:“友好但专业,亲切但不随便,自信但绝不傲慢,语言通俗但不过度简化。”听完这四个短语,对方可能会点头,却仍写出与你实际想要的内容不同的文案。

但如果你改为展示三段已经准确体现这种语气的短文,对方就会有更具体的目标。他们可以比较用词、句长和结构,而不是只解读形容词。

模型也可以这样使用示例。“友好”“专业”“自信”等形容词存在多种合理解释。具体示例会显露指令没有点明的选择。OpenAI的提示工程指南将少样本学习描述为用少量输入输出示例引导模型,并建议展示多样化的可能输入及其理想输出。它能否改善结果,取决于模型、任务、示例和评估标准。

何时使用少样本提示

在以下情况下,示例值得测试:

匹配特定语气。“用我们公司的口吻写。”如果简短描述仍留有解释空间,也应展示有代表性且已经采用的示例。

**生成格式一致的内容。**产品描述、错误消息、API响应、周报或状态更新等输出,每次都需要保持相同格式。既要展示格式,也要用文字说明。

小众或不寻常的输出。“像[a specific person you follow]那样为X撰写帖子串。”“为内部工具博客生成标题。”“按照我们团队的习惯编写代码注释。”这些内容都有难以准确表述的特定惯例。

在翻译、总结或改写中复现某种风格。“按照我接下来给出的三个示例的风格改写这段内容。”

**任何你总以同一种方式纠正的内容。**如果你发现自己每次都朝同一个方向编辑模型输出,例如缩短篇幅、替换词语或收紧结构,就向模型提供修改后的版本作为示例。

基本结构

一条实用的少样本提示包含三部分:简短指令、具有代表性的示例集,以及新任务。

为B2B SaaS工具生成一句话产品描述。模仿以下示例的风格。

示例1: 产品:ProjectHub 描述:为那些厌倦了在五种工具之间来回切换、只为完成一项工作的项目团队打造的共享工作空间。

示例2: 产品:TimeFlow 描述:为讨厌工时追踪应用的人打造的工时追踪应用。

示例3: 产品:ClearStack 描述:一款把电子表格转化为决策的报告工具。

现在为以下产品写一句: 产品:PromptDesk 描述:

目标是简短、立场鲜明、略带俏皮,并围绕某个具体痛点或受众展开。请根据这些标准检查结果;示例可以引导模型,但不能保证描述质量。

三个完整示例

下面介绍三种示例可以让目标更清晰的情境。

1. 采用团队风格的缺陷报告说明

假设你的团队以特定方式编写Jira工单:简短、关注用户影响,而且不使用行话。你希望AI起草符合这种风格的工单。

按照以下格式起草Jira工单描述。

示例1: 用户通过Google登录时,在界面更新前会短暂看到错误的语言。Chrome桌面版必现。不影响操作,但体验不流畅。

步骤:

  1. 退出登录
  2. 使用Google重新登录
  3. 观察页面最初的闪烁

预期:语言保持一致 实际:短暂显示(似乎是默认语言的)英语

示例2: 在超过1000行的周报中,“导出为CSV”按钮会返回空文件。行数较少的报告可正常导出。

步骤:

  1. 打开包含1000多行的周报
  2. 单击“导出”→“CSV”
  3. 打开下载的文件

预期:包含全部数据 实际:文件大小为0字节

现在为以下问题起草一份: 问题:Safari用户反馈,点击链接后移动端菜单无法关闭。刷新后恢复正常。看起来像焦点陷阱问题。

请检查草稿是否符合要求的结构和语气,并忠于已提供的事实。示例让目标变得明确,但模型仍可能漏掉某个字段,或推断并未提供的细节。

2. 按品牌口吻改写

假设你有一封邮件草稿,希望按照某种品牌口吻重写。“写得更亲切些”存在解释空间;示例可以更具体地说明目标语域。

按照以下示例的口吻重写下面的邮件。口吻要求:直接、不说公司套话、略带自省,绝不使用“synergy”或“leverage”。

示例1:“我们将发布日期推迟了一周。自动扩缩容变更比预想的更大。新的发布日期:22日,星期五。”

示例2:“能帮个小忙吗:快速检查一下这份草稿?主要看第二节。我觉得那部分言过其实,但拿不准。”

示例3:“提前说一声:明天开会时,我会要求调整截止日期。算下来时间根本不够,我宁愿现在提出来,也不想到时无法按期交付。”

用相同口吻重写以下内容:

[paste your draft]

使用前,请将改写结果与示例及原始事实进行比较。如果你的ChatGPT套餐和工作区允许创建GPT,可以把示例放入自定义GPT的指令;OpenAI建议在Preview中测试配置好的GPT,因为指令不能保证每次运行都产生完全相同的输出。

3. 结构化提取

假设你有一批获准处理的PDF发票,希望用一款获准使用的模型将其中数据提取为整洁格式。确认工具和数据流获准处理这些文档后,上传一份发票,提供理想输出示例,再要求模型处理其余发票。

严格按照以下JSON格式从PDF发票中提取数据。

示例:

输入:[invoice PDF where vendor is “Lufthansa”, date is 2026-04-12, total is 423.50 EUR, line items are flight + bag fee]

输出:

{
  "vendor": "Lufthansa",
  "date": "2026-04-12",
  "currency": "EUR",
  "total": 423.50,
  "line_items": [
    {"description": "Flight TLL-LHR", "amount": 387.00},
    {"description": "Checked bag", "amount": 36.50}
  ],
  "category": "Travel"
}

现在从这份发票中提取数据:[attach new PDF]

示例规定了目标JSON模式,但你仍需按模式校验结果,并与发票核对。不要把看起来可信的JSON对象当作金额、日期或明细项已正确提取的证据。

少样本提示的常见错误

需要留意三类错误:

**示例彼此矛盾。**如果示例的风格不同,或对类似输入使用不同标签,模型可能会复现这种模糊性。既要保持预期规则一致,也要覆盖有意义的输入差异。

**示例未覆盖有意义的差异。**不存在普遍最佳的数量。先用能展示模式和重要边缘情况的最小示例集,再根据代表性测试增加或删除示例。每个示例都会占用上下文,并可能引入另一种需要模型兼顾的模式。

**示例包含你不希望模型复制的错误。**模型可能复现示例中的拼写错误、生硬措辞或无意采用的结构。使用前先清理示例集,并检查新输出,不要假定只会迁移预期模式。

一个特别隐蔽的错误是:只展示输入示例,不展示输出。“以下是我想让你为其撰写标题的三篇文章:[three articles]。”这是零样本提示,不是少样本提示。模型没有见过好标题是什么样。对比下面的写法:

以下三篇文章采用了我喜欢的标题风格。请模仿这种风格:

示例1:[article] → 标题:“……” 示例2:[article] → 标题:“……” 示例3:[article] → 标题:“……”

现在为以下文章写标题:[new article]

少样本的基本单位是一组“输入 → 输出”。没有输出一侧,模型就没有可遵循的目标模式。

如何建立示例库

开始使用少样本提示后,你会逐渐积累多组“行之有效的示例”。把它们保存下来:

  • Custom GPTs / Claude Projects:将测试过的示例保存在范围明确、可审查和更新的指令中。
  • 文本片段管理器(TextExpander、Raycast、Espanso):用快捷方式展开示例。
  • 按用途整理的笔记文件(“品牌口吻示例”“工单格式示例”“标题示例”),需要时可以快速复制。

随着时间推移,这可以成为一套以团队实际接受的输出为依据、针对具体任务的示例库,比没有在你的工作上测试过的通用提示词套装更实用。

示例胜过形容词

能精确描述输出时,就描述它。当某种风格一看便知却难以完整说明时,添加有代表性的输入输出示例。将提示词变成可复用工作流之前,还要用常见情况和边缘情况进行测试。

示例可以澄清形容词留下的模糊之处。下次遇到语气或格式很重要的提示词时,试用这种技巧;只有测试结果确实改善时才保留它。

继续阅读

通过下一篇文章继续沿着相同的学习路径进行学习。