标准回答
定义
上下文学习指模型仅依据 prompt 里提供的示例或任务说明,就能在推理时完成新任务,整个过程不进行任何梯度更新、不改变模型权重。给几条范例叫 few-shot,只给指令叫 zero-shot。
为什么不更新参数也能「学」
这里的「学」并非真正训练,而是预训练习得的模式补全能力在起作用。模型在海量文本上学会了「根据前文推断后续模式」,当 prompt 里出现若干「输入→输出」范例时,它把这些范例当作上下文线索,推断出隐含的任务规律,再按同样模式补全新输入的答案。
与微调的区别
ICL 是一次性的前向推理行为:换一个对话、清空上下文,「学到」的东西就消失,不会沉淀到权重里。微调则通过梯度下降把能力固化进参数,持久但成本高。配合思维链等技巧,ICL 还能进一步提升复杂任务表现,详见 Prompt Engineering 最佳实践。
常见误区
⚠️ 常见踩坑
别说「上下文学习会更新/微调模型」——它完全不改权重,效果不跨会话保留;也别把 few-shot 范例数量越多越好当作铁律,过多范例可能超出上下文窗口或引入噪声,反而降低效果。
追问
追问 1:few-shot 示例的顺序和选择会影响结果吗?
会,且影响显著。示例的选择、顺序甚至标签分布都会改变输出,这种敏感性是 ICL 的已知弱点。实践中可用与查询语义相近的示例、平衡标签、固定较稳健的顺序,或多次采样取多数来降低方差。
追问 2:上下文学习和思维链(CoT)是什么关系?
CoT 是 ICL 的一种增强用法:在 few-shot 范例里展示推理步骤,引导模型在作答前显式推理,从而提升数学、逻辑等复杂任务表现。CoT 依托 ICL 的模式补全机制,本质仍是推理时行为、不改权重。
追问 3:为什么有研究认为 ICL 类似「隐式梯度下降」?
部分理论工作发现,Transformer 在前向计算中处理上下文示例的方式,在某些设定下可近似一次梯度下降更新。这是对 ICL 机制的解释性假说,说明模型可能在激活层面模拟了「学习」,但权重始终未变。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。