Few-shot 与上下文学习

LLM 与 Prompt 基础入门4讲解 2

few-shot 不更新参数,只把任务分布锚定到示例附近,效应是双向的:收敛(格式统一、边界清晰)与收窄(多样性与泛化被压掉)。能用结构化输出表达的格式就不该再堆示例;提示词改动要做消融验证,否则分不清是示例起效还是运气。

也叫:few-shot · 少样本 · zero-shot · in-context learning · 上下文学习 · ICL · 提示词模式

原理拆解出自 T1-1

收敛和收窄,是同一个动作给的
few-shot 在做的事只有一件:把任务分布锚定到示例附近

没有示例
模型的可行输出空间格式不统一,但覆盖广
给了 5 个示例
锚定到示例附近任务分布被拉过去
一个动作,两个效应
收敛 · 好格式统一、边界清晰
收窄 · 坏探索空间被限制住
天平往哪边倒
老模型:收敛更划算默认输出太发散
新模型:翻过来了格式和判断力已经够好
于是转向
更有表达力的接口枚举值本身就在提示用法
few-shot 起反作用的三种典型
形态它在做什么看得见的症状
标签偏置与顺序敏感示例里某一类占多数,模型倾向输出那一类最后一个示例的影响通常最大
示例污染把示例中的具体内容当成可用素材抄进结果开篇那个凭空出现的公司名
覆盖诱导遇到示例没覆盖的输入形态,硬套最接近的那个示例两栏简历被按单栏抽

CoT 的机制没变,处境变了。2022–2024 年它把「一步到位」的映射拆成多步,等于给模型更多计算步数,中间结果还显式写进上下文供后续引用;现在模型内部已经在跑同一件事,你再规定路径就是把它限制在你想到的那一条上 —— 更糟的是它容易把这套流程当成输出格式来满足。

判断天平往哪边倒,只看一件事:模型自己的默认输出够不够好。老模型不够,收敛的收益压过收窄的损失;新模型够了,同一批示例剩下的就只有限制。

few-shot 在做什么:把任务分布锚定到示例附近。

原文示意
        没有示例                          给了 5 个示例
   ┌────────────────────┐           ┌────────────────────┐
   │  模型的可行输出空间  │           │ ███  锚定区域       │
   │   ·  ·   ·   ·  ·  │   ────►   │ ███  · ·           │
   │  ·   ·  ·   ·   ·  │           │ ███       ·        │
   └────────────────────┘           └────────────────────┘
     格式不统一,但覆盖广              格式统一了,但覆盖也窄了

这张图解释了 few-shot 的双向效应:收敛(好——格式统一、边界清晰)和收窄(坏——探索空间被限制住)。老模型的默认输出太发散,收敛的收益远大于收窄的损失;新模型本身格式和判断力已经够好,天平就翻过来了。官方的实践结论正是这个方向:给示例反而把新一代模型约束在了更窄的探索空间里,于是从「给示例」转向了「设计更有表达力的接口」——比如把状态定义成一个明确的枚举,枚举值本身就在提示用法,比三个示例更省、更准。

few-shot 起反作用的三种典型

  1. 标签偏置与顺序敏感:示例里某一类占多数,模型会倾向输出那一类;而最后一个示例的影响通常最大。
  2. 示例污染:抽取、改写类任务里,模型会把示例中的具体内容当成可用素材抄进结果。开头那个「凭空出现的公司名」就是这个。
  3. 覆盖诱导:遇到示例没覆盖的输入形态,模型会硬套最接近的那个示例,而不是老老实实按真实结构处理。

CoT 为什么曾经有效:把一个「一步到位」的映射拆成多步,等于给模型更多的计算步数去逼近答案,同时把中间结果显式写进上下文供后续步骤引用。这个机制在 2022–2024 年是真实有效的。

为什么现在可能有害:推理模型已经在内部做同一件事。你再在提示词里规定路径,等于把它限制在你想到的那一条上;更糟的是,模型容易把这套流程当成输出格式来满足——认认真真列了个清单,看起来很有条理,实际推理被压缩掉了。

所以需要划一条线,避免矫枉过正:

你在规定什么 2026 年的判断
推理过程(先 A 再 B 再检查 C) 多半负优化
输出结构(返回哪些字段) 仍然有效,且应交给结构化输出去硬保证(T1-2
领域约束与口径(只有你知道的事) 必须给,模型推不出来

一句话:别教它怎么想,要告诉它想什么、以及结果长什么样。

以上节选自T1-1 Prompt 基本模式:few-shot 与 CoT 的有效边界,读全文能看到前后语境。

延伸阅读

考这个知识点的题1

会连带问到3