标准回答
区别:Zero-shot 只在 prompt 里写清楚任务要求,让模型直接作答;Few-shot 则额外提供几组示范样例(demonstrations),模型通过In-Context Learning从示例中归纳出任务模式、输出格式与风格——注意这是推理时的「临时学习」,不会修改模型参数,与微调有本质区别。
何时用 few-shot:
- 需要固定输出格式(如 JSON、特定标签体系、固定字段顺序)。
- 任务定义模糊或主观(情感分级、内容分类的边界),用示例界定标准比文字描述更精确。
- 存在领域术语或特殊约定,示例能传递隐性规则。
- Zero-shot 结果不稳定或偏离预期时,加示例可显著提升一致性。
实践要点:示例要覆盖典型与边界情况、保持格式统一、注意顺序与样本均衡(避免标签偏置);示例会占用上下文窗口与 token 成本。配合 Chain-of-Thought 可做 few-shot CoT 提升推理任务表现。详见 Prompt 工程实践。
常见误区
⚠️ 常见踩坑
Few-shot 不是微调——它不更新权重,只在当前 prompt 生效。示例并非越多越好:过多会挤占上下文、增加成本,且收益递减;2~5 个高质量示例通常已足够。
追问
追问 1:Few-shot 和微调(fine-tuning)有何本质区别?
Few-shot 在推理时通过 prompt 中的示例临时引导,不改动模型参数,灵活但占 token、每次请求都要带示例;微调通过梯度更新真正改变权重,效果持久、推理时无需示例,但需要训练数据、算力和迭代成本。数据少、需求多变用 few-shot,数据充足、任务固定用微调。
追问 2:为什么 few-shot 示例的顺序会影响结果?
模型对示例存在位置偏置(recency/majority bias),靠近问题的示例和占多数的标签会被过度倾向。实践中应打散标签分布、避免同类标签连续堆叠,并对顺序做敏感性测试。
追问 3:示例数量是越多越好吗?
不是。收益随数量递减,过多示例会挤占上下文窗口、抬高延迟与成本,甚至引入噪声。通常 2~5 个覆盖典型与边界情形的高质量示例即可,质量比数量更关键。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
📚 知识库