关键数据
- 1少样本的常见区间: 2 到 10 个示例,超过约 8 个后收益通常趋平
- 2出处: Brown 等人 (2020)《Language Models are Few-Shot Learners》——1750 亿参数的 GPT-3 论文
- 3GPT-3 报告的提升: TriviaQA 上零样本 64.3% → 少样本 71.2%
- 4token 成本: 5 个约 120 token 的示例,会给每次请求增加约 600 个输入 token
- 5提示缓存: 静态少样本块通过 Claude 的 prompt caching,可将重复输入成本降低最多 90%
- 6上线门槛: 在 50 个测试样例上带来 10 个百分点及以上提升时,再把少样本投入生产
什么是零样本提示
📍 In One Sentence
零样本提示只提供任务指令、不提供任何上下文示范,完全依赖模型的预训练和指令微调能力。
💬 In Plain Terms
零样本就像告诉别人要做什么,然后相信对方本来就会做。没有范例,只有指令。
零样本提示要求模型仅凭一条清晰的指令完成任务,提示词里不放任何示例。 模型依靠的是预训练与对齐阶段习得的通用知识和指令遵循能力。
零样本上手快,因为你无需设计和维护示例对。它适合较宽泛的任务,例如通用问答、简单分类、摘要或直白的翻译——这些场景下仅凭指令通常就够用。
什么是少样本提示
📍 In One Sentence
少样本提示在指令前放置一小组输入—输出示范,使模型在上下文中推断任务模式,而不更新任何权重。
💬 In Plain Terms
少样本就是先给对方看三个做好的例子,再让他做第四个。模型会照着看得见的模式来做。
少样本提示在指令之外附上少量输入—输出示例,让模型从具体示范中推断任务模式。 实践中,少样本通常指 2 到 10 个示例。
这些示例相当于提示词内部的一个微型训练集,指引模型如何理解含糊任务、特殊格式或行业术语。当你需要某种风格、结构或通用指令表达不出的细微行为时,少样本尤其有效。
这里没有任何训练发生。示例只在一次调用期间存在于上下文窗口中,调用结束即被丢弃——这正是它被称为上下文学习而非微调的原因。
核心差异:零样本 vs 少样本
两者的差别主要体现在准备成本、特定任务上的准确率,以及跨用例的可扩展性。 它们用的是同一个模型,只是用示例设计的投入换取更好的任务对齐。
维度 | 零样本 | 少样本 |
|---|---|---|
| 提示词中的示例 | 没有 | 2 到 10 个以上代表性示例 |
| 上手速度 | 很快,无需整理示例 | 较慢,示例需要挑选和维护 |
| 数据要求 | 不需要带标签的示例 | 至少需要少量带标签示例 |
| 窄任务准确率 | 通常偏低或较笼统 | 在特定领域通常更高也更稳定 |
| 输出格式控制 | 取决于你能把格式描述得多精确 | 很强,示例本身就是格式规范 |
| 每次调用的输入 token | 只有指令 | 指令加全部示例,每次调用都要发送 |
| 跨任务扩展性 | 扩展性高,新增任务很容易 | 扩展性较低,每个任务可能都要自己的示例 |
何时用零样本
当你追求速度、手头没有带标签示例、且任务比较通用时,就用零样本提示。 它非常适合作为首轮尝试或基线。
典型的零样本场景:
- 通用问答、简单摘要和基础情感分类。
- 任务形态尚未定型时的快速试验。
- 缺少整理好示例的新领域或新语种。
- 对成本敏感的大流量管线——每多一个输入 token,都会在数百万次调用中被放大。
何时用少样本
当任务专业性强、对格式敏感或风险较高,而你又能提供优质示例时,就用少样本提示。 这类场景下,示例带来的可靠性提升远超纯指令。
常见的少样本场景:
- 标签和措辞必须精确的领域分类或抽取(法律、医疗、金融)。
- 结构严格的任务,例如从杂乱文本中抽取结构化 JSON。
- 多语言或本地化任务——每种语言给几个示例即可处理习语与文体。
- 公司文风与语气,"照这样写"往往比描述更容易传达。
- 仅凭指令容易跑偏格式的小模型或本地部署模型。
示例:零样本与少样本提示词
把同一个任务的两种提示词放在一起,两者的实际差别就一目了然。 这里我们按意图对客服工单做分类。
糟糕的提示词——没有结构
"看看这条客服工单,告诉我它讲的是什么。"
零样本提示词
"请把下面这条客服工单归入以下类别之一:`billing_issue`、`login_problem`、`feature_request`、`bug_report` 或 `other`。工单:"我今天试了三次重置密码,链接每次都提示已过期。" 只输出类别名称。"
少样本提示词
"请把每条客服工单归入以下类别之一:`billing_issue`、`login_problem`、`feature_request`、`bug_report` 或 `other`。只输出类别名称。示例 1:工单:"这个月你们对同一个订阅收了我两次费。" 标签:`billing_issue` 示例 2:工单:"每次点击'导出报表'都没有反应,刷新页面也一样。" 标签:`bug_report` 示例 3:工单:"能不能支持把报表直接导出到 Google Sheets?" 标签:`feature_request` 现在请对这条工单分类:"我今天试了三次重置密码,链接每次都提示已过期。"
少样本版本把模式明确展示出来,对语义微妙或表述混乱的工单,分类质量通常会更好。
示例质量决定少样本的效果
三个精选示例常常胜过十个高度雷同的示例,因为模型是从你展示的多样性中学到任务边界的,而不是从数量中。 大多数令人失望的少样本结果,问题出在示例挑选上,而不是示例数量。
- 1覆盖整个范围,而不只是简单情况。 把含糊的工单、极短的工单、写得很差的工单都放进去——真正在生产环境出问题的正是这些输入。
- 2平衡标签分布。 如果五个示例里有四个是 `bug_report`,模型就会过度预测 `bug_report`。让每个类别的占比大致相当。
- 3打乱顺序。 模型对靠后的示例赋权更高,所以不要把相同标签堆在示例块末尾。
- 4所有示例的格式要完全一致。 空格、引号或键的顺序不统一,会让模型学到"格式可以商量"。
- 5从真实生产输入中取示例。 手写的干净示例,会让模型期待它实际永远收不到的干净输入。
- 6永远不要把真实客户数据贴进提示词模板。 请做匿名化或使用合成数据:少样本块和代码一样会被存储、版本管理和共享。
少样本每次调用都要花 token
少样本示例不是一次性的搭建成本——每一次请求都会把它们作为输入 token 重新发送。 五个约 120 token 的示例,每次调用要多出约 600 个输入 token:测试阶段可以忽略,月调用量百万级时就很可观。
这正是先测零样本基线的现实理由。如果零样本已经达到你的准确率门槛,少样本什么都没带来,却会持续产生账单。
🔍 把示例块缓存起来
在多次调用之间保持不变的少样本块,是提示缓存的理想对象。Anthropic、OpenAI 和 Google 都对缓存命中的输入给出大幅折扣——Claude 的 prompt caching 最高可达 90%——这基本消除了在大流量管线中反对少样本的成本理由。
推理模型缩小了零样本的差距
强力的指令微调,已经补上了少样本提示过去在前沿模型上换来的大部分准确率优势。 在 Claude Opus 5、GPT-5.6 和 Gemini 3.1 Pro 上,一条写得足够精确的零样本指令,如今在许多通用任务上已能与少样本持平——但这种收敛并不适用于所有模型。
少样本仍然值回 token 的地方在于格式与词表:自有标签体系、内部结构、公司语气,以及模型在预训练中从未见过的边缘情况。而在更小或本地部署的模型上,少样本依然是不做微调时最有效的准确率杠杆。
模型类别 | 零样本表现 | 少样本还有用吗 |
|---|---|---|
| 前沿推理模型(Claude Opus 5、GPT-5.6、Gemini 3.1 Pro) | 通用任务上很好 | 主要用于输出格式、公司语气和自有标签体系 |
| 前沿非推理模型(Claude Sonnet 5、Gemini 3.8 Flash) | 良好 | 有用——适用于窄领域和严格结构 |
| 小型托管模型(Claude Haiku 4.5、Gemini 3.5 Flash-Lite) | 专业任务上不稳定 | 有用——通常是单项收益最大的准确率提升 |
| 本地开源权重 7–30B(Qwen3 8B、Llama 4 Scout、Gemma 4) | 波动较大,容易跑偏格式 | 有用——往往决定输出可用还是不可用 |
常见错误
大多数少样本失败是流程问题,而不是模型问题。 加了示例反而变差的情况,多数都能归到下面这五条。
❌ 还没测零样本基线就先加示例
Why it hurts: 你会一直为输入 token 付费,却不知道这些示例究竟有没有带来收益。
Fix: 先用零样本跑 50 个测试样例并记录准确率,之后再加示例并重新测量。
❌ 所有示例都是同一个标签
Why it hurts: 模型会把这种失衡读作先验概率,在真实输入上过度预测那个类别。
Fix: 让各类别在示例中保持平衡,并打乱顺序,避免相同标签相邻。
❌ 示例与书面指令相互矛盾
Why it hurts: 当指令和示范不一致时,模型通常会悄悄按示范来做。
Fix: 每次改动后都把指令和每个示例对照重读;把示例当作规范来对待。
❌ 示例比真实输入长得多或干净得多
Why it hurts: 模型会学着期待整洁的输入,面对实际收到的杂乱文本时表现下降。
Fix: 从生产流量中抽取示例,也要包含那些"难看"的样本。
❌ 把真实客户数据留在示例块里
Why it hurts: 提示词模板会被版本管理、共享和记录日志,其中的个人数据会直接变成合规风险。
Fix: 在示例进入存储模板之前,逐条做匿名化或替换为合成数据。
PromptQuorum 如何帮你做选择
PromptQuorum 是一款多模型 AI 分发工具,让你在同一个地方跨多家服务商测试零样本和少样本提示词。 你可以把同一条纯指令提示词和同一条带示例提示词,同时发给 GPT-5.6、Claude Opus 5、Gemini 3.1 Pro 等模型并排比较。
在 PromptQuorum 中,你可以:
- 用 Single Step、RTF 或 CO-STAR 等框架编写零样本提示词,快速建立基线。
- 在需要更强控制时,把代表性示例嵌入 SPECS 或 Google 提示指南等框架,升级为少样本提示词。
- 把两个版本都存为模板,然后跨模型、跨时间比较准确率、延迟和 token 成本。
如何在零样本与少样本之间做选择
- 1对于常规、直接的任务,先用零样本(不给示例)。 例如:"把这条评价分类为正面或负面。"如果准确率够用,零样本更快也更便宜。
- 2当零样本表现不佳(准确率或质量低于 80%)时,加入 2 到 5 个少样本示例。 给模型看 2–3 条正面和 2–3 条负面评价及其正确标签。少样本靠范例来教。
- 3对于差别细微或模式罕见的任务,用 5 到 10 个示例。 如果任务涉及识别反讽、有害偏见或行业细节,多给示例会有帮助。
- 4选择能覆盖预期输入范围的示例。 若要分类商品评价,就把热情、平淡和负面的都包含进来,不要只展示简单情况。
- 5在投入生产前,先在测试集上衡量少样本的收益。 用同一条提示词分别以 0 个和 5 个示例跑 50 个样例。若少样本带来 10 个百分点以上提升,就保留示例;若提升不足 5%,就继续用零样本。
- 6少样本上线后,把示例块缓存起来并每季度复查一次。 过期示例会悄悄固化你的产品早已不再使用的类别和格式。
常见问题
多少个示例才算"少样本"?
通常是 2 个到 10 个左右。只给一个示例叫单样本(one-shot)。收益一般在 8 个示例左右趋于平缓,再往上主要是为递减的回报支付输入 token。如果你需要几十个示例才能达到准确率目标,那微调通常是更合适的工具。
少样本提示和微调是一回事吗?
不是。少样本提示属于上下文学习——示例只在一次调用中存在于提示词里,不会改变模型本身。微调会更新权重,并在之后所有调用中持续生效。少样本的成本是每次请求的输入 token;微调的成本是一次训练加上一个需要托管的专属模型。
在推理模型上,少样本提示还有用吗?
就纯准确率而言不如从前,但在格式方面比大多数人预想的更有用。在 Claude Opus 5、GPT-5.6 和 Gemini 3.1 Pro 上,一条精确的零样本指令在通用任务中往往已能与少样本持平。但当你需要精确的 JSON 结构、自有标签词表或特定的公司语气时,给示例仍然是最可靠的办法。
为什么加了示例之后输出反而更差了?
通常是标签失衡、示例与指令矛盾,或格式不统一。如果多数示例共用一个标签,模型就会过度预测它;如果某个示例与你的书面指令冲突,模型往往会听示例的;如果示例比真实输入更干净,模型面对实际收到的杂乱文本时表现会下降。
少样本示例的顺序重要吗?
重要。模型对靠后的示例赋权更高,因此以三个相同标签结尾的示例块,会把预测拉向那个标签。请让类别交错排列,并在任何一次重排后重新测试——顺序效应足以让准确率变动好几个百分点。
大规模使用少样本时如何控制成本?
用提示缓存。静态示例块在每次调用中都完全相同,是理想的缓存对象——Anthropic、OpenAI 和 Google 都对缓存命中的输入按大幅折扣计费,Claude 的 prompt caching 最高可省约 90%。把示例放在提示词最前面,让被缓存的前缀保持稳定。
少样本可以和思维链(Chain-of-Thought)提示结合吗?
可以,而且这是最强的组合之一。少样本思维链意味着你的示例展示的是推理步骤,而不只是最终答案。它比单用任一技术消耗更多输出 token,但在多步骤任务上,通常比零样本的"一步一步思考"更可靠。
参考资料与延伸阅读
- Brown, T., Mann, B., Ryder, N., et al. (2020).《Language Models are Few-Shot Learners》NeurIPS 2020. arXiv:2005.14165 —— 首次把少样本、单样本和零样本确立为提示范式的论文。
- Zhao, Z., Wallace, E., Feng, S., Klein, D., & Singh, S. (2021).《Calibrate Before Use: Improving Few-Shot Performance of Language Models》ICML 2021. arXiv:2102.09690 —— 关于示例顺序中的多数标签偏差与近因偏差。
- Lu, Y., Bartolo, M., Moore, A., Riedel, S., & Stenetorp, P. (2022).《Fantastically Ordered Prompts and Where to Find Them》ACL 2022. arXiv:2104.08786 —— 关于少样本准确率对示例顺序的敏感性。
- Min, S., Lyu, X., Holtzman, A., et al. (2022).《Rethinking the Role of Demonstrations》EMNLP 2022. arXiv:2202.12837 —— 证据表明示例的格式与输入分布比标签是否正确更重要。
- Anthropic《Prompt caching》Claude 平台文档 —— 针对少样本块等静态提示前缀的缓存输入计价说明。
