核心要点

  • 能下定义:模型仅凭 prompt 中给出的少量示例(few-shot)或任务描述,在不更新任何权重的前提下完成新任务

  • 能讲清「为何不更新参数也能学」:这本质是预训练学到的模式补全能力——模型把示例视为上下文,推断出隐含的任务规律并续写答案

  • 能区分 zero-shot / few-shot:零示例只给指令,少示例额外给几条输入输出范例提升准确率

  • 能指出它与微调的根本差异:ICL 是推理时行为、临时且不持久;微调改权重、持久

标准回答

定义

上下文学习指模型仅依据 prompt 里提供的示例或任务说明,就能在推理时完成新任务,整个过程不进行任何梯度更新、不改变模型权重。给几条范例叫 few-shot,只给指令叫 zero-shot。

为什么不更新参数也能「学」

这里的「学」并非真正训练,而是预训练习得的模式补全能力在起作用。模型在海量文本上学会了「根据前文推断后续模式」,当 prompt 里出现若干「输入→输出」范例时,它把这些范例当作上下文线索,推断出隐含的任务规律,再按同样模式补全新输入的答案。

与微调的区别

ICL 是一次性的前向推理行为:换一个对话、清空上下文,「学到」的东西就消失,不会沉淀到权重里。微调则通过梯度下降把能力固化进参数,持久但成本高。配合思维链等技巧,ICL 还能进一步提升复杂任务表现,详见 Prompt Engineering 最佳实践

常见误区

⚠️ 常见踩坑

别说「上下文学习会更新/微调模型」——它完全不改权重,效果不跨会话保留;也别把 few-shot 范例数量越多越好当作铁律,过多范例可能超出上下文窗口或引入噪声,反而降低效果。

追问

追问 1few-shot 示例的顺序和选择会影响结果吗?

会,且影响显著。示例的选择、顺序甚至标签分布都会改变输出,这种敏感性是 ICL 的已知弱点。实践中可用与查询语义相近的示例、平衡标签、固定较稳健的顺序,或多次采样取多数来降低方差。

追问 2上下文学习和思维链(CoT)是什么关系?

CoT 是 ICL 的一种增强用法:在 few-shot 范例里展示推理步骤,引导模型在作答前显式推理,从而提升数学、逻辑等复杂任务表现。CoT 依托 ICL 的模式补全机制,本质仍是推理时行为、不改权重。

追问 3为什么有研究认为 ICL 类似「隐式梯度下降」?

部分理论工作发现,Transformer 在前向计算中处理上下文示例的方式,在某些设定下可近似一次梯度下降更新。这是对 ICL 机制的解释性假说,说明模型可能在激活层面模拟了「学习」,但权重始终未变。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。