示例选择(Few-shot Example Selection)指的是:在给大模型做少样本提示(few-shot prompting)时,从手头一堆可用示例里,挑出与当前问题最匹配的那几个放进提示词——而不是随便抓几个,或者把所有示例都塞进去。
打个比方:你要教新同事写客户回复邮件。你不会把公司十年的邮件全倒给他,也不会随手抽三封。你会挑两三封"跟这单客户情况最像"的邮件:同样是催货、同样是老客户、同样的语气。他看一眼就懂了分寸。反过来,你拿一封投诉安抚邮件当范例,让他照着写报价邮件,他很可能学歪——格式对了,姿态全错。
大模型也是这样"学"的。它并没有真的更新参数,只是在上下文(context)里照着示例的格式、标签和推理套路往下走,这个现象叫AI 词典:上下文学习">上下文学习(in-context learning)。所以示例的内容、顺序、数量都会影响输出质量。
具体来说,影响效果的因素大致有这些:
| 因素 | 说明 | 常见做法 |
|---|---|---|
| 相似度 | 示例的输入是否和当前问题同类 | 用向量(embedding)算距离,取最接近的几条 |
| 多样性 | 全是同一种情况,模型会以为只有这一种答案 | 既给正例,也覆盖典型边界情况 |
| 数量 | 多了不一定更好,噪声和无关信息会分散注意力 | 通常 2~5 条够用,以实测为准 |
| 顺序 | 靠后的示例往往影响更大 | 把最贴切、最标准的放后面 |
要和相邻概念分清楚:少样本提示回答的是"给不给例子";示例选择回答的是"给哪几个例子"。而微调(fine-tuning)是改模型权重,属于长期训练;检索增强生成(RAG)是把外部文档塞进上下文当"事实依据",示例选择塞进去的则是"输入—输出配对",是当"模仿样板"。两者形式很像,目的不同。
对从业者的实际意义:
1. 别只盯着提示词的措辞,先把示例库建起来。按任务类型打标签,用相似度检索动态挑示例,往往比反复改句式收益大。
2. 宁精勿多。先保证每条示例格式统一、答案正确,再去加数量。
3. 做成可评估的小流程:固定一批测试问题,比较"随机取示例"和"检索相似示例"的差别。不同任务的最优数量不一样,以你自己的评测结果为准,别照搬别人的数字。
对普通职场人也有个朴素启示:向 AI 提问时,给一两个跟眼前这件事最像的例子,通常比给一堆泛泛的背景更管用。
