zero-shot 成了今天所有模型交互的默认形态;few-shot 则从”通用涨分技巧”退守成几个特定场景的刚需工具。
一、发展始末:从 GPT-3 到推理模型的完整链条
先把主线摆出来(引用数为 Papers With Code 2026-11 口径):
| 时间 | 论文 | 干了什么 | 引用 |
|---|---|---|---|
| 2020-05 | GPT-3 | 命名 zero/one/few-shot,不更新参数靠上下文做任务 | 6.4 万 |
| 2021-02 | CLIP | 视觉谱系:零样本迁移,ImageNet 追平有监督 ResNet-50 | 5.8 万 |
| 2021-09 | FLAN | 指令微调,教会模型”看懂题目” | 5.5 千 |
| 2022-01 | CoT | few-shot 推理巅峰:8 个示例问倒基线 | 2.3 万 |
| 2022-03 | InstructGPT | RLHF 对齐,零样本成为默认交互形态 | 2.5 万 |
| 2022-05 | Zero-shot CoT | 一句咒语,零样本推理翻几倍 | 8.2 千 |
| 2022-09 | Induction Heads | 机制研究:找到 ICL 的内部回路 | 1.1 千 |
| 2022-12 | Why Can GPT Learn In-Context | 理论:ICL 等价于隐式微调 | 265 |
| 2023-04 | SAM | 视觉提示式分割,两条谱系在此合流 | 1.6 万 |
| 2023-05 | USP | 自生成示例:模型给自己造演示 | 15 |
| 2023-10 | Analogical Reasoners | “先回忆相似题,再解新题” | 181 |
| 2024-04 | Many-Shot ICL | 长上下文时代:数百到千级示例 | 272 |
| 2025-01 | DeepSeek-R1 | 推理模型:纯 RL 让思考内生化 | 5.3 千 |
这条线可以切成三段读。整个过程里最有代表性的一张图,是 CoT 论文的 Figure 1——同一道算术题,标准提示让模型直接给答案,思维链提示让模型先写中间步骤:

图源:Wei 等,Chain-of-Thought Prompting(NeurIPS 2022)Figure 1——8 个这样的带步骤示例,把 540B 模型推过了微调加验证器的 GPT-3。
2020-2022 上半年:概念奠基。GPT-3 用 1750 亿参数证明了一件事:不给任何训练样本、只在 prompt 里放几个示例,模型就能完成任务——它给这个现象起了一整套名字(zero/one/few-shot),也让”上下文学习”(ICL)成了研究对象。几乎同时,CLIP 在视觉侧走出另一条零样本路:4 亿图文对训出对齐空间,分类器都不用训练,把类别名当文本描述就能分类。FLAN 和 InstructGPT 随后回答了”怎么让零样本变强”:前者把 60 多个任务 verbalize 成指令做微调,137B 的模型零样本在 25 个任务里 20 个超过 175B 的 GPT-3;后者用人类反馈对齐,1.3B 参数的模型输出被人类偏好胜过 175B 的 GPT-3——从这以后,”直接用自然语言下指令”成为产品默认,zero-shot 赢下了第一局。
2022 下半年-2023:深挖”为什么”。技巧层面到了顶峰——CoT 用 8 个带推理过程的示例把 540B 模型在 GSM8K 上推过微调加验证器的 GPT-3;Zero-shot CoT 证明连示例都不要,一句”Let’s think step by step”就能让 MultiArith 从 17.7% 到 78.7%。机制研究同步展开:Anthropic 找到诱导头——实现 [A][B]…[A]→[B] 补全回路的注意力头,与 ICL 能力在同一点涌现;清华与微软的团队证明 attention 存在梯度下降的对偶形式,ICL 在功能上等价于一次隐式微调。也是在这个时期,研究开始问”人写的示例是不是必需的”——USP、SEC、Analogical Reasoners 先后让模型自己生成演示。
2024-2025:吸收与收官。长上下文把 few-shot 的天花板抬到”数百到千级示例”(many-shot),且效果能覆盖预训练偏置、追平微调;但同期的 DeepSeek-R1 用纯强化学习让推理能力内生涌现——模型自己会思考了,”给示例教它推理”完成历史使命。至此,prompting 作为研究前沿正式退潮。
二、两个词,各有两条谱系
读这个领域的论文,第一个坑是”zero-shot”这个词有两条独立的技术谱系。
NLP 谱系:上下文学习。GPT-3 定义的口径,区别只在 prompt 里给不给示例,参数全程不动:
| prompt 构成 | 模型在干什么 | |
|---|---|---|
| 零样本 | 任务描述 + 输入 | 纯靠指令理解任务 |
| 单样本 | 描述 + 1 个示例 | 现场照猫画虎 |
| 小样本 | 描述 + K 个示例(通常 2~32) | 从示例归纳格式与规律 |
三种设置的形态,GPT-3 论文的 Figure 2.1 画得最直观——差别只在 prompt 里塞了几个示例,模型本体一个参数都没动:

