少样本示例怎么给:数量、顺序与格式
2026-10-19给例子比描述要求更有效,但也更容易出错
要让模型输出特定格式,最有效的办法不是描述格式,而是给一个格式正确的例子。这叫少样本(few-shot)提示。但例子给错了反而更糟:格式不一致会让输出更混乱,例子有偏会让模型只学会你举的那一种情况。
下面按数量、顺序、格式、内容四个维度说清楚。
一、给几个合适
| 示例数 | 适用情况 | 说明 |
|---|---|---|
| 0 个(零样本) | 任务简单、格式自由 | 先试这个。能用就不要加例子 |
| 1-2 个 | 只需要固定格式 | 性价比最高,多数场景够用 |
| 3-5 个 | 任务有细微判断标准,需要示范"怎么判断" | 常见的最优区间 |
| 5 个以上 | 很少需要 | 占用上下文、成本上升,且容易让模型过度模仿 |
经验上3 个是性价比的拐点:第一个示范格式,第二个示范另一种情况,第三个示范边界情况。再加更多,收益通常小于成本。
二、顺序会影响结果
模型对最后出现的例子更敏感(近因效应)。这带来两条实用规则:
- 把最典型的例子放在最后,模型会倾向于按它来组织输出。
- 不要把最特殊的例子放最后,否则模型会把那个特例当成通用规则。
如果发现输出总是莫名其妙地模仿某一个例子,先看那个例子是不是在末尾。
三、格式必须完全一致
这是最容易翻车的地方。你希望输出长什么样,例子就必须长什么样,一个字符都不能差。
- 例子用了「1. 2. 3.」编号,输出要求也是编号,那例子里就不能混用「•」。
- 例子有字段名,字段名的大小写、标点、冒号前后空格都要统一。
- 例子之间有细微不一致时,模型会随机挑一种,输出自然就不稳定。
如果你发现输出格式老是飘,第一件事是逐字符对比几个例子。
四、例子要覆盖什么
好的示例集不是随机挑几个,而是刻意覆盖三类:
- 标准情况——最常见的输入长什么样。(1-2 个)
- 边界情况——信息不全时该怎么输出、输入格式混乱时该怎么输出。这一类最容易被忽略,也最能提升稳定性。
- 反例——明确告诉模型"这样是错的"。反例要用同样的格式写出错误示范,并标注为什么错。
反例的写法示例:
【错误示范】
输入:请分析这个市场
输出:该市场前景广阔,潜力巨大,有望快速增长。
(错在:全是形容词,没有任何可验证的信息。正确做法是明确指出"缺少可引用数据来源"。)
【正确示范】
输入:请分析这个市场
输出:材料中未提供市场规模数据与来源。可用的信息只有目标用户为高校学生。
待补充:市场规模、增速、数据来源。
五、完整结构
【任务】(一句话说清要做什么)
【输出格式】(字段或结构说明)
【示例 1】
输入:(典型输入)
输出:(完全符合格式的输出)
【示例 2】
输入:(另一种情况)
输出:(完全符合格式的输出)
【示例 3/反例】
输入:(边界或错误情况)
输出:(正确输出,或错误输出并注明错在哪)
【待处理输入】
(真实输入)
常见误区
- 示例和输出要求矛盾。要求里写"不超过 50 字",示例却有 120 字——模型会跟示例走。
- 例子太长。每个例子塞进整篇文档,占满上下文,模型反而抓不住格式。示例应该只保留体现格式的最短片段。
- 例子内容偏向某一个领域。三个例子全是同一行业,模型会倾向于把那个行业的术语带到无关输入上。
- 只给正例。不给反例,模型不知道边界的另一侧在哪。
- 例子顺序固定为"从易到难"。难度顺序不如"典型放最后"重要。
延伸阅读
示例属于约束层的一部分,整体结构见角色/任务/约束三分法。加完示例后要判断是否真的变好,方法见提示词版本管理与效果对比。