一句话定义:上下文学习(In-Context Learning,ICL)指大语言模型不修改任何参数,只在提示词里给出几个示例或说明,就能在新任务上直接给出像样答案的能力。
展开讲清原理:常规机器学习像重新培训员工:要调权重、跑训练。ICL 更像给一位见多识广的同事递一张便签:“把下面句子翻成英文:苹果→apple;香蕉→banana;现在翻‘葡萄’。”他并没有被重新培训,只是从便签里读出了任务模式:输入中文水果,输出英文单词。模型在预训练时见过海量文本,其中包含大量“示例→答案”的模式,也学会了根据上下文补全。你给的几个例子,相当于把任务坐标写进了当前对话,让模型在生成每个词时,条件概率偏向符合示例规律的方向。它不是在权重里“学会”新技能,而是在当前激活中临时拼出一个任务解法。
和相邻概念的区别:微调(Fine-tuning)会更新参数,把任务写进模型本身;ICL 只改输入,不改参数。提示工程(Prompt Engineering)是设计输入的方法,ICL 是其中一种现象或能力。零样本(Zero-shot)是只给指令不给例子;少样本(Few-shot)是给几个例子,常被当作 ICL 的典型形式。
| 维度 | 上下文学习 | 微调 |
|---|---|---|
| 是否更新权重 | 否 | 是 |
| 数据放哪 | 提示词上下文 | 训练集 |
| 生效时间 | 当场 | 训练后 |
| 门槛 | 较低,受上下文长度限制 | 较高,需数据和算力 |
| 适合场景 | 快速试任务、统一格式、抽取改写 | 稳定专精、大规模一致 |
对从业者和普通人的实际意义:对从业者,ICL 意味着很多任务可以先不训练模型:整理分类标签、统一输出格式、做信息抽取和改写,先用几个高质量示例验证可行性。示例要干净、覆盖边界、顺序和格式一致;示例越多不一定越好,太长会挤占上下文,也可能引入噪声。对普通人,学会把要求、例子、输出格式写清楚,往往比反复说“你聪明点”更有效。ICL 也有边界:它不保证真正理解,可能学错示例里的偏见,复杂推理和最新事实仍需外部工具或微调。涉及具体模型能力、上下文长度和价格,以官方页面为准。