图源:Brown 等,Language Models are Few-Shot Learners(NeurIPS 2020)Figure 2.1
视觉谱系:零样本迁移。CLIP 的做法是把类别名拼成文本(”一张{猫}的照片”),用图文相似度当分类器,一次前向出结果,没有”给示例”这一步:

图源:Radford 等,Learning Transferable Visual Models From Natural Language Supervision(ICML 2021)Figure 1。LLM2CLIP 的文本塔升级,提升的正是这条谱系的零样本能力。
两条谱系在 SAM 身上合流了:SAM 自称 zero-shot(提示式分割,不针对特定数据集训练),但它接收的”提示”——几个点、几个框——本质就是上下文示例的视觉形态(SAM 的点/框提示即是)。所以读论文遇到 zero-shot,先分清是”不给示例靠指令”还是”不用微调靠预训练对齐”,数字才不会比错对象。
三、本质:学习发生在激活里,不是权重里
ICL 最反直觉的地方:参数一个都没动,只是上下文变了,”学习”却发生了。机制上至今没有定论,三条主流解释:
诱导头(机制实证)。注意力头实现”上文出现过 [A][B],现在看到 [A] 就输出 [B]”的复制回路;Anthropic 观察到这类头与 ICL 能力在同一点涌现——小模型有强因果证据,大模型有相关性证据。
隐式微调(理论框架)。attention 存在梯度下降的对偶形式:示例先产生”元梯度”,再作用到原模型上得到一个”临时 ICL 模型”——行为上与显式微调多方面相似。这也给工程直觉背书:给示例和微调是同一件事的两个连续谱端,一个改激活、一个改权重。
贝叶斯任务定位。示例帮模型在隐式的任务分布上”定位”到具体任务——示例越典型,定位越准。
另一个工程上重要的观察:这个能力是规模涌现的。GPT-3 论文就发现小模型给示例反而可能更差——连”模仿格式”都不会。这条性质决定了后面所有工程分工。
四、两个方向各自怎么被强化
零样本侧的路线是”教会看题”:FLAN 的指令微调、InstructGPT 的人类反馈对齐,把零样本从”碰运气”做成产品默认。推理类任务再补一句 Zero-shot CoT 的咒语。这条线的终点是推理模型——思考被 RL 内生化了,连咒语都不用念。
小样本侧的路线是”把例题给对”:
示例里带推理过程(CoT):8 个示例推到 SOTA;配 self-consistency 多路投票,PaLM 540B 在 GSM8K 到 74.4%
示例顺序是个超参数:换一下顺序,性能能从接近 SOTA 掉到随机猜水平(原文表述:”the difference between near state-of-the-art and random guess performance”);用熵统计选序能拿 13% 的相对提升。生产上的对应物是 kNN 动态选例——按 query 检索最相似的示例注入 prompt
示例数量上限被长上下文重拉:many-shot 实验到数百千级示例,性能持续上升,还能覆盖预训练偏置(few-shot 做不到),并追平微调——代价是推理成本随示例数线性增长。数据效率上,示例比标注更省:学 sequential parity 任务,8192-shot ICL 的效果,从头训练要多 20 倍的样本才追得上

