S2·对话之道

Few-shot Prompting

提示词与上下文3 分钟

Few-shot Prompting 是在 Prompt 中给出几个示例,让模型"看样学样"。它是连接"零样本"和"微调"之间的高效桥梁——不需要训练,只需要示例。

① 一句话定义

Few-shot Prompting(少样本提示)是在 Prompt 中提供少量示例(通常是 2-5 个),让模型通过这些示例理解任务格式和期望输出,而无需任何模型训练或参数更新。

② 为什么重要

Few-shot 是 Prompt Engineering 中最强大的技术之一:

  • 零成本定制:不需要微调,不需要标注数据集,几个例子就能让模型适应特定任务。
  • 快速原型验证:产品经理可以在几分钟内验证一个 AI 功能的想法是否可行,而不需要工程师介入。
  • 格式一致性:当需要模型遵循特定输出格式时,给 2-3 个格式示例比写一长串格式说明更有效。

③ 核心机制

Few-shot 利用了 LLM 的 In-Context Learning(上下文学习)能力:

1. 模式匹配:模型在上下文窗口中看到输入-输出的示例对后,会自动"捕捉"到其中的模式(格式、风格、逻辑),并将其应用到新输入上。

2. 注意力引导:示例将模型的注意力引导到正确的"任务空间"——不是生成通用回答,而是执行特定类型的转换。

3. 示例选择很关键:示例的质量 > 数量。好的示例应该是:格式一致、覆盖边界情况、与当前输入相关。随机选示例的效果可能比不提供示例还差。

4. 与 Zero-shot 的对比:Zero-shot 是"请做 X",Few-shot 是"这是做 X 的例子:A→A', B→B',现在请对 C 做同样的事"。对于复杂或模糊的任务,Few-shot 效果显著优于 Zero-shot。

④ 典型应用场景

文本分类:给几个分类示例,模型就能按同样逻辑分类新文本。

格式转换:给几个"自然语言 → JSON"的示例,模型就能自动提取结构化信息。

风格模仿:给几段目标风格的文字,模型就能用类似风格写作。

代码翻译:给几个 Python → TypeScript 的示例,模型就能批量转换。

⑤ 常见误区

误区:示例越多越好
✅ 实际上:3-5 个精心选择的示例通常足够。过多示例消耗 Token 成本,还可能导致模型过拟合到示例中的噪音。

误区:Few-shot 可以替代微调
✅ 实际上:对于需要高度专业化的任务(如医学文献分析),Few-shot 的准确率通常不及专门微调的模型。它是"快速见效"的手段,不是"终极方案"。

Few-shot 是"教"AI 做新任务的最快方式——不需要写代码,不需要训模型,几个好例子就够了。