先这样答
Few-shot 是在提示词里放几组输入输出示例,让模型照着模式处理新输入。数量上两到五个是常见区间:太少模式立不住,太多收益递减还占上下文。现在的模型很多任务零示例就能做对,所以先试零示例,格式不稳、风格要求高时再加示例。
挑示例看三条:覆盖面、质量、格式。覆盖面指示例要代表真实输入的分布,典型情况和容易出错的边界情况都要有;质量指示例答案必须逐条核对,示例里的错误会被模型一起学走;格式指示例的写法必须就是你要的输出样子,模型复刻格式比复刻内容更严格。顺序也有影响:靠近输入末尾、和当前问题更相似的示例,对输出的影响更大,生产环境要固定顺序,改顺序要当成一次变更来测试。
总结一句:示例的价值在于示范格式和模式,不在于教知识;知识靠检索或训练补,格式才靠示例立。
面试官会怎么追问
- 「示例越多效果越好吗?」 不是。收益很快递减,示例还持续占用上下文、推高每轮成本。格式类任务两三个规范示例通常就够,宁可精选也不要堆数量。
- 「示例答案给错了会怎样?」 模型会跟着错。Few-shot 本质是模式模仿,示例答案就是模仿对象,所以要按正式答案的标准逐条审,不能拿草稿当示例。
- 「顺序要不要固定?」 要。顺序变化会导致输出波动,位置靠后、与输入更相似的示例影响更大。上线后固定示例顺序,任何顺序调整都跑一遍回归再发。
回答的坑
- 用示例硬教模型新知识。示例教的是格式和模式,事实性内容要靠检索或微调,堆例子解决不了知识错误。
- 示例格式随手写。模型会严格复刻示例的标点、字段名和结构,示例格式就是输出格式,写错就跟着错。
同系列的题
—— 本题完 ——