图源:Agarwal 等,Many-Shot In-Context Learning(2024)Figure A.13
五、热度为什么退了:四条吸收线
论文不再多,是因为这个方向被四条线瓜分吸收了:
推理技巧被推理模型吸收。CoT 的本质是”让模型在输出里展开中间步骤”,o1/R1 谱系直接把这件事变成训练目标(R1 纯 RL 涌现长思考)——用户不再写”step by step”,模型默认就展开。评测口径跟着转向:GPQA、MMLU-Pro 这些新基准用 0-shot CoT 口径,不再依赖人工示例。
知识来源被 RAG 接管。示例本来就不承载事实——示例教的是”怎么答”,不是”答案是什么”。要知识,检索比示例便宜且可靠(RAG 原论文即此立意)。
格式被结构化输出接管。要严格的 JSON,schema 约束解码比示例更硬——示例可能被忽略,约束解码不会。OpenAI 的 structured outputs、vLLM 的 guided decoding 都已生产化。
低垂论文摘完了。各种 prompting 变体的边际收益变薄,这个组合拳打完,审稿人和作者都移向了 RL、agent 和多模态。
这是典型的”研究热点沉淀为默认件”的曲线,dropout 和 batch-norm 走过一模一样的路:2015-2018 年是论文富矿,现在只是每个模型里的一行默认配置。
六、留下的四块阵地
退潮之后,few-shot 在工程上退守到四个场景——都不是情怀,是实测下来示例仍是首选方案的地方:
1. 小模型降本。ICL 增益随模型变小而变大:给足示例的小模型能追平比它大一个量级模型的零样本表现。生产上”小模型 + 精选示例”替代”大模型裸问”是标准的省钱打法,延迟还低。
2. 校准,而不是教学。这是 few-shot 最本质的现代定位:模型早就有能力,示例把输出分布校准到任务上。实证例子:GPT-4 做作文评分,不给校准样本连简单基线都不如,给几条标注样本就追平专用自动评分系统;临床 NER、低资源领域同理——模型懂领域知识,缺的是”这个任务长什么样”。
3. schema 管不到的”什么叫好”。结构化输出能约束字段,约束不了判分尺度、语气、领域惯例、边界 case——这些用示例表达最直接。DSPy 这类框架干脆把”选哪些示例”当成可优化的变量交给程序搜。
4. Agent 轨迹示例。给一两条完整的”观察—思考—工具调用—结果”轨迹当示例,是稳住 agent 行为模式的常用手段——工具调用的格式与节奏,示例比描述传得准。
另外两条边界上的动态值得知道:自生成示例这条线(USP 到 Analogical Reasoners,再到 many-shot 里的 Reinforced ICL)让模型先给自己造几个伪示例再答正式问题——zero-shot 的形态、few-shot 的效果,两个词的边界正在被抹掉;评测口径上 MMLU 至今还是 5-shot,且 2025 年的实测里即便 GPT-4.5 一级的模型,0-shot 换 5-shot 仍普遍 +4 个点上下——few-shot 对前沿模型也没有归零。
七、什么时候给示例:一张决策表
| 场景 | 建议 |
|---|---|
| 严格结构化输出,schema 能表达 | 约束解码 / structured outputs,别用示例 |
| 格式、判分尺度、语气这类 schema 外的要求 | few-shot,2~5 个精选示例 |
| 量大、单次 token 成本敏感 | 微调(SFT 一次摊销,方法见 LoRA),或配 prefix caching |
| 小模型、端侧部署 | few-shot 优先于堆指令 |
| 需要事实与知识 | RAG,示例只管格式 |
| 推理模型(内生思考) | 不需要 CoT 示例,直接问 |
| 新任务可行性验证 | 先 zero-shot,再 few-shot 探顶,再决定要不要微调 |
选例三条原则:格式与目标输出完全一致(示例是格式契约);覆盖边界 case(正常例之外放一个例外例);标签分布平衡(示例里正例占八成,输出就会偏正——这是最常见的隐性偏置)。
八、示例工程的五个坑
示例顺序与选择敏感。同一组示例换个顺序能从接近 SOTA 波动到随机猜,且好顺序不跨模型迁移——上生产前把换序做成一个测试维度。
多数标签偏置与近因偏置。模型倾向跟随示例的答案分布和最近的示例,分类任务选例要平衡标签。
注意力稀释。示例太长会稀释 query 的注意力(lost in the middle),示例要精不要全。
对推理模型可能帮倒忙。已有系统研究”few-shot 什么时候反而有害”——给内生思考的模型塞 CoT 示例,可能把它的思路框死在你的示例路径上。
口径玄机。对比基准分数先对齐 shot 数:MMLU 是 5-shot、GSM8K 历史口径 8-shot CoT、新基准多用 0-shot CoT——口径不一致的比较都是自欺(口径出处:MMLU、GSM8K)。
九、局限
本文的实证数字引自 2020-2025 的论文与 2025-2026 的工程实践资料,这个领域迭代快:推理模型继续进化,many-shot 的经济性随缓存价格变化,自生成示例的边界也在移动。文中”四块阵地”的判断以当下工程共识为准,读时建议对照自己手上的模型实测。
参考
- 2005.14165 — Language Models are Few-Shot Learners — NeurIPS 2020(GPT-3,ICL 的命名之作)
- 2103.00020 — Learning Transferable Visual Models From Natural Language Supervision — ICML 2021(CLIP,视觉零样本谱系)
- 2109.01652 — Finetuned Language Models Are Zero-Shot Learners — ICLR 2022(FLAN,指令微调)
- 2203.02155 — Training language models to follow instructions with human feedback — NeurIPS 2022(InstructGPT,RLHF)
- 2201.11903 — Chain-of-Thought Prompting Elicits Reasoning in Large Language Models — NeurIPS 2022
- 2205.11916 — Large Language Models are Zero-Shot Reasoners — NeurIPS 2022(Zero-shot CoT)
- 2104.08786 — Fantastically Ordered Prompts and Where to Find Them — ACL 2022(顺序敏感)
- 2209.11895 — In-context Learning and Induction Heads — Anthropic 2022(机制:诱导头)
- 2212.10559 — Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers — 2022(ICL = 隐式微调)
- 2304.02643 — Segment Anything — ICCV 2023(SAM,提示式分割)
- 2305.14926 — Universal Self-Adaptive Prompting — 2023(USP,自生成示例)
- 2309.14681 — Are Human-generated Demonstrations Necessary for In-context Learning? — ACL 2024(SEC)
- 2310.01714 — Large Language Models as Analogical Reasoners — 2023(类比提示)
- 2404.11018 — Many-Shot In-Context Learning — 2024(长上下文 few-shot)
- 2501.12948 — DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning — 2025(推理模型)